分享、学习、提高
2009/03/22 22:46
文章作者:Enjoy 转载请注明原文链接。
习惯了php,越来越觉得php比asp好用,apache比IIS好用。纯属个人观点,呵呵!

最终决定把自己的服务器由IIS主服务器改装成Apache服务器,原IIS站点使用apache的proxy功能来实现访问,逐步把asp站点切换成php。

整个过程记录一下。

1.把IIS站点全部停掉,net stop iisadmin。
2.apache的httpd.conf中,把proxy_module和proxy_http_module前面的#去掉,开启proxy模块。
3.更改IIS和Apache的设置。例如:
IIS配置:down.itlearner.com更改端口为8083,主机头不填。
apache配置
<VirtualHost *>
    ServerName down.itlearner.com
    ProxyPass / http://localhost:8083/
    ProxyPassReverse / http://localhost:8083/
</VirtualHost>

3.把apache的端口改为80,启动。

这样就可以通过apache的proxy功能来实际访问IIS的站点了:)

apache服务器运行了快一周了,有一些错误也记录一下。
在error.log中看到好多:
引用
[Wed Mar 18 23:17:37 2009] [warn] (OS 64)指定的网络名不再可用。  : winnt_accept: Asynchronous AcceptEx failed.

参考:http://www.itlearner.com/code/apache2.2/mod/mpm_winnt.html
在配置文件中加了Win32DisableAcceptEx,解决。
引用
[Thu Mar 19 11:01:51 2009] [notice] Server built: Dec 10 2008 00:10:06
[Thu Mar 19 11:01:51 2009] [notice] Parent: Created child process 3532
[Thu Mar 19 11:01:51 2009] [notice] Disabled use of AcceptEx() WinSock2 API

从此不再有此warn提示出现!

有些静态页面不需要proxy,可以直接让apache来解析。
结果出现好多:
引用
[Fri Mar 20 10:10:04 2009] [error] [client 221.238.248.241] unknown directive "main" in parsed doc F:/itlearner/www/article/2005/2551.shtml

找了好久,才发现页面中有<!--#main-->的代码,本来是注释的代码,但由于我开启了include模块(ssi),apache认为这段是某语法,导致出错。将#去掉,改为<!--main-->,解决。
发表评论
表情
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
昵称   密码   游客无需密码
网址   电邮   [注册]