首页 > 其他 > 详细

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

时间:2019-03-26 10:26:56      阅读:126      评论:0      收藏:0      [点我收藏+]
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

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

原文:https://blog.51cto.com/3058076/2368536

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!