Nginx +Tomcat 动静分离及Tomcat配置文件优化
Posted 还行少年
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx +Tomcat 动静分离及Tomcat配置文件优化相关的知识,希望对你有一定的参考价值。
系列文章目录
文章目录
一、Tomcat配置文件优化
1.常用的优化相关参数
- maxThreads : Tomcat使用线程来处理接受的每个请求,这个值表示tomcat可创建的最大的线程数,默认值是200
- minSpareThreads :最小空闲线程数,Tomcat启动时的初始化线程数,表示即使没有人使用也开那么多空线程等待,默认值是10
- maxSpareThreads :最大备用线程数,一旦创建的线程超过这个数,Tomcat就会关闭不再需要的socket线程,默认值是-1(无限制)
- URIEncoding :指定Tomcat容器的URL编码格式
- connectionTimeout :网络连接超时,单位毫秒,设置为0,表示永不超时,默认20000毫秒
- enableLookups :是否反查域名
- disableUploadTimeout :上传时是否使用超时机制
- connectionUploadTimeout : 上传超时时间
- acceptCount :指定当所有可以使用的处理请求的线程数都被使用时,可传入连接请求的最大队列长度,默认为100个
- compression : 是否对响应的数据进行Gzip压缩
- compressionMinSize : 表示压缩响应的最小值
- compressableMimeType : 压缩类型
- noCompressionUserAgents=“gozila,traviata” :对于以下的浏览器,不启用压缩
2.修改配置文件
[root@www ~]# vim /usr/local/tomcat/conf/server.xml
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
minSpareThreads="50" #最小空闲进程数
enableLookups="false" #不反查域名,直接返回IP地址
disableUploadTimeout="true" #开启上传超时机制
acceptCount="300" #最大队列长度
maxThreads="500" #Tomcat可创建最大线程数
processorCache="500" #系统可以缓存对象的数量
URIEncoding="UTF-8" #字符集
compression="on" #开启压缩
compressionMinSize="2048" #响应压缩的最小值
compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain,image/gif,image/jpg,image/png"
#支持压缩的类型
/>
3.重启服务
[root@www ~]# startup.sh //已经对路径做了优化
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/java/jdk1.8.0_201-amd64
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
[root@www ~]# netstat -antp | grep 8080 //tomcat服务的端口
tcp6 0 0 :::8080 :::* LISTEN 41786/java
[root@www ~]#
二、nginx + Tomcat 动静分离
1.环境
nginx: 192.168.30.7
tomcat1: 192.168.30.6
tomcat2: 192.168.30.5
测试: 192.168.30.200
2.部署nginx
部署方式可参考 https://blog.csdn.net/weixin_51720711/article/details/118092790?spm=1001.2014.3001.5501
3.部署tomcat
部署方式可参考
https://blog.csdn.net/weixin_51720711/article/details/118371342?spm=1001.2014.3001.5501
4.Nginx服务器配置
5.Tomcat1服务器配置
5.1 创建项目目录及文件
[root@localhost ~]# cd /usr/local/tomcat/webapps/
[root@localhost webapps]# mkdir test
[root@localhost webapps]# cd test/
[root@localhost test]# vim tt.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" %>
<html>
<head>
<title>tomcat1</title>
</head>
<body>
<% out.println("this is tomcat1 server");%>
</body>
</html>
5.2 配置虚拟主机
5.3 重启服务测试
6.Tomcat2服务器配置
和tomcat1配置相同
6.1 创建项目目录及文件
[root@localhost webapps]# cd /usr/local/tomcat/webapps/
[root@localhost webapps]# mkdir test
[root@localhost webapps]# cd test/
[root@localhost test]# vim tt.jsp
[root@localhost test]# vim tt.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" %>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" %>
<html>
<head>
<title>tomcat2</title>
</head>
<body>
<% out.println("this is tomcat2 server");%>
</body>
</html>
6.2 配置虚拟主机
6.3 重启服务,测试
7.测试动静分离
总结
可以将两个或多个以上的tomcat server放到nginx的upstream中组成一个负载均衡集群,然后通过proxy_pass这种Web代理的方式在location中设置集群站点,然后再通过weight值来设置权重
以上是关于Nginx +Tomcat 动静分离及Tomcat配置文件优化的主要内容,如果未能解决你的问题,请参考以下文章
实践出真知——一文教你搭建Nginx+Tomcat集群,实现负载均衡及动静分离