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动静分离及Nginx优化

实践出真知——一文教你搭建Nginx+Tomcat集群,实现负载均衡及动静分离

Nginx+Tomcat实现负载均衡及动静分离

高性能Web服务之Nginx+Tomcat实现负债均衡反向代理及动静分离

Nginx自学手册Nginx+Tomcat实现动静分离

Nginx+Tomcat 负载均衡(动静分离)集群