nginx+tomcat动静分离
2016-07-11 22:05
771 查看
tomcat是一个比较全面的web容器,对静态网页的处理,应该是比较费资源的,特别是每次都要从磁盘读取静态页面,然后返回。这中间会消耗Tomcat的资源,可能会使那些动态页面解析性能影响。秉承Linux哲学,一个软件只做一件事的原则。Tomcat就应该只处理JSP动态页面。这里就用到以前了解的Nginx来进行反向代理。
vim server.xml
path是说明虚拟目录的名字,如果你要只输入ip地址就显示主页(即输入127.0.0.1:8080则出现项目首页),则该键值留为空; docBase是虚拟目录的路径
若需要输入域名+端口访问项目则修改host的name对应参数如下:
ps:Location 匹配的优先级
(location =) > (location 完整路径 >) >(location ^~ 路径) >(location ~* 正则) >(location 路径)
三.测试
启动ngnix和tomcat后,输入 www.nginx2.com 并进行对应跳转
后看tomcat日志 log/localhost_access_log.2016--.txt,可以发现对应时间点内没有tomcat对图片的处理。
参考文献
Nginx location 优先级:http://www.linuxidc.com/Linux/2015-06/119275.htm
tomcat设置
在主配置文件里添加如下vim server.xml
<Context path="" reloadable="true" docBase="/home/apache-tomcat-7.0.64/webapps/test1/" />
path是说明虚拟目录的名字,如果你要只输入ip地址就显示主页(即输入127.0.0.1:8080则出现项目首页),则该键值留为空; docBase是虚拟目录的路径
若需要输入域名+端口访问项目则修改host的name对应参数如下:
<Host name="www.nginx2.com" appBase="webapps" unpackWARs="true" autoDeploy="true">
二.Nginx设置
server修改如下,测试location 后加正则表达式后,proxy_pass后不能加完整路径,如http://127.0.0.1:8080/test1,暂时不知道原因server { listen 80; server_name www.nginx2.com; root /opt/apache-tomcat-7.0.64/webapps/ylyg01; index index.html index.jsp; #所有js,css相关的静态资源文件的请求由Nginx处理,root指定文件根路径,需要精确到项目根文件夹 location ~ .*\.(htm|html|gif|jpg|jpeg|png|bmp|swf|ioc|ico|rar|zip|txt|flv|mid|doc|ppt|pdf|xls|mp3|wma|css|js)$ { #root /opt/apache-tomcat-7.0.64/webapps/ylyg01; expires 30d; } #动态请求转发到tomcat服务器 location ~ .*$ { #location ~ .*\.(do|jsp|action)?$ { proxy_pass http://127.0.0.1:8080; proxy_cookie_path /test1/ /; } #location / { # proxy_pass http://127.0.0.1:8080; # proxy_cookie_path /test1/ /; #} }
ps:Location 匹配的优先级
(location =) > (location 完整路径 >) >(location ^~ 路径) >(location ~* 正则) >(location 路径)
location /{ # 匹配所有以 / 开头的请求。 # 但是如果有更长的同类型的表达式,则选择更长的表达式。 # 如果有正则表达式可以匹配,则优先匹配正则表达式。 }
三.测试
启动ngnix和tomcat后,输入 www.nginx2.com 并进行对应跳转
后看tomcat日志 log/localhost_access_log.2016--.txt,可以发现对应时间点内没有tomcat对图片的处理。
参考文献
Nginx location 优先级:http://www.linuxidc.com/Linux/2015-06/119275.htm
相关文章推荐
- java-模拟tomcat服务器
- i-jetty环境搭配与编译
- nginx代理指定目录
- 实现单Tomcat多Server配置
- 生产环境下的Tomcat配置
- 访问Nginx发生SSL connection error的一种情况
- Linux部署Tomcat服务器
- Nginx+Naxsi部署专业级Web应用防火墙
- jenkins------结合maven将svn项目自动部署到tomcat下
- 如何搞定tomcat这只喵~
- CentOS 6.2实战部署Nginx+MySQL+PHP
- nginx中http核心模块的配置指令2
- nginx中http核心模块的配置指令3
- nginx中http核心模块的配置指令4
- nginx中http的fastcgi模块的配置指令1
- Nginx 学习笔记(一)
- 网站502与504错误分析
- 用zabbix监控nginx_status状态