欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【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多域名多网站配置结束

参考文档
https://www.jianshu.com/p/6b317192480c