Apache与IIS共用端口的解决方法集_服务器

经过一阵稳定性的考虑后,公司的网站决定采用IIS作管理平台,Apache做访问平台,但服务器对外开放的端口数实在太少,如何使Apache和IIS共用一个端口,而两者兼顾?Google一下,找到以下方法,开始实践。。。。

为调试程序,本机安装iis与apache,无法同时使用80端口,现给出解决方法:

方法一:原文地址

IIS5,多IP下共存,IIS为192.168.0.1,apache为192.168.0.2 
c:\Inetpub\Adminscripts
cscript adsutil.vbs set w3svc/disablesocketpooling true
该命令反馈如下disablesocketpooling : (BOOLEAN) True
重启IIS
Inetpub\AdminScripts>cscript adsutil.vbs set w3svc/disablesocketpooling true
由于 DisableSocketPooling 在 IIS 6.0 元数据库架构 (MBSchema.xml) 中被定义为有效属性,所以,您仍然可以使用 Adsutil.vbs 设置该属性,但这种设置不起作用。IIS 6.0 中的功能是新增的核心级别驱动程序 HTTP.sys 的一部分。要配置 HTTP.sys,您必须使用 Httpcfg.exe

方法二:原文地址

IIS6,多IP下共存,IIS为192.168.0.1,apache为192.168.0.2 到2003的CD下的 support/tools/Support.cab。解压出httpcfg.exe文件,COPY到windows/system32/目录下,用法自己看帮助

命令行

绑定到某IP: httpcfg set iplisten -i 192.168.0.1
即命令使用IIS的只监听指定的IP及端口
查看绑定: httpcfg query iplisten 
删除绑定: httpcfg delete iplisten -i 192.168.0.1

命令行
net stop Apache2
net stop iisadmin /y
net START Apache2
net START w3svc

保证iis下的ip设置为全局默认,Apache中httpconf设置listen 192.168.0.2:80,就应该可以两个服务同时运行,相互不冲突了。
IIS的访问地址为http://192.168.0.1,Apache访问地址为http://192.168.0.2

方法三:

网上常用的单IP共用80端口方法,不过不推荐,只是使用Apache的代理,速度有影响将apache设为使用80端口,IIS使用其它端口,比如81,然后将apache作为IIS的代理。

在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

然后建立一个虚拟主机,将该域名的所有访问转向81端口。

ServerName iloves.vicp.net
ProxyPass / http://localhost:81/
ProxyPassReverse / http://localhost:81/

这样,对外就可以只需要一个端口,即可同时使用apache和IIS的功能了 

类推,使用第二种方法,你可以在IIS上配置PHP4,Apache2中配置PHP5,只需要IIS中安装PHP4,把php.ini复制到\windows目录即可,这个就不用说了吧,Apache2中,只要把PHP5的php.ini放在PHP5安装目录里面就行了

配置Apache以支持PHP5:

LoadModule php5_module "D:/PHPServer/PHP5/php5apache2.dll"
AddType application/x-httpd-php .php
DirectoryIndex index.html index.php
PHPIniDir "D:/PHPServer/PHP5"

其中最重要的一条就是 PHPIniDir,用来指明php.ini文件所在位置,即PHP5的安装目录,注意所有目录的应该改为D:/PHPServer/PHP5这种格式,而非D:\PHPServer\PHP5,IIS的访问地址为http://192.168.0.1,Apache访问地址为http://192.168.0.2

时间: 2024-10-26 10:06:34

Apache与IIS共用端口的解决方法集_服务器的相关文章

Apache与IIS的优劣对比点点评分析_服务器

对于中小企业来说建立自己的网站,对外展示自己的页面是最平常不过的事情了.目前最流行的建立WWW服务工具就要属Apache与IIS了.那么他们之间都有什么区别呢?到底哪个工具才是最适合我们的呢?今天就来讨论下这个问题. 一.免费与收费之争: 虽然很多用户都使用IIS建立网站,他是集成于Windows操作系统中的组件.不过要想合法使用IIS就要购买正版Windows操作系统. 反观Apache,他是完全免费的.不需要支付任何费用就可以免费下载并使用了. 结论--Apache免费,IIS收费,前者占优

