Centos环境下nginx结合docker快速实现一个简易的负载均衡

1、安装并运行nginx:
1)安装:yum install nginx
2)配置nginx开机自启动:
systemctl enable nginx,systemctl start nginx
说明:默认配置文件目录:/etc/nginx/nginx.conf,默认页面目录:/usr/share/nginx/html,默认log目录:/var/log/nginx

2、docker拉取nginx镜像:docker pull nginx

3、创建两个站点:/mydata/test1,/mydata/test2/,每个站点下面创建一个名为index.html文件,在第一个html中输出this is nginx1,在第二个html中输出this is nginx2

4、通过docker运行两个nginx服务器的容器,并分别将静态目录映射到我们刚刚创建的目录中
docker run --name nginx-test -d -p 8080:80 -v /mydata/test1:/usr/share/nginx/html nginx #第一个,将8080端口映射到容器中的80端口<br/>docker run --name nginx-test1 -d -p 8081:80 -v /mydata/test2:/usr/share/nginx/html nginx #第二个,将容器中的8081端口映射到容器中的80端口
5、修改宿主机中的nginx的配置文件
在http{}中添加如下代码
upstream myweb{<br/>server 127.0.0.1:8081 weight=5;<br/>server 127.0.0.1:8082 weight=1;<br/>}
6、进入conf.d目录,修改default.conf(conf.d中没有此文件可以新建,文件名随意,后缀必须是.conf)
location / { <br/>root /usr/share/nginx/html;<br/>index index.html index.htm;<br/> proxy_pass http://myweb; #myweb为之前在nginx.conf中upstream后定义的名字<br/>}
7、保存后退出,重启服务器:systemctl restart nginx,这时就可以通过http://localhost或者http://127.0.0.1看见效果了,如果不能,则继续看下面

8、补充很关键的一个地方(折腾了好久)
查看错误日志:tail -n 10 /var/log/nginx/error.log,会发现提示访问8080和8081 Permission denied,也就是权限不够
更改一下权限就好了:setsebool -P httpd_can_network_connect 1,更改后记得重启一下nginx服务:systemctl restart nginx

转载于:https://blog.51cto.com/3058076/2368536

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值