-
Lnmt 动静分离
a. Tomcat可以处理动态请求, 也可以处理静态请求
b. tomcat 处理静态资源效率不高
c. tomcat 处理动态请求 nginx 处理静态请求
要求:开发要所有静态资源存放在固定位置 /var/jpress/static -
LNMP原理
静态资源nginx自己处理
动态资源nginx交给PHP处理
#cat /etc/nginx/conf.d/tomcat.conf
server {
listen 80;
server_name sunny.com;
client_max_body_size 10m;
root /app/tomcat/webapps;
location / {
index index.jsp;
}
location ~ .jsp$ {
proxy_pass 127.0.0.1:8080;
}
}
nginx 负载均衡
#nginx 反向代理 + tomcat
upstream tomcat {
server 10.0.0.7:8080;
server 10.0.0.7:8081;
server 10.0.07:8082;
}
server {
listen 80;
server_name sunny.com;
location / {
proxy_pass http://tomcat;
}
}
- Tomcat 优化
2.1 Tomcat 安全优化
a telnet管理端口保护(强制) tomcat shutdown端口
修改shutdown端口
vim /app/tomcat/conf/server.xml
/app/tomcat/conf/server.xml
maxThreads=“500” #最大的线程数量 200~400之间
acceptCount=“500” # 当达到最大的线程数量时,最大的队列长度,一般与maxThreads 一致
acceptorThreadCount=“2” 队列数量
enableLookups=“false” #禁止DNS逆向查询route -n /arp -n
compression=“on” #开启tomcat压缩功能
compressionMinSize=“2048” #压缩文件最小2048
compressableMimeType=“text/hmtl” #压缩哪些类型的文件
disableUploadTimeout=“true” #关闭上传文件超时间minSpareThreads=“10” # 空闲时最小的线程数量
maxThreads如何配置
- 系统响应时间注意限制是CPU的计算能力, 如果maxThreads尽量设置小,降低同一时间争抢CPU的线程个数,可以提高计算机的效率
- 如果是IO或者数据库,注意影响是等待外部资源,将maxThreads设置大,会提高系统的处理能力。
java启动参数(catalina.sh) jvm 优化
设置jvm的开始内存大小(物理内测的1/64) jvm最大内存大小(物理内存的1/4)
修改catalina.sh
JAVA_OPTS=‘-Xms1024m -Xmx1024m -xloggc:/var/log/tomcat_gc.log’xms jvm开始内存
xmx jvm 最大内存
xloggc 执行gc的log文件java -jar xxxx.jar -Xms1024m -Xmx1024m -xloggc:/var/log/tomcat_gc.log



