IIS搭建网站教程的核心就一句话:先装好IIS角色,建一个站点绑定域名,再按端口或主机名复制出多个站点,就能在一台Windows服务器上跑多个网站。 本文会用完整操作路径讲透IIS服务配置多站点的每个细节,帮你避开新手常踩的坑。
IIS搭建网站教程:安装和基础准备
安装IIS角色,别漏了管理工具
Windows Server和Windows 10/11都能跑IIS,但安装方式略有差异,以Windows Server 2019/2026为例,打开服务器管理器,点击“添加角色和功能”,一路下一步到“服务器角色”页面,勾选“Web服务器(IIS)”,这里有个关键点:展开IIS节点,确认“管理工具”子项也被勾选,否则装完找不到图形管理界面,只能用命令行操作,对新手很不友好。
装好后,浏览器输入localhost,如果出现IIS默认欢迎页,说明安装成功,Windows 10/11用户则去“启用或关闭Windows功能”,勾选IIS相关选项,过程类似。
准备网站文件:物理路径和权限先行
IIS默认站点根目录是C:inetpubwwwroot,但实际部署中建议把站点文件放在非系统盘,比如D:sitessite1,避免系统崩溃或重装时数据丢失,把网站代码放进去后,右键文件夹设置权限,给IIS_IUSRS组赋予“读取与执行”权限,这一步常被忽略,结果就是站点启动后显示403错误,页面一片空白。
IIS配置多站点,三种方式怎么选
IIS服务配置多站点的原理很简单:每个站点必须有一组唯一的绑定信息,也就是“IP + 端口 + 主机名”三件套,至少其中一项不同,站点才能同时运行,下面详细说三种方案。
按端口区分多站点,IIS怎么配置多个网站端口
这种方式最直观,适合没有独立域名、纯IP访问的内部测试环境,在IIS管理器中,右键“网站”选择“添加网站”,端口填8080,另一个站点填8081,访问时输http://IP:8080和http://IP:8081。
操作步骤:
- 添加第一个站点,端口填8080
- 添加第二个站点,端口填8081
- 确认两个站点的“IP地址”都设为“全部未分配”,避免冲突
它的优点是配置简单,缺点是很不像正式环境,外部用户记不住带端口的网址,而且如果服务器开了防火墙,每个端口都要单独放行,管理成本高,我自己第一次配多站点就用这种方式,后来项目一多,端口列表密密麻麻,连自己都分不清哪个端口对应哪个项目,最后还是换成了主机名方案。
按IP区分多站点:服务器有多张网卡时用这个
如果服务器绑定了多个IP地址,可以给每个站点分配独立IP,在“添加网站”时,“IP地址”下拉框里选择指定的IP,端口统一用80,这种方式适合需要SSL证书、且IP资源充足的场景,因为每个IP都可以独立绑定证书。
但多数云服务器默认只有一个内网IP和一个公网IP,想用这个方案得额外购买IP,成本不低,行业共识认为,IP绑定方案在IPv4地址紧张的当下已经逐渐边缘化,除非有合规或安全上的硬性要求,否则不推荐优先使用。
按主机名区分多站点:IIS绑定域名最推荐的方式
绝大多数生产环境的正确选择。只要把多个域名都解析到同一个服务器IP,然后每个站点绑定不同的主机名(域名),IIS就会根据请求头里携带的域名信息,自动把流量转发给对应的站点。
操作步骤:
- 添加第一个站点,“类型”选http,“主机名”填
www.site1.com - 添加第二个站点,主机名填
www.site2.com - 两个站点都用80端口、同一个IP,互不冲突
访问时输入完整域名,浏览器地址栏干干净净,体验和独立服务器毫无差别,这也是我目前在用的方案,一台2核4G的云服务器上跑了五个站点,CPU占用常年维持在30%以下,稳得很。
IIS绑定域名和SSL证书,别让流量裸奔
绑定域名后,记得加一条URL重写规则
域名绑好以后,还差一个关键操作:让所有HTTP请求自动跳转到HTTPS,如果直接让用户访问http://,浏览器会提示“不安全”,跳出率直接飙升。
安装“URL重写”模块,然后到站点根目录的web.config文件里加一段规则,或者直接在IIS管理器的“URL重写”功能里创建规则:
- 匹配条件:输入为,意思匹配所有路径
- 操作类型:选择“重定向”
- 重定向URL填
https://{HTTP_HOST}/{R:1} - 重定向类型选“301(永久)”
这样所有HTTP流量都会自动转向HTTPS,用户无需手动改地址。
SSL证书配置:IIS导入证书只需三步
从证书服务商那里拿到证书文件(通常是.pfx格式),在IIS的“服务器证书”里点击“导入”,选好证书文件、输入密码,然后回到站点“绑定”窗口,点“添加”,类型选“https”,端口443,SSL证书选刚才导入的那个,完成后用https://访问验证一下,浏览器地址栏有小锁图标就对了。
IIS多站点上线后的常见坑
默认站点抢占了80端口
这是新手最容易撞上的问题,装好IIS后自带一个“Default Web Site”,它默认绑定了80端口,如果你新建的站点也选80端口,会直接提示“该端口正在使用”,解决方法是右键默认站点选择“停止”,或者把它的绑定信息改成其他端口。同一个端口 + 同一个IP下,只能有一个未绑定主机名的站点,否则必须区分主机名。
防火墙没放行,外网访问不了
服务器本地能打开,外网打不开,九成是防火墙问题,这属于IIS搭建网站教程里最实用的排错点,Windows防火墙默认会拦截外部对80端口和443端口的访问,需要手动放行。
管理员身份运行PowerShell,执行:
New-NetFirewallRule -Name "IIS-Web" -DisplayName "IIS Web Server" -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 80,443
另外还要确认云服务器安全组规则里放行了80和443端口,前后端都通了,外网访问才算真正打通。
访问出现400错误或401、403错误
400错误通常是主机名绑定不匹配,比如用IP访问一个只绑定了域名的站点,IIS不知道该把请求发给谁,401和403则大多是权限问题,检查站点对应的物理文件夹IIS_IUSRS权限是否给够,这个排查顺序我建议遵循:先查绑定、再查权限、最后查防火墙,绝大多数问题都能定位到。
IIS搭建网站教程Q&A:多站点配置常见问题
IIS能同时跑多少个网站?
IIS本身对站点数量没有硬性限制,只要服务器内存、CPU和带宽资源足够,几十个站点都能正常跑,实际运行时,每个站点都是一个独立的应用池进程,站点多了会占用大量内存,所以一台服务器跑10-20个中小流量站点是合理区间,超过这个数量建议拆分到多台服务器或改用Nginx等反向代理方案。
配置多站点时需要给每个站点单独建应用池吗?
一般建议每个站点单独创建应用池,在“高级设置”里把“应用程序池”改成新创建的池,可以防止一个站点崩溃后拖垮其他站点,如果站点之间使用同一个应用池,某个站点出现内存泄漏或CPU占用异常,同一池内的所有站点都会受到影响。
Windows服务器部署网站哪个好用,IIS和Apache/Nginx怎么选?
这取决于你的技术栈,如果网站基于ASP.NET或.NET Core开发,IIS是唯一顺手的选择,与Windows生态集成度高,图形管理界面和Windows事件日志对排查问题帮助很大,如果网站是PHP项目,IIS也支持通过FastCGI运行PHP,但配置复杂度略高,多数情况下,资深运维人员会用Nginx做反向代理,把动态请求转发给IIS处理,各取所长,纯静态页面或PHP站点优先选Nginx,Windows自带的IIS则更适合微软技术栈。
据工信部最新统计,国内政企单位的Windows Server保有量仍然相当大,预算有限、人手紧缺的中小团队更偏好IIS自带的可视化界面,踩坑门槛比命令行低不少,这也让IIS服务配置多站点成为Windows运维岗位的经典考察点。
最后回到核心思路:一台IIS服务器多站点,本质就是用IP、端口、主机名三个维度做区分,生产环境首选主机名方案,开发测试可混用端口方案,按这个思路走,IIS搭建网站和配置多站点的整个流程,半小时内就能跑通。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/576315.html




