使用docker 安装Nignx的命令如下。先安装复制配置文件后删除,重新构建。
docker ps -a #下载 docker pull nginx #运行 docker -p 80:80 nginx -d nginx #复制配置文件 #在mydata创建nginx,存放nginx相关配置文件 cd mydata mkdir nginx #拷贝nginx容器 etc/nginx下所有文件 到当前目录 docker container cp nginx:/etc/nginx . # 删除nginx docker rm nginx # 重新构建 docker run -p 80:80 --name nginx > -v /mydata/nginx/html: /usr/share/nginx/html > -v /mydata/nginx/logs: /var/log/nginx > -v /mydata/nginx/nginx.conf: /etc/nginx/nginx.conf > -v /mydata/nginx/conf.d: /etc/nginx/conf.d > -d nginx #设置docker 自动重启参数 docker update nginx --restart=always # 重启nginx docker restart nginx二、 配置 1. 域名配置
windows 在hosts 文件中配置了127.0.0.1 -> localhost 的关系。
用switchhosts 配置域名,可对Mac Windows均可配置。
实现ip 到 域名的映射。
- 原理说明
域名 --> Nignx 反向代理 --> 网关 --> 对应服务
在原有配置文件上复制一份后修改。(/mydata/nginx/conf.d/default.conf)配置参数如下:
# 监听端口
listen 80;
listen [::]:80;
server_name cube.com;
# 向location 进行跳转
location /index {
root /usr/share/nginx/html;
}
location / {
# 不走网关时的配置情况
# proxy_pass http://192.168.33.1:8081
# 使用网关的配置情况,分号必须有
# nignx 代理时会将host主机去掉,这里重新增加,否则静态资源访问不了。
proxy_set_header Host $host;
proxy_pass http://cubemall;
}
3 在Nginx配置到网关
在 nginx.conf 总配置文件中,在http 中增加 上游服务器的配置信息。这里是网关服务的运行端口信息。
http {
upstream cubemall{
server 192.168.33.1:8888;
}
}
4 在网关处配置
使用Host 方式来编写
# 商品服务的网关
- id: cubemall_host_route
uri: lb://cubemall-product
predicates:
- Host=cube.com
三、访问测试
浏览器访问cube.com 查看



