环境:Ubuntu Server 11.04 64位, apache 2.2.17
通常在服务器中配置apache使用默认的80端口,通过[serverIP]就可以访问;tomcat通常使用特殊的端口,如8080,通过[serverIP]:8080/[appName]访问应用。
为了可以不使用端口就能直接访问tomcat的应用,如直接使用[serverIP]/[appName],可以按如下配置apache即可:
1) 配置httpd.conf文件
$ sudo vi /etc/apache2/httpd.conf
添加如下内容:
<VirtualHost *:80>ServerName 192.168.0.1
ProxyPass /nexus :8080/nexus
ProxyPassReverse /nexus :8080/nexus
ProxyPass /bctest :8080/bctest
ProxyPassReverse /bctest :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