您的位置:首页 > 运维架构 > Apache

apache虚拟主机设置及与IIS共享80端口的实现

2010-02-04 17:43 597 查看
引言:最近帮以客户搭建服务器,服务器就要运行php的网站和asp的网站,而且php的网站有负责url重写,刚开始不好怎么配置服务器,最后经过考虑决定用apache设计虚拟主机,并与iis共享80端口。下面就是具体的操作了(前提是iis和apache都已经运行正常了)。

一、apache虚拟主机配置
可直接用记事本打开apache安装目录下的httpd.conf文件,也可以在httpd.conf文件中添加Include conf/extra/httpd-vhosts.conf(注意:文件所在的路径为apache安装目录),然后在httpd-vhosts.conf文件中添加如下信息
示例如下:

#号是起注释作用
实例
代码:
NameVirtualHost *:80
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for requests without a known
# server name.
#
<VirtualHost *:80>
    DocumentRoot “D:/DATA/wwwroot/Apache” //绑定的网站目录
    ServerAdmin mailto:admin@amcone.cn  //管理邮箱地址
    ServerName amcone.cn           //绑定的域名
    ErrorLog logs/dummy-host.example.com-error_log   //错误的日志
    CustomLog logs/dummy-host.example.com-access_log common //客户日志
    ErrorDocument 404 http://www.amcone.cn/404.html  //自定义出错页
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot “D:/DATA/wwwroot/BBS”  (网站目录)
    ServerName bbs.amcone.cn    (虚拟主机)
    ErrorDocument 404 http://www.amcone.cn/404.html
</VirtualHost>

要绑定多少个域名,就添加多少个<VirtualHost></VirtualHost>记录
完毕!

二、一个IIS与Apache共存80端口的解决方案
先说一下怎么实现的吧,Apache有个功能叫逆向代理,我们可以通过它来作为IIS的代理,从而做到同时能通过80端口访问分别在IIS上和Apache上的文件—-当然,也可以通过它把访问指向几台不同的服务器(这样似乎就能搭建一个集群?)。

先把IIS的端口修改成8080,然后我们打开apache的httpd.conf文件,把
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
前面的注释(#)去除  (去掉#才会加载模块)

然后我们再增加一个虚拟主机:

ServerName iis.amcone.cn  (这里设置你要仿问的域名或主机地址,本机测试请修改host文件)
ProxyPass / http://localhost:8080/   (这里保持默认。不需要修改)
ProxyPassReverse / http://localhost:8080/  (这里保持默认。不需要修改)
逆(反)向代理使用ProxyPass和ProxyPassReverse指令进行配置。

IIS里面有多少个站就添加多少个虚拟主机和规则

以上配置完成后须重新启动apache才能立马生效,如果你是在本机测试并且在windows平台下,请用记事本打开系统中的host文件,并做如下修改:
127.0.0.1       localhost
127.0.0.1       amcone.cn
127.0.0.1       bbs.amcone.cn
127.0.0.1       iis.amcone.cn
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息