apache + tomcat 域名问题

apache+tomcat的域名配置

问题描述:apache已经占用服务器的80端口,现在tomcat上临时公开带有域名的的几个web项目 方法一:apache + tomcat ----mod-jk的方式

  • 由于在tomcat的上直接配域名访问的话必须带tomcat的端口(apache已经占用80端口),不能接受域名+接口的模式 附上配置方法:
  1. 下载Tomcat Connectors (mod_jk),连接如下:http://tomcat.apache.org/download-connectors.cgi
  2. 编译安装mod_jk 生成 mod_jk.so,生成方法上面连接里有详细过程
  3. 配置文件 :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.properties

Where to put jk logs

JkLogFile /home/ap/apache2/logs/mod_jk.log

Set the jk log level [debug/error/info]

JkLogLevel info

Select the log format

JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"

JkOptions indicate to send SSL KEY SIZE,

JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories

JkRequestLogFormat 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=worker1

Set 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 &quot;%r&quot; %s %b" /> <Context path="" docBase="aaa" debug="0" reloadable="true"/> </Host>

转载于:https://my.oschina.net/livend/blog/678150

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值