cwrsync server 服务启动失败的解决方法小结_服务器其它

经过测试,原来是因为服务器自动重启时没有停止cwrsync server,如果突然重启就会造成这个错误,如果出现了这个问题,我们可以通过删除.pid 文件即可. 故障一: 事件类型: 错误 事件来源: RsyncServer 事件种类: 无 事件 ID: 0 日期: 2009-10-19 事件: 9:57:20 用户: NT AUTHORITY\SYSTEM 计算机: SVCTAG-3SJMN2X 描述: 事件 ID ( 0 )的描述(在资源( RsyncServer )中)无法找到.本地计算机

rsync 常见错误与解决方法整理_服务器其它

我们都是通过错误日志查看 在rsyncd.log里面或.err文件里面,大家可以用记事本打开查看. 注意windows下面我们需要给SvcwRsync用户,管理同步目录的所有权限,基本上这样就可以了 问题一: @ERROR: chroot failed rsync error: error starting client-server protocol (code 5) at main.c(1522) [receiver=3.0.3] 原因: 服务器端的目录不存在或无权限,创建目录并修正权限可解

Apache与IIS共用80端口的四种方法

为调试程序,本机安装iis与apache,无法同时使用80端口,现给出解决方法: 方法一: IIS5,多IP下共存, IIS为192.168.0.1,apache为192.168.0.2 原文地址 c:\Inetpub\Adminscripts cscript adsutil.vbs set w3svc/disablesocketpooling true 该命令反馈如下disablesocketpooling : (BOOLEAN) True 重启IIS Inetpub\AdminScripts

apache 和iis共用80端口多种解决办法

方法一: IIS5,多IP下共存,IIS为192.168.0.1,apache为192.168.0.2 原文地址 c:InetpubAdminscripts cscript adsutil.vbs set w3svc/disablesocketpooling true 该命令反馈如下disablesocketpooling : (BOOLEAN) True 重启IIS InetpubAdminScripts>cscript adsutil.vbs set w3svc/disablesocketp

Serv-U占用IIS的80端口造成冲突导致iis无法运行的解决方法(serv_u6-8版本)_FTP服务器

我们是怎么发现serv_u占用iis的80端口的呢,大家可以参考的这篇文章IIS 另一个程序正在使用此文件,进程无法访问. 如何查看哪个程序打开了tcp 80端口呢?使用"开放端口查看软件Active ports"就可以一目了然了. 下面是具体的解决方法:serv_u 6版本:大家可以通过设置下 pasv端口范围即可.serv_u 7-8版本 很多人在安装的时候没太注意,默认情况下开启了80和443端口的监听,如果你的这台服务器上有IIS在运行的话,便会造成冲突.冲突的现象表现在两个方

使用apache和IIS,共用80端口的一个解决方案_服务器

将apache设为使用80端口,IIS使用其它端口,比如81,然后将apache作为IIS的代理. 在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 pro

IIS无法启动提示“服务没有及时响应启动或控制请求”的解决方法[图解]_win服务器

于是,从控制面板的中打开"管理工具"-"服务",检查发现和IIS相关的服务"World wide web publishing service"没有启动,试图启动该该服务时,弹出"错误:127 找不到指定的程序"的错误提示.尝试了很多中方法,包括查看80端口是否被其它程序占用,并启动IIS相关的服务等,都解决不了问题,折腾老半天最后发现竟然是微软自家的补丁导致的. 解决方法很简单:卸载删除跟IIS相关的几个漏洞安全更新补丁即可

IIS下Zend 出现 Unable to view file mapping 问题的解决方法汇总_win服务器

zend 错误日志中有:Unable to view file mapping, 试图访问无效的地址.网上搜了下解决方法有 解决方法如下: 对比php两个版本的php.ini文件. ;extension=php_yaz.dll;extension=php_zip.dll检查这个两个是否存在新的版本中.同时确认extension=php_zip.dll前面的;去掉保存重启iis和mysql 大功告成 另外一种说法 eAccelerator v0.9.4-rc1, 这个php加速插件,把这个屏蔽掉就