环境:
Ubuntu Server 11.04 64位
, apache 2.2.17
通常在服务器中配置apache使用默认的80端口,通过http://[serverIP]就可以访问;tomcat通常使用特殊的端口,如8080,通过http://[serverIP]:8080/[appName]访问应用。
为了可以不使用端口就能直接访问tomcat的应用,如直接使用http://[serverIP]/[appName],可以按如下配置apache即可:
1) 配置httpd.conf文件
$ sudo vi /etc/apache2/httpd.conf
添加如下内容:
<VirtualHost *:80> ServerName 192.168.0.1 ProxyPass /nexus http://192.168.0.1:8080/nexus ProxyPassReverse /nexus http://192.168.0.1:8080/nexus ProxyPass /bctest http://192.168.0.1:8080/bctest ProxyPassReverse /bctest http://192.168.0.1:8080/bctest ProxyPreserveHost On </VirtualHost>
说明:其中nexus和bctest都是[appName]的一个范例,上述共配置了通过apache访问tomcat下的两个应用,192.168.0.1为tomcat服务器的ip地址,按照实际情况进行相应的修改即可。
2) 配置apache2加载proxy相关模块
用“$ ls /etc/apache2/mods-enabled”查看一下是否有“proxy.load”和"proxy_http.load",没有就执行如下两条命令添加之:
$ sudo ln /etc/apache2/mods-available/proxy.load /etc/apache2/mods-enabled/proxy.load
$ sudo ln /etc/apache2/mods-available/proxy_http.load /etc/apache2/mods-enabled/proxy_http.load
3) 重新启动apache2服务
$ sudo service apache2 restart