Apache配置--同一台机器上两个应用需要同时占用80端口的问题解决方法
2008-07-22 14:10
931 查看
问题描述如下,主要是针对测试环境:
1、首页部分内容是从静态服务器上读取,所以里面很多的链接都是写死的,是80端口的,为了不让QA测试时再去手动修改成20080,所以需要自动将mall.alisoft.com:80/*自动跳转到20080,或者是mall直接支持80和20080端口;
2、旺旺浮出免登陆时由于IM客户端已经写死到aso.alisoft.com的端口也是80,所以mall和aso两个应用都需要用到80端口;
为了解决上述问题,可以有两种实现方式:
1、 直接在aso或者mall的httpd.conf中修改,修改方式如下:
1) 新增Listen 80
2) 新增 aso虚拟主机;注意:RewriteRule是被注释掉的,对aso.alisoft.com域名进入的直接转向jboss;
<VirtualHost * >
ServerAdmin sa@alibaba-inc.com
ServerName aso.alisoft.com
DocumentRoot "/home/admin/aep/aso/htdocs/"
RewriteEngine on
RewriteLogLevel 5
RewriteLog /home/admin/aep/aso/logs/rewrite.log
#RewriteRule ^/ http://aso.alisoft.com:30080/ [L,P]
</VirtualHost>
3) 新增 mall虚拟主机,让从mall.alisoft.com域名进入的转向20080,由于这里是服务器上的redirect,所以RewriteRule要设置成具体IP或者127.0.0.1,不能是域名;
<VirtualHost * >
ServerAdmin sa@alibaba-inc.com
ServerName mall.alisoft.com
DocumentRoot "/home/admin/aep/apps/htdocs/"
RewriteEngine on
RewriteLogLevel 5
RewriteLog /home/admin/aep/aso/logs/rewrite.log
RewriteRule ^/(.*)$ http://127.0.0.1:20080/$1 [L,P]
</VirtualHost>
4) 确认apache已经启用proxy模块,默认aso里面是不启用该module的;
LoadModule proxy_module /usr/ali/apache2/modules/mod_proxy.so
LoadModule proxy_http_module /usr/ali/apache2/modules/mod_proxy_http.so
2、 采用优雅的单独proxy方式:
由于方法1对原有系统aso或者是mall的apache配置侵入性很大,所以实现很不优雅,建议使用单独proxy方式;
这种方式需要单独设置一个apache,该apache专门监听80端口,然后在该模块中新增多个 虚拟主机 即可;比如以下新增一个aso的虚拟主机,然后把所有80端口的请求redirect到30080端口;
<VirtualHost * >
ServerAdmin sa@alibaba-inc.com
ServerName aso.alisoft.com
DocumentRoot "/home/admin/aep/aso/htdocs/"
RewriteEngine on
RewriteLogLevel 5
RewriteLog /home/admin/aep/aso/logs/rewrite.log
RewriteRule ^/(.*)$ http://127.0.0.1:30080/$1 [L,P]
</VirtualHost>
1、首页部分内容是从静态服务器上读取,所以里面很多的链接都是写死的,是80端口的,为了不让QA测试时再去手动修改成20080,所以需要自动将mall.alisoft.com:80/*自动跳转到20080,或者是mall直接支持80和20080端口;
2、旺旺浮出免登陆时由于IM客户端已经写死到aso.alisoft.com的端口也是80,所以mall和aso两个应用都需要用到80端口;
为了解决上述问题,可以有两种实现方式:
1、 直接在aso或者mall的httpd.conf中修改,修改方式如下:
1) 新增Listen 80
2) 新增 aso虚拟主机;注意:RewriteRule是被注释掉的,对aso.alisoft.com域名进入的直接转向jboss;
<VirtualHost * >
ServerAdmin sa@alibaba-inc.com
ServerName aso.alisoft.com
DocumentRoot "/home/admin/aep/aso/htdocs/"
RewriteEngine on
RewriteLogLevel 5
RewriteLog /home/admin/aep/aso/logs/rewrite.log
#RewriteRule ^/ http://aso.alisoft.com:30080/ [L,P]
</VirtualHost>
3) 新增 mall虚拟主机,让从mall.alisoft.com域名进入的转向20080,由于这里是服务器上的redirect,所以RewriteRule要设置成具体IP或者127.0.0.1,不能是域名;
<VirtualHost * >
ServerAdmin sa@alibaba-inc.com
ServerName mall.alisoft.com
DocumentRoot "/home/admin/aep/apps/htdocs/"
RewriteEngine on
RewriteLogLevel 5
RewriteLog /home/admin/aep/aso/logs/rewrite.log
RewriteRule ^/(.*)$ http://127.0.0.1:20080/$1 [L,P]
</VirtualHost>
4) 确认apache已经启用proxy模块,默认aso里面是不启用该module的;
LoadModule proxy_module /usr/ali/apache2/modules/mod_proxy.so
LoadModule proxy_http_module /usr/ali/apache2/modules/mod_proxy_http.so
2、 采用优雅的单独proxy方式:
由于方法1对原有系统aso或者是mall的apache配置侵入性很大,所以实现很不优雅,建议使用单独proxy方式;
这种方式需要单独设置一个apache,该apache专门监听80端口,然后在该模块中新增多个 虚拟主机 即可;比如以下新增一个aso的虚拟主机,然后把所有80端口的请求redirect到30080端口;
<VirtualHost * >
ServerAdmin sa@alibaba-inc.com
ServerName aso.alisoft.com
DocumentRoot "/home/admin/aep/aso/htdocs/"
RewriteEngine on
RewriteLogLevel 5
RewriteLog /home/admin/aep/aso/logs/rewrite.log
RewriteRule ^/(.*)$ http://127.0.0.1:30080/$1 [L,P]
</VirtualHost>
相关文章推荐
- 关于Tomcat搭建服务器需要80端口问题的解决方案以及80端口被NT KERNEL & SYSTEM ,pid4占用解决方法
- Ubuntu16.04 Apache的代理配置解决node、tomcat、apache同时使用80端口问题
- WINDOWS APACHE 内存占用过多问题解决方法
- Apache服务无法开启 解决方法(80端口被占用, 解决80端口被Microsoft-HTTPAPI/2.0占用的方法)
- Apache + Tomcat 负载均衡集群配置问题 404错误(解决方法)
- 解决Apache长时间占用内存大的问题,Apache 内存优化方法
- 因计算机磁盘硬件配置问题windows无法启动及HP系列机器不能使用GHOST的解决方法
- 因计算机磁盘硬件配置问题windows无法启动及HP系列机器不能使用GHOST的解决方法
- PHP环境下utf8乱码的解决方法---apache/php配置问题
- xampp安装后apache 80端口被占用的解决方法
- 64位win7手动搭建php开发环境Apache+MySQL+php及相关配置,问题解决方法
- apache 解决80端口占用问题
- java应用cpu占用过高问题分析及解决方法
- iis中文件夹的默认文档配置和Apache配置跨域遇到的问题解决方法
- Apache2.2的80端口被win7的System PID=4的进程占用的解决方法
- python3.4学习笔记(十九) 同一台机器同时安装 python2.7 和 python3.4的解决方法
- 配置安装Nagios启动apache时出现问题解决方法
- 同一台机器上多个tomcat启动造成的内存溢出问题的解决方法。
- phpstorm 下配置 apache服务器的方法(解决 post不能正确提交到php的问题)
- Apache&WAMP 解决80端口被占用问题