Nginx+Tomcat负载均衡实践

硬件:腾讯云标准型S2

系统:Linux7.2

Nginx:1.14.2

Tomcat:9.0.16

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

下面的基本的机构:

Nginx+Tomcat负载均衡实践_第1张图片

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

首先启动两个tomcat

解压两个tomcat,并做好区分

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

接下来要修改三个端口号

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

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

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

修改之后就启动了

启动之后查看进程

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

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

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

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

systemctl start rngd  # 启动服务

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

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

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

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

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

Nginx+Tomcat负载均衡实践_第2张图片

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负载均衡实践_第3张图片

你可能感兴趣的:(Linux,Nginx,Tomcat)