Apache与Tomcat动静分离(mod_jk)

来源:互联网 发布:最好的java讲师 知乎 编辑:程序博客网 时间:2024/05/06 09:54

由于目前项目并发量大,需优化服务器性能,本文使用Apache的负载均衡做配置,使静态文件由Apache处理,动态页面由Tomcat处理。本文中以xx.demo.com域名为案例。

准备前:
一、./etc/httpd/httpd.conf中先开启访问日志,便于监控,可以在全局配置里打开,也可单独配置单个项目/etc/httpd/extra/httpd-vhosts.conf
单个项目配置:

#xx.demo.com<VirtualHost *:80>   ServerAdmin service@demo.com    DocumentRoot "/web/app/demo"    ServerName xx.demo.net    ErrorLog logs/xx.demo.com-error_log    TransferLog logs/xx.demo.com-access_log    ErrorDocument 404 404.html<Directory "/web/app/demo/">        Options FollowSymLinks MultiViews        AllowOverride None        Order deny,allow        Allow from all</Directory>JkMount / tomcat1JkMount /* tomcat1</VirtualHost>
主要配置:TransferLog logs/xx.demo.com-access_log

二、开启Tomcat访问日志

配置:tomcat/conf/server.xml

<Host name="xx.demo.com"  appBase="/web/app/demo" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/></Host>
开启后,访问项目,查看日志会发现apache的/logs/xx.demo.com-acess_log与tomcat的logs/localhost_access_log.2016-09-05.txt中有所有请求的地址

开始配置:

三、在apache目录/apach_2_2_9/conf下创建tomcat1_uriworkermap.properties文件,配置如下:

/*=tomcat1!/*.jpg=tomcat1!/*.gif=tomcat1!/*.png=tomcat1!/*.bmp=tomcat1!/*.html=tomcat1!/*.htm=tomcat1!/*.swf=tomcat1!/*.css=tomcat1!/*.js=tomcat1
四、配置项目/etc/httpd/extra/httpd-vhosts.conf,修改为

#xx.demo.com<VirtualHost *:80>   ServerAdmin service@demo.com    DocumentRoot "/web/app/demo"    ServerName xx.demo.net    ErrorLog logs/xx.demo.com-error_log    TransferLog logs/xx.demo.com-access_log    ErrorDocument 404 404.html<Directory "/web/app/demo/">        Options FollowSymLinks MultiViews        AllowOverride None        Order deny,allow        Allow from all</Directory>Alias / /web/app/demo/ROOT/JkMountFile conf/tomcat1_uriworkermap.properties</VirtualHost>
重启apache,再观察tomcat中的访问日志,会发现只有动态请求,已经没有.jpg等静态文件请求了



1 0
原创粉丝点击