Nginx+Tomcat负载均衡实践
硬件:腾讯云标准型S2
系统:Linux7.2
Nginx:1.14.2
Tomcat:9.0.16
在下也是初步使用,接下来的东西适合初学的,大佬请绕行
下面的基本的机构:
下面忽略安装过程,咱们直奔主题:
首先启动两个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
# 启动服务<br><br>
!!!!!在此Tomcat的工作做完了。
【划重点】说一个调优点:
进入Tomcat的bin目录中 执行vim catalina.sh
加入 JAVA_OPTS= -Xms256M -Xmx1024M -XX:PermSize=64M -XX:MaxPermSize=256M
虚拟机最小、最大。参数最小、最大(内存空间)
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
以下是效果:
上一篇: 7、Nginx负载均衡深入实践