「Docker」配置Nginx反向代理

「Docker」配置Nginx反向代理_第1张图片

功能需求

同一主机上有多个web项目,需要将不同的宿主机端口绑定到对应域名

解决方案

宿主机可以直接配置Nginx来实现,配置各个域名对应的nginx配置文件即可,在这里将反向代理封装进Docker

前期准备

  • 宿主机安装Docker

创建配置文件

nginx配置文件存放在宿主机,直接在宿主机修改配置文件就可以添加新映射,后续不需要进入容器

$ mkdir -p /***/webproxy/conf.d

构建镜像

宿主机80端口与容器80端口映射

$ sudo docker pull nginx
$ sudo docker run -d --name webproxy -p 80:80 -v /***/webproxy/conf.d:/etc/nginx/conf.d nginx:latest

修改配置文件

新建以域名命名的配置文件

$ vim /mnt/donghan/webproxy/conf.d/blog.webmad.net.conf

配置文件内容

server {
    listen 80;
    server_name blog.webmad.net; // 域名
    location / {
       proxy_pass http://***.***.***:8003; // 宿主ip和web项目的端口
      }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

这样就完成了反向代理的域名映射,所有域名只需要解析到宿主机ip即可访问各个web项目

你可能感兴趣的:(「运维」为宕机而生)