【Docker实践】多域名配置多个网站
程序员文章站
2022-07-12 22:31:52
...
目的
使用docker配置多个域名访问不同目录的网站
环境
window 10 x64
前提
安装docker
安装了nginx镜像(docker pull nginx)
开始
由于我们一般在window上开发程序,所以我这里用的都是window的路径
# 程序在d盘,我们先切换到d盘,回车
C:\Users\administrator>d:
# 查看当前有的镜像
D:\>docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest ae513a47849c 3 weeks ago 109MB
# 创建一个在后台运行的,名称为nginx,宿主机80端口对应容器里80端口,并创建两个目录映射(一个主机配置目录,一个网站数据目录)
D:\>docker run -d --name nginx -p 80:80 -v D:\xing\docker\nginx\conf.d:/etc/nginx/conf.d -v D:\xing\wwwroot:/usr/share/nginx/html nginx
# 向配置目录添加如下两个配置并建立相应目录和测试的index.html文件,向host文件添加web1.com和web2.com两个域名
# conf1.conf
server {
listen 80;
server_name web1.com;
location / {
root /usr/share/nginx/html/web1;
index index.html index.htm;
}
}
# conf2.conf
server {
listen 80;
server_name web1.com;
location / {
root /usr/share/nginx/html/web2;
index index.html index.htm;
}
}
# 如果要添加php脚本请添加如***意fastcgi_pass必须是php的inspect的ip信息,注意修改SCRIPT_FILENAME目录路径
location ~ \.php$ {
fastcgi_pass 172.17.0.2:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
include fastcgi_params;
}
# 向名称为nginx的容器发送脚本命令
D:\>docker exec -it nginx /bin/bash
# 重新加载配置命令
root@730861801de1:/etc/nginx/conf.d# service nginx reload
[ ok ] Reloading nginx: nginx.
测试(略)
至此,docker多域名多网站配置结束
上一篇: tkinter应知应会(二):按钮控件
下一篇: Flutter应知应会(1)