经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » Nginx » 查看文章
Nginx代理和负载均衡实验
来源:cnblogs  作者:菜鹌鹑  时间:2019/7/16 8:40:38  对本文有异议

一、构建两个tomcat容器并启动

  1. [root@localhost bin]# ps -ef|grep tomcat
  2. root 1525 1 12 10:19 pts/0 00:00:03 /usr/bin/java -Djava.util.logging.config.file=/usr/local/tomcat-1/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /usr/local/tomcat-1/bin/bootstrap.jar:/usr/local/tomcat-1/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat-1 -Dcatalina.home=/usr/local/tomcat-1 -Djava.io.tmpdir=/usr/local/tomcat-1/temp org.apache.catalina.startup.Bootstrap start
  3. root 1586 1 39 10:19 pts/0 00:00:02 /usr/bin/java -Djava.util.logging.config.file=/usr/local/tomcat-2/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /usr/local/tomcat-2/bin/bootstrap.jar:/usr/local/tomcat-2/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat-2 -Dcatalina.home=/usr/local/tomcat-2 -Djava.io.tmpdir=/usr/local/tomcat-2/temp org.apache.catalina.startup.Bootstrap start

二、修改两个容器的web首页,并测试两个容器是否正常

三、启动Nginx并查看进程

  1. [root@www ~]# /usr/local/nginx/sbin/./nginx
  2. [root@www ~]# ps -ef|grep nginx
  3. root 5354 1 0 13:00 ? 00:00:00 nginx: master process /usr/local/nginx/sbin/./nginx
  4. nobody 5355 5354 0 13:00 ? 00:00:00 nginx: worker process

四、开始实验:

Nginx代理服务器IP:192.168.249.132

Tomcat-1 IP:192.168.249.133:8080

Tomcat-2 IP:192.168.249.133:8081

1.配置测试反向代理

1)修改Nginx的配置文件

  1. [root@www conf]# cat nginx.conf|grep -E -v "#|^$"
  2. worker_processes 1;
  3. events {
  4. worker_connections 1024;
  5. }
  6. http {
  7. include mime.types;
  8. default_type application/octet-stream;
  9. sendfile on;
  10. keepalive_timeout 65;
  11. server {
  12. listen 80;
  13. server_name localhost;
  14. location / {
  15. proxy_pass http://192.168.249.133:8080; #将请求转向后端定义的Tomcat-1上.
  16. }
  17. error_page 500 502 503 504 /50x.html;
  18. location = /50x.html {
  19. root html;
  20. }
  21. }
  22. }

2)重新载入nginx.conf

  1. [root@www conf]# cat nginx.conf|grep -E -v "#|^$"

3)访问Nginx代理服务器,查看是否跳转

2.负载均衡算法测试——轮询算法

1)在nginx.conf的server块里写入upstream配置块,并修改proxy_pass参数

  1. [root@www conf]# cat nginx.conf|grep -E -v "#|^$"
  2. worker_processes 1;
  3. events {
  4. worker_connections 1024;
  5. }
  6. http {
  7. include mime.types;
  8. default_type application/octet-stream;
  9. sendfile on;
  10. keepalive_timeout 65;
  11. upstream nginxtest {
  12. server 192.168.249.133:8080;
  13. server 192.168.249.133:8081;
  14. }
  15. server {
  16. listen 80;
  17. server_name localhost;
  18. location / {
  19. proxy_pass http://nginxtest;
  20. }
  21. error_page 500 502 503 504 /50x.html;
  22. location = /50x.html {
  23. root html;
  24. }
  25. }
  26. }

2)重新载入nginx.conf

  1. [root@www conf]# ../sbin/./nginx -s reload

3)多次访问Nginx代理服务器

一直刷新页面会发现随机出现两个网页,这就是nginx默认的负载均衡算法:轮询算法

3.负载均衡权重测试——权重算法

1)在nginx.conf的server块里修改upstream配置块,在其中server参数后添加weight参数

  1. [root@www conf]# cat nginx.conf|grep -E -v "#|^$"
  2. worker_processes 1;
  3. events {
  4. worker_connections 1024;
  5. }
  6. http {
  7. include mime.types;
  8. default_type application/octet-stream;
  9. sendfile on;
  10. keepalive_timeout 65;
  11. upstream nginxtest {
  12. server 192.168.249.133:8080 weight=3;
  13. server 192.168.249.133:8081 weight=2;
  14. }
  15. server {
  16. listen 80;
  17. server_name localhost;
  18. location / {
  19. proxy_pass http://nginxtest;
  20. }
  21. error_page 500 502 503 504 /50x.html;
  22. location = /50x.html {
  23. root html;
  24. }
  25. }
  26. }

2)重新载入nginx.conf

  1. [root@www conf]# ../sbin/./nginx -s reload

3)访问nginx代理服务器

发现刷新三次是tomcat-1后,后两次刷新是tomcat-2.

剩下的两种算法持续更新哦……

原文链接:http://www.cnblogs.com/quail2333/p/11188269.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号