为什么共用80端口应该不用多说了,服务器上程序运行环境有很多套,都想抢用80端口,所以就有了共用80端口的解决方案。
网上很多的教程一般都是设置APACHE使用默认80端口,代理转发IIS的网站,IIS使用其他非80端口。
但是大家公认的是这样会降低效率,所以我反过来了。
我是IIS的网站使用默认80端口,APACHE使用非80端口,IIS代理转发APACHE的网站。
第一步,改造APACHE的默认端口80
找到conf目录下的httpd.conf文件,找到“Listen 80”和“ServerName localhost:80”
2个80代表默认的端口号,你改完你需要的,比如88
第二步,继续改造 /conf/extra/httpd-vhosts.conf 文件
<VirtualHost *:80>
ServerAdmin xxx@163.com
DocumentRoot "E:/www/xxx"
ServerName www.xxx.com
ServerAlias slg.com
ErrorLog "logs/slg-error.log"
CustomLog "logs/slg-access.log" common
RewriteEngine on
</VirtualHost>
这1个80也需要改成88
第三步,为了顺利被IIS转发,需要设置虚拟域名
在windows中,进入C:/Windows/System32/drivers/etc (在linux环境中应该是在/etc/hosts)
打开host文件,在最后面添加下面1行:
127.0.0.1 www.xxx.com
保存退出
第四步,前三步完成了APACHE的改造,设置非80端口以及虚拟域名(xxx:是演示用的域名,注意上下一致),这个时候可以重启APACHE了。
第五步,设置Routing Cache
先去IIS官网下载web平台安装工具安装它,然后安装Application Request Routing Cache。
打开IIS工具,选择上面安装的请求路由,选择 Server Proxy Settings,选择勾选Enable proxy,其他不用动,点击应用即可,完成请求路由的设置。
第六步,url重写设置
1、打开站点,选择需要url重写的站点
2、当安装完成url重写时,会出现url重写这个工具,选择工具,名字也有可能是英文
3、打开工具,选在右侧栏第一行添加规则,打开对话框,选择空白规则
4、输入名称,随意,但是尽量能表示出重写目标的含义
5、匹配url,请求的url(字面意思):与模式匹配(推荐),与模式不匹配;使用(匹配使用的方式):正则表达式(推荐),通配符,完全匹配;
最容易忽视的地方是这里:
第七步,给出一个完成之后的例子如下