知识

win7web服务器

时间:2010-12-5 17:23:32  作者:休闲   来源:百科  查看:  评论:0
内容摘要:Windows 7 自带的 IIS 7.5 其实能跑不少东西。我手里还有一台老掉牙的组装机,Athlon II X2 245,4GB 内存,装的就是 Win7 旗舰版。前阵子拿它当内网文件服务器和测试

Windows 7 自带的服务 IIS 7.5 其实能跑不少东西。我手里还有一台老掉牙的服务组装机,Athlon II X2 245,服务4GB 内存,服务装的服务就是 Win7 旗舰版。前阵子拿它当内网文件服务器和测试站,服务跑了大半年,服务没出过什么大毛病。服务很多人觉得 Win7 早该进垃圾桶了,服务但如果你手头正好有这么一台机器,服务又不想折腾 Linux,服务用它搭个轻量 Web 服务完全可行。服务

先说要装哪些东西。服务控制面板里找到“程序和功能”,服务点“打开或关闭 Windows 功能”,服务展开“Internet 信息服务”。注意别全勾,Web 管理工具里的 IIS 管理控制台要选上,万维网服务里的静态内容、默认文档、目录浏览、HTTP 错误、ASP.NET 这些按需勾。我第一次装的时候图省事全选了,结果多出一堆用不上的模块,启动慢不说,还占内存。后来重装只留了静态内容、默认文档和 CGI,清爽很多。

装完在浏览器输入 localhost,看到 IIS 那个蓝色欢迎页就算成了。默认站点目录在 C:\inetpub\wwwroot,丢个 index.html 进去就能访问。但这里有个坑——Win7 的 IIS 默认只绑定了 IPv6 和 IPv4 的 80 端口,如果你机器上装了 Skype 或者迅雷,它们会抢 80 端口。我那次就是 Skype 后台占着,IIS 启动报错“端口已被占用”。解决办法要么改 Skype 设置,要么在 IIS 里把站点绑定改成 8080。内网用的话 8080 也无所谓,访问时加个端口号就行。

静态页面跑起来后,我想挂个 WordPress 试试。这就麻烦了。Win7 的 IIS 装 PHP 需要手动配置 FastCGI。下载 PHP 的 non-thread-safe 版本,解压到 C:\PHP,然后把 php.ini-production 改名成 php.ini,改几个地方:fastcgi.impersonate=1,cgi.fix_pathinfo=1,extension_dir 指向 ext 目录,再打开 mysqli 和 gd2 扩展。接着回 IIS 管理器,在“处理程序映射”里添加模块映射,请求路径写 *.php,模块选 FastCGI,可执行文件填 C:\PHP\php-cgi.exe,名称随便起。这一步我反复试了三次才成功,前两次都忘了给 PHP 目录加 IIS_IUSRS 的读取权限,一直报 500 错误。

MySQL 倒简单,下个 5.5 的 zip 包,解压后运行 mysqld –install,再 net start mysql 就完事。WordPress 那边填数据库信息时,主机名写 127.0.0.1,别写 localhost,Win7 下 localhost 有时会走 IPv6 解析,连不上。

性能方面别指望太高。我那台机器跑 WordPress 首页大概 1.2 秒左右,并发超过 10 个请求就明显卡。后来我把 PHP 的 opcache 打开,又关了 IIS 的动态压缩,降到 0.8 秒。静态页面倒是飞快,基本秒开。内存占用方面,IIS 工作进程稳定在 40MB 上下,加上 MySQL 和 PHP,总共吃掉 600MB 左右。4GB 内存还剩不少,再跑个 FTP 服务也没问题。

安全上得留个心眼。Win7 早就停止支持了,IIS 7.5 的漏洞补丁也停了。我的做法是只在内网开放,路由器上做个端口转发都别做。另外把 IIS 的目录浏览关掉,默认文档只留 index.html 和 index.php。还有那个“HTTP 响应标头”里的 X-Powered-By,删掉,别让人一眼看出你用的什么。这些都是小动作,但能挡掉不少扫描器。

最后说个实际案例。我用这套环境给部门做了个内部工具导航页,纯静态 HTML,放了十几个常用系统的链接。同时挂了个 DokuWiki 做技术文档,用的是 PHP 5.4 加 SQLite,连 MySQL 都省了。跑了七个月,除了有一次 Windows 自动更新后 IIS 服务没起来,其他时间都稳。重启一下就好了。所以别听那些“Win7 不能做服务器”的论调,看你怎么用。内网、低并发、自己可控,它完全够使。

最近更新
热门排行
copyright © 2026 powered by 烟消火灭网   sitemap