设为首页 收藏本站
查看: 2733|回复: 0

[经验分享] 【转】windows系统下apache和IIS共用80端口的安装调试实录

[复制链接]

尚未签到

发表于 2015-8-6 10:16:27 | 显示全部楼层 |阅读模式
  windows系统使用php不仅效率不高,而且总容易出问题,终于下决心在windows下安装apache环境,不过由于仍然有ASP程序,因此IIS还得保留。我安装apache后折腾了很久查了不少资料,才终于调通,这里将我的安装配置记录说明下,希望能给其他也出现问题的朋友一个参考。
  安装环境:
系统原本环境是windows2003+IIS+php+mysql系统,apache使用的是xampp集成安装包,目前的版本包含了Apache HTTPD 2.2.11, MySQL 5.1.33, PHP 5.2.9, Openssl 0.9.8i。安装后apache下的网站使用80端口,IIS使用8081端口,通过apache代理转发为80端口。
  安装调试:
  首先将IIS的所有网站端口改为8081端口重启IIS,然后下载xampp的windows安装包安装到D盘xampp目录,运行后提示mysql被占用,apache也无法启动。mysql被占用是因为原有的mysql服务并没有卸载,停掉xampp然后重启,发现mysql已经提示可以使用了(此时使用的是原有的mysql系统,这样就不用倒腾数据库了,真是方便,这样IIS的php也照样能用,apache的PHP使用的是xampp自带的配置)。而apache无法启动的原因通常来说这都是80端口被占用,于是将迅雷的TCP端口从80改成其他任意一个端口。
  再次重启xampp,apache仍然无法启用,依旧提示busy。于是检查80端口占用情况,在cmd命令行环境输入以下命令:netstat -nao | find “LISTEN” | find “:80″,发现80端口还和一个进程建立了联系,在任务管理器->查看->选择列->勾选PID进程,显示被system占用。在系统服务里关闭world wide web publishing service,重启xampp后apache就可以使用了。看来还是IIS的问题,备份好IIS之后,将IIS所有网站都删除,然后重启IIS仍然不行。看了许多资料都没办法,只有卸载IIS重新安装,然后导入之前的备份并将所有网站关闭。再次查看端口占用情况,发现0.0.0.0:80被pid为4的system进程监听,于是检查所有IIS下的网站,发现确实有一个网站的端口没有更改默认80端口,更改之后,重启IIS和xampp,apache还是显示busy,80端口仍然被IIS监听。
  估计是恢复IIS备份恢复后,还是保留了原有的状态,于是再次卸载和安装IIS,这次不再恢复备份,而是直接新建tcp端口为8081的网站,这下apache终于可以启用了。当然还得重新设置apache和配置虚拟主机,才可以访问apache和IIS下的网站。
  修改在apache下conf目录的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

  另外检查下是否要包含httpd-vhosts.conf文件,如果下述文字前方有#,就把他去掉
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
  接着在conf的子目录extra下的httpd-vhosts.conf文件,添加apache和IIS下的虚拟主机信息:
  apache下的虚拟主机配置范例:
  
  ServerAdmin b@b.com
    ServerName    www.kuangfeng.cn
    ServerAlias kuangfeng.cn *.kuangfeng.cn
    DocumentRoot  “d:/kuangfeng”

  IIS下的虚拟主机配置范例:
  
    ProxyPreserveHost On
    ServerAdmin a@a.com
    ServerName www.dothetask.cn
    ServerAlias     dothetask.cn  *.dothetask.cn
    DefaultLanguage zh-CN
    AddDefaultCharset GB2312
    ProxyPass / http://www.dothetask.cn:8081/
    ProxyPassReverse / http://www.dothetask.cn:8081/

  记住IIS下应建立tcp端口为8081的同一域名网站,才能实现转发。当然上述配置修改保存后,要重启IIS和XAMPP才能生效。
  以上是我不得己的办法,如果你只是想本地测试或者有多余的IP还可以用下述的方法让apache和IIS共存:
  1:服务器有两个IP:
  你可以让IIS和apache使用不同的IP,这样两个系统都可以用80端口,而不需要使用代理功能了。
  这种情况下只需要在httpd.conf文件中的监听端口设置处将下述文字对应修改就可以了
  默认设置:
#Listen 12.34.56.78:80
Listen 80
  修改后:
listen 192.168.0.2:80
  2.本地测试
  这种最简单,你可以让IIS用81端口,apache使用默认80端口,就可以同时使用了。
  希望以上的文字能给大家有所帮助,也希望大家安装调试顺利成功!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-94659-1-1.html 上篇帖子: 使用Apache Commons Chain(转载) 下篇帖子: ant编译apache-nutch-2.2.1结合mysql实现爬虫的安装配置全过程
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表