功能需求
同一主机上有多个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项目
网友评论