问题描述:apache已经占用服务器的80端口,如今tomcat上临时公开带有域名的的几个web项目 方法一:apache + tomcat ----mod-jk的方式php
# Note: add by livend for tomcat-connector LoadModule jk_module modules/mod_jk.so Include /home/ap/apache2/conf/mod_jk.conf``` mod_jk.conf文件示例:
JkWorkersFile /home/ap/apache2/conf/workers.propertiesjava
JkLogFile /home/ap/apache2/logs/mod_jk.lognginx
JkLogLevel infoweb
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"apache
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectoriestomcat
JkRequestLogFormat "%w %V %T"服务器
#JkMount /servlet/* worker1 #JkMount /.jsp worker1 JkMount / worker1app
workers.properties示例:
#worker.list=worker1webapp
#worker.worker1.type=ajp13 #worker.worker1.host=localhost #worker.worker1.port=8443 #worker.worker1.lbfactor=50 #worker.worker1.cachesize=10 #worker.worker1.cache_timeout=600 #worker.worker1.socket_keepalive=1 #worker.worker1.socket_timeout=300socket
workers.tomcat_home=/home/ap/apache-tomcat-7.0.54 workers.java_home=/home/ap/jdk1.7.0_68 ps=/ worker.list=worker1 worker.worker1.port=8009 worker.worker1.host=localhost worker.worker1.type=ajp13 worker.worker1.connection_pool_timeout=600 worker.worker1.socket_keepalive=1 worker.worker1.lbfactor=1 worker.inprocess.stdout=$(workers.tomcat_home)$(ps)logs$(ps)inprocess.stdout worker.inprocess.stderr=$(workers.tomcat_home)$(ps)logs$(ps)inprocess.stderr
在apache下配置域名 问题:tomcat web中配置的绝对路径没法被识别,找了不少资料没有找到好办法 **方法二:apache转发** - 一直用的nginx转发,居然不知道apache也能转发端口 - 直接记录配置文件示例:http-vhost.conf (域名配置在tomcat server.xml中,后面附上事例)
<VirtualHost *:80> ServerName www.aaa.com #ServerAlias aaa.com *.aaa.com ProxyPass / http://www.aaa.com:8080/ ProxyPassReverse / http://www.aaa.com:8080/ ErrorLog logs/mall-error_log CustomLog logs/mall-access_log common </VirtualHost>
_这里实际访问的是http://www.aaa.com:8080,也不存在任何问题,其实用ngix转发也能够,但是个人ngix被php用掉了,最主要的是,不是80端口;_ **要注意若是配置二级域名的时候,二级域名要先主域名配置,不然子域名没法访问 像这样
<VirtualHost *:80> ServerName port.aaa.com #ServerAlias aaa.com *.aaa.com ProxyPass / http://port.aaa.com:8080/ ProxyPassReverse / http://port.aaa.com:8080/ ErrorLog logs/mall-error_log CustomLog logs/mall-access_log common </VirtualHost> <VirtualHost *:80> ServerName www.aaa.com #ServerAlias aaa.com *.aaa.com ProxyPass / http://www.aaa.com:8080/ ProxyPassReverse / http://www.aaa.com:8080/ ErrorLog logs/mall-error_log CustomLog logs/mall-access_log common </VirtualHost>
** tomcat 配域名的事例:在<engine></engine>标签中配置一个host标签
<Host name="www.aaa.com" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="aaa." suffix=".log" pattern="%h %l %u %t "%r" %s %b" /> <Context path="" docBase="aaa" debug="0" reloadable="true"/> </Host>