yum install nginx
systemctl enable nginx,systemctl start 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