[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

相關文章
相關標籤/搜索