一、下载nginx镜像
官网地址:https://hub.docker.com/_/nginx
#下载镜像 默认为最新版本
docker pull nginx
#下载指定版本
docker pull nginx:版本号
二、部署nginx(挂载部署)
1、#新建目录,存储nginx.conf文件
cd home
mkdir nginx
2、#上传nginx的配置文件放置在此目录下
3、挂载部署
docker run -d --restart=always -p 80:80 -p 81:81 --name nginx -v /home/nginx:/etc/nginx/conf.d nginx:lates
三、部署nginx(不挂载部署)
1、#部署nginx docker run -d --restart=always -p 80:80 -p 81:81 --name nginx nginx:latest
部署完毕之后,需要更改配置文件,有两种方式能更改,随便采用其中一种就行
方法一:
1、上传nginx的配置文件,以/home/nginx为例
2、#先找到nginx的容器id
docker ps
3、拷贝nginx配置文件进容器
sudo docker cp /home/nginx/nginx.conf e0e4fa116d85:/etc/nginx/conf.d/
#e0e4fa116d85 为nginx容器id
4、重启nginx
docker restart nginx
方法二:
#进入nginx容器
docker exec -it nginx bash
nginx.conf配置文件在 /etc/nginx/ 下面,但是你使用vim nginx.conf 或者vi nginx.conf会发现vi或者vim命令没有用
解决办法:apt-get update 完成之后 apt-get install vim
此时你就可以自己定制nginx.con文件了,改好配置文件之后重启容器
备注:一般nginx的默认配置中会导入 /etc/nginx/conf.d/ 文件夹下的后缀名为.conf 的配置文件,
可以直接在 /etc/nginx/conf.d/ 目录下新建自己的配置文件也行,注意文件的后缀名为.conf 。
四、nginx的配置文件
由于没法直接上传文件,我就直接粘贴一段nginx.conf的样例,根据自己需要更改即可,后缀名存储为.conf
server { listen 81; location /aa-service/ { proxy_pass http://127.0.0.1:8082/; proxy_set_header Host $host; proxy_set_header Refer $http_referer; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 500M; } location /bb-service/ { proxy_pass http://127.0.0.1:8083/; proxy_set_header Host $host; proxy_set_header Refer $http_referer; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 500M; } }
listen为监听的端口号,以81为例
location URL匹配特定位置后的设置,以/aa-service/,/bb-service/为例,分别转发到http://127.0.0.1:8082/; 和 http://127.0.0.1:8083/;