apache + tomcat 域名问题
2016-05-19 18:06
495 查看
apache+tomcat的域名配置
问题描述:apache已经占用服务器的80端口,现在tomcat上临时公开带有域名的的几个web项目方法一:apache + tomcat ----mod-jk的方式
由于在tomcat的上直接配域名访问的话必须带tomcat的端口(apache已经占用80端口),不能接受域名+接口的模式
附上配置方法:
下载Tomcat Connectors (mod_jk),连接如下:http://tomcat.apache.org/download-connectors.cgi
编译安装mod_jk 生成 mod_jk.so,生成方法上面连接里有详细过程
配置文件 :apache配置文件尾部增加下面两句配置
emacs apache2/conf/httpd.conf
# 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文件示例:
指出mod_jk模块工作所需要的工作文件workers.properties的位置
JkWorkersFile /home/ap/apache2/conf/workers.propertiesWhere to put jk logs
JkLogFile /home/ap/apache2/logs/mod_jk.logSet the jk log level [debug/error/info]
JkLogLevel infoSelect the log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"JkOptions indicate to send SSL KEY SIZE,
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectoriesJkRequestLogFormat set the request format
JkRequestLogFormat "%w %V %T"将所有servlet 和jsp请求通过ajp13的协议送给Tomcat,让Tomcat来处理
#JkMount /servlet/* worker1#JkMount /.jsp worker1
JkMount / worker1
workers.properties示例:
Defining a worker named worker1 and of type ajp13
#worker.list=worker1Set properties for worker1
#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=300
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>
相关文章推荐
- Tomcat解惑 之 CATALINA_HOME与CATALINA_BASE
- 安装tomcat8
- Tomcat配置文件server.xml
- 修改Tomcat的网站根目录
- 修改Tomcat的网站根目录
- 在linux下用tomcat部署java web项目的过程与注意事项(转)
- Tomcat性能优化
- CentOS-6.3安装配置Tomcat-7
- JVM Tomcat性能实战(推荐)
- Tomcat目录结构
- Tomcat 8 & JNDI Datasource
- Jenkins部署war包到远程tomcat的webapps下
- 使用jconsole监控tomcat性能情况
- Tomcat version 6.0 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5 Web modules
- Redhat Linux安装Tomcat
- Target runtime Apache Tomcat v6.0 is not defined.错误解决方法
- tomcat指定JDK相对路径 windows服务注册 自动启动等批处理命令 备忘
- JDK和tomcat如何配置环境变量
- Linux Debian下安装tomcat7
- JVM Tomcat性能实战