Nginx + tomcat 实现服务集群

Myth丶恋晨 2022-06-10 00:50 271阅读 0赞

测试环境: 虚拟机 + linux(centOs 6.5) + windows + tomcat + Nginx
话不多说,直接开撸

  • 1、在linux上放两个tomcat, 并更改不同的端口,我测试了一下,需要改如下几个地方(我都在默认的端口上加了一个1),因为我只有两个tomcat,所以另一个就不用改了,使用默认的就行,所以这里改的是其中一个:

  • 2、修改一下/webapps/ROOT下的index.jsp,随便加点什么标识一下,以便区分后面访问的是哪个tomcat

  • 3、先测试一下访问两个tomcat,如图,两个tomcat可以正常访问
    这里写图片描述

这里写图片描述

  • 4、在linux上安装Nginx,如果不会的可以查看我的另一篇文章哈
    http://blog.csdn.net/fantasic_van/article/details/76785271
  • 5、配置nginx

    worker_processes 1;#工作进程的个数,一般与计算机的cpu核数一致

    events {

    1. worker_connections 1024;#单个进程最大连接数(最大连接数=连接数*进程数)

    }

    http {

    1. include mime.types; #文件扩展名与文件类型映射表
    2. default_type application/octet-stream;#默认文件类型
    3. sendfile on;#开启高效文件传输模式,sendfile指令指定nginx是否调用sendfile函数来输出文件,对于普通应用设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络I/O处理速度,降低系统的负载。注意:如果图片显示不正常把这个改成off
    4. keepalive_timeout 65; #长连接超时时间,单位是秒
    5. gzip on;#启用Gizp压缩
    6. #服务器的集群
    7. upstream netitcast.com { #服务器集群名字
    8. server 192.168.40.120:8080 weight=1;#服务器配置 weight是权重的意思,权重越大,分配的概率越大。
    9. server 192.168.40.120:18080 weight=2;
    10. }
    11. #当前的Nginx的配置
    12. server {
    13. listen 80;#监听80端口,可以改成其他端口
    14. server_name localhost;############## 当前服务的域名
    15. location / {
    16. proxy_pass http://netitcast.com;
    17. proxy_redirect default;
    18. }
  1. error_page 500 502 503 504 /50x.html;
  2. location = /50x.html {
  3. root html;
  4. }
  5. }
  6. }
  • 6、上面的主要配置其实就这两个地方:

    服务器的集群

    1. upstream netitcast.com { #服务器集群名字
    2. server 192.168.40.120:8080 weight=1;
    3. server 192.168.40.120:18080 weight=2;
    4. }

    location / {

    1. proxy_pass http://netitcast.com; #这里的名字要个集群的名字对应
    2. proxy_redirect default;
    3. }
  • 7、启动nginx

  • 8、在windows中访问 192.168.40.120/index.jsp,出现如下画面
    这里写图片描述

当刷新一下页面后:
这里写图片描述

再刷新后,发现又会变,而且tomcat2出现的次数会比tomcat1多,原因就是因为之前Nginx的配置中,weight权重的影响了。

发表评论

表情:
评论列表 (有 0 条评论,271人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Nginx+tomcat配置

     开发的应用采用F5负载均衡交换机,F5将请求转发给5台hp unix服务器,每台服务器有多个webserver实例,对外提供web服务和socket等接口服务。之初,曾