[Linux]RHEL/CentOS6配置tomcat使用80端口(与httpd整合)

1、背景html

因为Apache Tomcat[1]和Apache Httpd[2]都属于很是经常使用的服务器软件,故不作过多介绍了。直接来配置背景。apache

今天接到任务要在一台CentOS6上面部署一个Tomcat工程,并使用80端口对外提供服务。为了保障系统总体的稳定性,我选择所有使用CentOS源中自带的软件包。vim

2、过程tomcat

首先,安装好tomcat。服务器

sudo yum install tomcat6 -yspa

而后我尝试让tomcat6直接监听80端口,发现默认状况下,tomcat不能使用1024如下的端口(网上说,RHEL/CentOS中只有root用户启动的程序才能够直接监听1024如下的端口。)所以我尝试安装httpd而且配置二者的整合。代理

sudo yum install httpd -yserver

网上大多数配置Tomcat6/httpd整合的方法为使用mod_jk模块。而在RHEL/CentOS6中没有软件包提供mod_jk,而是提供了mod_proxy_ajp,所以,我使用mod_proxy_ajp方式进行配置。xml

sudo vim /etc/httpd/conf/httpd.conf 在大约195行处,找到LoadModule proxy_ajp_module modules/mod_proxy_ajp.so并取消注释。htm

在配置文件中添加

ProxyPass / ajp://localhost:8009/
ProxyPassReverse / ajp://localhost:8009/
ProxyVia On

其中,前两行是对代理的定义。这里我直接把http的根目录重定向到了tomcat[3]。第三行是在转发时向http头信息中添加Via信息,能够参见[4]。

而后修改Tomcat配置sudo vim /etc/tomcat6/server.xml 找到如下内容并取消注释,这样就实现了向/var/log/tomcat6目录下写访问记录信息。

<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="common" resolveHosts="false"/>

完成以上配置后,重启tomcat6和httpd服务。整个过程就结束了。

[1] http://tomcat.apache.org

[2] http://httpd.apache.org

[3] http://httpd.apache.org/docs/2.4/en/mod/mod_proxy_ajp.html

[4] http://httpd.apache.org/docs/2.2/mod/mod_proxy.html#proxyvia

相关文章
相关标签/搜索