重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
今天小编给大家分享一下如何利用nginx和docker实现一个简易的负载均衡的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
我们提供的服务有:成都网站制作、网站设计、外贸网站建设、微信公众号开发、网站优化、网站认证、齐齐哈尔ssl等。为上1000家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的齐齐哈尔网站制作公司
测试步骤:
1.在服务器中搭建一个nginx服务器并启动
2.在docker中从源中拉一下nginx的官方镜像,docker pull nginx,留着备用
3.在本地目录新建两个文件夹,我这里的新建在/mydata/test1,/mydata/test2/
4.分别在两个test文件夹中新建index.html来标志,在第一个html中输出this is nginx1,在第二个html中输出this is nginx2,
5.通过docker运行两个nginx服务器的容器,并分别将静态目录映射到我们刚刚创建的目录中
[root@catchtouch test2]# docker run --name nginx-test -d -p 8080:80 -v /mydata/test1:/usr/share/nginx/html nginx #第一个,将8080端口映射到容器中的80端口 [root@catchtouch test2]# docker run --name nginx-test1 -d -p 8081:80 -v /mydata/test2:/usr/share/nginx/html nginx #第二个,将容器中的8081端口映射到容器中的80端口
6.修改宿主机中的nginx的配置文件
在http{}中添加如下代码
upstream myweb { #myproject为自定义名字 #ip_hash; #开启则代表用ip地址的形式来分配,可解决sesson问题 server 127.0.0.1:8080 weight=1; #weight越大,权重越高,被分配的几率越大 server 127.0.0.1:8081 weight=1; #我全部在本机,因此用了本地的ip,只要相应换成对应的ip或者域名即可 }
7.进入conf.d目录,修改default.conf(conf.d中没有此文件可以新建,文件名随意,后缀必须是.conf)
location / { #如果服务器要获取客户端真实ip,可以用下三句设置主机头和客户端真实地址 #proxy_set_header host $host; #proxy_set_header x-real-ip $remote_addr; #proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for; root /usr/share/nginx/html; index index.html index.htm; proxy_pass http://myweb; #myweb为之前在nginx.conf中upstream后定义的名字 }
8.保存后退出,重启服务器:systemctl restart nginx
9.通过浏览器输入当前域名,并刷新页面,有时输出nginx1,有时输出nginx2,配置成功
以上就是“如何利用nginx和docker实现一个简易的负载均衡”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注创新互联行业资讯频道。