打开服务器管理器,建网添加角色和功能,建网勾选Web服务器(IIS),建网一路下一步,建网安装完成。建网这是建网最顺利的情况。三分钟搞定,建网浏览器输入localhost,建网出现那个默认的建网蓝色页面,网站就跑起来了。建网但真实搭建一个能访问的建网网站,坑全在后面。建网
你得先明白IIS是建网什么——它是个把HTML、ASP.NET、建网PHP这些文件翻译成HTTP响应的建网服务程序。Windows服务器自带,不用额外花钱,控制面板里“启用或关闭Windows功能”也能调出来。装好后,默认站点指向C:\inetpub\wwwroot,把网页文件丢进去,改个默认文档,就能访问。但绝大多数人卡在权限上。
我见过最典型的案例:同事小李把网站文件放到了D盘自己的文件夹里,IIS站点物理路径也指过去了,结果浏览器访问报403.14——目录列表被拒绝。他折腾了半天,最后发现是文件夹的NTFS权限没给IIS用户(IUSR)读取权限。Windows就是这么较真,你给管理员权限没用,它认的是那个虚拟的IIS账户。右键文件夹→属性→安全→编辑→添加IUSR,勾上读取,问题立刻消失。
端口和绑定是第二个坑。默认80端口被占用的概率很高,尤其是装了SQL Server Reporting Services或者Skype的企业机器。这时你改端口,比如8080,访问就得带端口号:http://服务器IP:8080。但外网用户访问你,还得在防火墙里放行这个端口——Windows防火墙入站规则,新建规则,端口,填上8080,允许连接。这一步漏了,内网测试正常,外网死活打不开。
域名绑定这块,我建议你直接上手操作。在IIS管理器里点站点→绑定→添加,类型选HTTP,主机名填www.yourdomain.com,IP地址选“全部未分配”。这样访问域名时IIS才知道该把请求丢给哪个站点。不填主机名的话,所有指向这台服务器的域名都会跑到默认站点,多站点部署时必乱。
还有那个applicationHost.config文件,位于C:\Windows\System32\inetsrv\config。手动改这个文件能实现图形界面做不到的细节控制,比如URL重写规则、动态压缩设置。但改之前备份,改错了IIS直接起不来。我吃过亏——手滑写错一个section,整个站点池崩溃,重启IIS也没用,最后用备份文件恢复的。
静态页面跑通只是第一步。你要部署ASP.NET应用,得装对应版本的.NET Framework,然后检查应用程序池的.NET CLR版本是否匹配。PHP站点的话,要用FastCGI模块把PHP-CGI.exe接进来,处理程序映射里添加*.php的请求映射。这些配置项每个都对应一个具体文件或注册表键值,报错时看事件查看器里的日志比瞎猜高效得多。
最后提醒一句:IIS日志默认存在C:\inetpub\logs\LogFiles,每天一个文件,记录所有访问请求。网站出问题查这个文件,状态码500是代码错,404是路径错,403是权限错。看日志比问人管用,毕竟日志不会骗你。搭建网站这事,本质就是让文件、权限、端口、域名四个环节都对上,缺一个就白搭。