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

(0)

相关推荐

  • Apache与IIS共用端口的解决方法集

    经过一阵稳定性的考虑后,公司的网站决定采用IIS作管理平台,Apache做访问平台,但服务器对外开放的端口数实在太少,如何使Apache和IIS共用一个端口,而两者兼顾?Google一下,找到以下方法,开始实践.... 为调试程序,本机安装iis与apache,无法同时使用80端口,现给出解决方法: 方法一:原文地址 IIS5,多IP下共存,IIS为192.168.0.1,apache为192.168.0.2 c:\Inetpub\Adminscriptscscript adsutil.vbs 

  • nginx配置多个站点共用80端口的解决方法

    只用改一个地方,在http模块里面加入你要引用的虚拟主机配置文件目录即可: 例如:include /usr/local/nginx/default.d/*.conf; http { log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent"

  • WIN2003 IIS相关错误的解决方法

    我碰到的主要问题是:"Server Application Unavailable 错误"."无法显示网页": 1.如果你的.NET版本是2.0及以上的话,那要注意了:win2003是默认安装1.1的,安装.NET2.0 后,可能会程序应用程序池冲突,具体查看这篇问题:服务器应用程序不可用(server application unavailable)的解决办法 , 用cmd指令打开这个路径:C:\WINDOWS\Microsoft.NET\Framework\v(

  • ReactNative踩坑之配置调试端口的解决方法

    本文介绍了ReactNative踩坑之配置调试端口的解决方法,分享大家,顺便也给自己留个笔记 问题是这样的,由于公司的机器安装了安全软件,http://localhost:8081被占用了.(windows上配置环境真不易,最后一步还是被公司环境坑了) 所以导致按照教程配置完环境最后到真机上还是刷不出来界面 那么我们就这么放弃了吗?当然不,不然就白忙活了 分析问题:端口被占用,那我们换一个端口不就行啦,于是乎各种查阅资料,发现PackageManager(包管理服务)在启动的时候是可以配置端口的

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

    我们是怎么发现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假死的解决方法 缩短IIS应用池回收时间来实现减少IIS假死

    IIS日志: 应用程序:ISAPI 'C:\WINDOWS\system32\inetsrv\asp.dll' 报告它自身有问题,原因如下: 'ASP 不正常,因为执行请求的 100% 被挂起,而且请求队列已经使用了 0%.'. 关于 server 2003+IIS6 出现 'ASP 不正常,因为执行请求的 100% 被挂起 现像如下: 站点无法打开,或者打开很慢.HTML可以打开.重新启动或者回收应用程序池可恢复.但过一段时间又会出现 日志里会有: ISAPI 'C:\WINDOWS\syst

  • 先装VS再装IIS时出错的解决方法

    原来在安装 Microsoft .NET Framework 软件开发工具包 (SDK) 或 Visual Studio .NET 之后,会创建 Internet 信息服务 (IIS) 映射,以便为 ASP.NET 的新文件扩展名及设置建立关联.如果在运行 SDK 或 Visual Studio 安装程序时没有安装 IIS,或是在运行 SDK 或 Visual Studio 安装程序之后卸载并重新安装了 IIS,那么这些设置将不正确.试图查看 ASP.NET 页时会遇到意外现象. 其中就包括,V

  • windows apache 无法启动的两种解决方法

    今天突然发现我的apache无法启动.查询了一些方法.说是更改端口.但是我以前是好用的. 打开了服务:services.msc 从服务中启动apache.成功了. 如果你还是无法启动.那就备份一下数据库.重装apache吧.

  • 关于访问IIS元数据库失败的解决方法

    解决方法如下: 1.依次点击"开始"-"运行". 2.在"运行"栏内输入 "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i "(不含引号),然后点"确定"按钮. 3.出现的cmd窗口中显示"开始安装ASP.NET XXX"等内容,等待这个窗口自动关闭. 好了,到这里一般问题就解决了,如果尚未解决请参考下

随机推荐