欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Nginx+Tomcat负载均衡实践

程序员文章站 2022-07-13 08:43:42
...

硬件:腾讯云标准型S2

系统:Linux7.2

Nginx:1.14.2

Tomcat:9.0.16

在下也是初步使用,接下来的东西适合初学的,大佬请绕行

下面的基本的机构:

Nginx+Tomcat负载均衡实践

下面忽略安装过程,咱们直奔主题:

首先启动两个tomcat

解压两个tomcat,并做好区分

Nginx+Tomcat负载均衡实践

进入其中一个tomcat02的conf目录 修改server.xml文件

接下来要修改三个端口号

Nginx+Tomcat负载均衡实践

上面这个是对tomcat进行SHUTDOWN命令的,可以通过Tel发送SHUTDOWN将tomcat进行停止

Nginx+Tomcat负载均衡实践

上面这个是该tomcat的入口端口

Nginx+Tomcat负载均衡实践

AJP协议,网上说是将tomcat的资源进行动静分离, 我的小项目将这个配置注调后一样能用。应该是自己没有用到吧,以后有时间去了解下

修改之后就启动了

启动之后查看进程

Nginx+Tomcat负载均衡实践

(进程中没有就是没有启动,去logs文件夹里面的catlina.out看看报的什么错)

启动之后可以用   curl 127.0.0.1:8080 调Tomcat的主页

Nginx+Tomcat负载均衡实践

如果很长时间没有响应那就是启动时熵值计算的特别慢,网上有三种方法,我觉得下面的方法比较好用

yum install rng-tools.x86_64  # 安装rngd服务(熵服务,增大熵池)

systemctl start rngd  # 启动服务<br><br>

!!!!!在此Tomcat的工作做完了。

【划重点】说一个调优点:

进入Tomcat的bin目录中 执行vim catalina.sh

加入 JAVA_OPTS= -Xms256M -Xmx1024M -XX:PermSize=64M -XX:MaxPermSize=256M

                           虚拟机最小、最大。参数最小、最大(内存空间)

Nginx+Tomcat负载均衡实践

Nginx负载

其实Nginx的负载很简单。而且在14版本之后监控都是自动的

进入Nginx目录下面的conf目录,找到nginx.conf

#user  nobody;
worker_processes  2;

events{
    worker_connections 1024;
}
http{
    include mime.types;
    default_type  application/octet-stream;
    sendfile on;
    keepalive_timeout  65;
    upstream tomcatCluster{
        server 127.0.0.1:8081 weight=1;
        server 127.0.0.1:8082;
    }
    server{
        listen 80;
        server_name localhost;
        location / {
            proxy_pass http://tomcatCluster;
            proxy_http_version 1.1;
            proxy_set_header Connection “”;
        }
    }
}

测试

修改两个tomcat的 webapp/ROOT/index.jsp

tomcat01的index.jsp 内容改为这是8081

tomcat02的index.jsp 内容改为这是8082

然后使用curl:127.0.0.1:80

请求本机80端口 Nginx监听的80端口转发到8081,8082

以下是效果:

Nginx+Tomcat负载均衡实践