Nginx和tomcat整合

Nginx和tomcat整合

nginx的优点及功能

nginx是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP / POP3 / SMTP代理服务器。它主要具有以下优点:

高并发连接:官方测试能够支撑5万并发连接,在实际生产环境中跑到2〜3万并发连接数。
内存消耗少:在3万并发连接下,开启的10个Nginx进程才消耗150M内(15M * 10 = 150M)。
配置文件非常简单:风格跟程序一样通俗易懂。
成本低廉:Nginx为开源软件,可以免费使用。而购买F5 BIG-IP,NetScaler等硬件负载均衡交换机则需要十多万至几十万人民币。
支持重写重写规则:能够根据域名,URL的不同,将HTTP请求分到不同的主机服务器组。
内置的健康检查功能:如果Nginx Proxy先前的某台Web服务器停机机了,不会影响前端访问。
节省带宽:支持GZIP压缩,可以添加浏览器本地缓存的Header头。
稳定性高:用于反向代理,停机机的概率微乎其微
由于nginx的性能很好,因此国内很多大公司都在使用,最主要的原因也是nginx是开源免费的。除了上述描述的各种功能,项目中主要用nginx来实现以下三个功能:

动静分离
反向代理
负载均衡
网页,图片缓存
13.1.2 nginx负载均衡主要有以下五种策略
最小(最小)每个请求按时间顺序逐一分配到不同的服务器,如果将服务器降下,能自动剔除。
weight指定预定几率,weight和访问比率成正比,用于预定服务器性能不均的情况。
ip_hash每个请求按访问ip的hash结果分配,这样每个访客固定访问一个主机服务器,可以解决会话的问题。
fair(第三方)通过服务器的响应时间来分配请求,响应时间短的优先分配。
url_hash(第三方)通过访问url的哈希结果来分配请求,使每个URL定向到同一个放置服务器,从而使服务器为缓存时比较有效。
安装Nginx

yum -y install gcc gcc-c ++ pcre-devel openssl-devel openssl wget
wget http://nginx.org/download/nginx-1.12.2.tar.gz
tar -zxvf nginx-1.12.2.tar.gz
cd nginx-1.12.2
./configure --prefix = / usr / local / nginx
使
进行安装
安装Tomcat
安装jdk环境并测试

[root@ c6s02 ~]# tail -5 /etc/profile
####java_env####
export JAVA_HOME=/usr/local/jdk1.8.0_60
export PATH=JAVAHOME/bin:

JAVAH​OME/bin:JAVA_HOME/jre/bin:$PATH

export CLASSPATH=.CLASSPATH:
CLASSPATH:JAVA_HOME/lib:JAVAHOME/jre/lib:

JAVAH​OME/jre/lib:JAVA_HOME/lib/tools.jar

source /etc/profile

[root@ c6s02 ~]# java -version
java version “1.8.0_60”
Java™ SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot™ 64-Bit Server VM (build 25.60-b23, mixed mode)
安装tomcat(两个子系统)

tar -zxvf apache-tomcat-7.0.47.tar.gz

#新建tomcat01项目
mkdir -p /opt/tomcat01
cp -a apache-tomcat-7.0.47/* /opt/tomcat01/

#新建tomcat02项目,并修改三处端口为18005,18080,18009
mkdir -p /opt/tomcat021
cp -a apache-tomcat-7.0.47/* /opt/tomcat02/
#手动创建测试页并测试

echo ‘this is tomcat01’ >/opt/tomcat01/webapps/ROOT/index.jsp
echo ‘this is tomcat02’ >/opt/tomcat02/webapps/ROOT/index.jsp
curl 10.0.0.22:8080/index.jsp
curl 10.0.0.22:18080/index.jsp
通过Nginx和Tomcat结合

安装nginx并修改Nignx配置文件

vim /usr/local/nginx/conf/nginx.conf
在HTTP模块中添加:

upstream tomcat { #定义服务器组tomcat
server 10.0.0.22:8080; #定义后Tomcat端服务器
server 10.0.0.22:18080;
}
在server模块中添加:

location ~ .jsp$ { #URL正则匹配,匹配jsp结尾的所有URL
proxy_pass http://tomcat; #proxy_pass反向代理参数,将匹配到的请求反向代理到tomcat服务器组!
}

启动nginx并测试

/ usr / local / nginx / sbin / nginx -t
/ usr / local / nginx / sbin / nginx -s stop
/ usr / local / nginx / sbin / nginx

Tomcat性能优化
tomcat内存优化

linux修改TOMCAT_HOME / bin / catalina.sh,在前面加入

JAVA_OPTS=" -server -Xms512m -Xmx512m -XX:PermSize=128mM -XX:MaxPermSize=1024m"
-server:一定要作为第一个参数,在多个CPU时性能佳-Xms:初始堆大小,使用的最小内存,cpu性能高时此值应设的一些-Xm:java堆大小, -XX:PermSize:设置内存的永久保存区域-XX:MaxPermSize使用最大的内存,上面的两个值是分配JVM的最大和最大内存,因此硬件物理内存的大小。 :设置最大内存的永久保存区域


tomcat线程优化

目的:提高并发能力

修改tomcat配置文件server.xml


maxThreads =“ 600”#最大线程数minSpareThreads =“ 100”#初始化时创建的线程数maxSpareThreads =“ 500”#重新创建的线程超过这个值,Tomcat就会关闭不再需要的套接字线程。acceptCount =“ 700 “#指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理一体中的请求数,超过这个数的请求将不予处理
设置会话过期时间

conf \ web.xml中通过参数指定:
180 单位为分钟。
————————————————
版权声明:本文为CSDN博主「Dragon-wei」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zsw07/article/details/103756811

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值