Docker安装Nginx实现反向代理

一、配置文件

    以前的配置文件为一个nginx.conf,新的版本将其分成了两个,default.conf 和 nginx.conf,为通过数据卷映射的方式,但没有在github上找到分开的这两个文件,因此先通过直接运行的方式得到这两个文件。

  1. 先普通方式运行一个nginx容器
    docker run --name my-nginx -p 80:80 -d nginx
    注:阿里云的80端口被占用了,因此要把原有的kill 掉。查看端口pid:netstat -tanlp ,杀掉进程:kill 进程pid
  2. 进入容器,将default.conf 和 nginx.conf两个文件复制到宿主机。
    将容器中的文件拷贝到宿主机:docker cp 容器ID:容器内文件路径 宿主机路径,(**注:**命令在宿主机中执行,冒号前后没有空格)。

二、通过宿主机的配置文件启动

命令:
docker run --name my-nginx -p 80:80 -v /xxx/mynginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /xxx/mynginx/conf/default.conf:/etc/nginx/conf.d/default.conf -d nginx
说明:

  • -v:数据卷绑定(将宿主机的配置文件,与容器内配置文件进行绑定)
  • 注:还可以绑定log等其他文件

三、反向代理

打开 default.conf ,如我们部署在tomcat /webapps/xxx/下的项目,配置如下:

location / {
        root  html;
        proxy_pass http://你的ip:8080/xxx/;
        index  index.html index.htm;
    }

重启nginx

  1. 方式一:通过Docker重启容器:修改的配置文件会生效 docker stop IDdocker start ID
  2. 方式二:在nginx容器内(/usr/local/sbin/)通过nginx -s reload重新加载配置的方式容器会直接停止,然后重新 docker start ID 启动即可。

这样,当我们直接访问nginx所在服务器的ip(由于是80端口),即可直接访问到代理服务器。

  
  
Email : Beyonderwei@Gmail.com
Website : http://beyonderwei.com
  
WeChat:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值