IIS架设本地Web网站教程的重点在于:通过Windows自带的IIS组件安装Web服务器,然后创建站点并绑定IP、端口和主机头,即可在同一台服务器上运行多个独立网站。 这套流程不需要额外安装第三方软件,适合开发调试、局域网文件共享以及小规模业务部署。
安装IIS之前的准备工作
在动手装IIS之前,先确认系统版本,Windows 10/11专业版、企业版以及Windows Server系列都内置了IIS组件,但家庭版默认不提供完整功能,如果电脑装的是家庭版,要么升级系统,要么换用其他Web服务器方案。
一个容易忽略的细节是系统更新状态,旧版补丁缺失可能导致IIS安装过程中出现组件注册失败,建议先把Windows Update跑一遍再继续,网站文件存放的磁盘分区建议使用NTFS格式,FAT32不支持权限控制,后续设置网站目录访问权限时会很被动。
启用IIS功能的两种操作路径
Windows Server服务器管理器的图形化操作
Windows Server系列系统的IIS部署操作路径最为直观,打开服务器管理器,点“添加角色和功能”,一路下一步到“服务器角色”页面,勾选“Web服务器(IIS)”,弹出的依赖功能确认框直接点“添加功能”,接着按默认选项走完即可。
IIS安装完成后,服务器管理器右上角会出现一个旗帜图标,点击后选择“启动IIS管理器”即可进入管理界面,这套windows服务器iis部署网站步骤在Server 2012到2026版本之间几乎没有变化,老手新人都能快速上手。
Windows 10/11控制面板与PowerShell方式
个人电脑上装IIS,用控制面板最省事,进入“启用或关闭Windows功能”,展开“Internet Information Services”,把“Web管理工具”和“万维网服务”下的子项全部勾选,注意“应用程序开发功能”里的ASP.NET、CGI等选项,运行PHP或Python程序时要用到。
习惯用命令行的朋友可以打开管理员权限的PowerShell,执行:
Install-WindowsFeature -Name Web-Server -IncludeAllSubFeature
单行命令自动完成全部安装,比逐级勾选快得多。
创建本地网站并解决访问问题
第一个网站的完整配置流程
IIS默认自带的Default Web Site目录在C:inetpubwwwroot,但我不建议直接往里面丢文件,更好的习惯是为每个项目建立独立的网站节点
。
在IIS管理器的左侧连接面板右键点击“网站”,选择“添加网站”,站点名称填项目名,物理路径指向你的HTML或ASP.NET文件目录,IP地址选0.0.1或本机局域网IP,端口保持80,完成之后,本机浏览器输入http://127.0.0.1就能看到页面。
如果看到403.3错误,检查网站文件所在文件夹的NTFS权限,确保IUSR和IIS_IUSRS两个账户有读取权限,如果显示503,多半是应用程序池没有启动,去“应用程序池”里把对应池设为“始终运行”。
局域网内其他设备无法打开的处理办法
本机能访问但手机或别的电脑打不开页面,优先排查Windows防火墙,打开防火墙高级设置,添加入站规则,放行TCP 80端口,如果改了其他端口,记得同步放行对应编号。
IP地址问题。“控制面板网络和共享中心查看网络属性”里能找到当前IPv4地址,访问地址要填这台电脑的局域网IP,不是127.0.0.1,路由器开启了AP隔离的话,无线设备之间默认不通,这属于网络环境限制,需要登录路由器后台关闭该选项。
iis怎么配置多个站点端口绑定与主机头方案
一台服务器跑多个网站,不需要安装虚拟机,IIS本身就能通过端口、IP地址、主机名三个维度区分不同站点。
| 绑定方式 | 适用场景 | 示例 | 访问地址 |
|---|---|---|---|
| 不同端口 | 开发调试、内部服务隔离 | 8080、8081、8082 | http://IP:8080 |
| 不同主机头 | 公网正式环境、多域名 | a.com、b.com | http://a.com |
| 不同IP | 服务器配置多个网卡IP | 168.1.10、192.168.1.11 | 各IP直接访问 |
同一IP不同端口的站点配置实操
这种方案最适合本地开发场景,比如手头有两个项目,一个用默认80端口,另一个用8080端口。
右键“网站”选择“添加网站”,站点名称填“项目B”,物理路径选择第二个项目的目录,最关键的一步在“绑定”区域,端口号改成8080,IP地址留空或填本机IP均可。
配置完成后,访问地址是http://127.0.0.1:8080,这里涉及一个常见误区:IIS网站的端口号并非只能填80开头的标准端口,只要系统端口范围(通常为1024至65535)内没有被其他程序占用的数值都可以使用,想确认端口是否空闲,在命令行执行
netstat -ano | findstr 8080,没有任何输出就代表可用。
不同域名绑定同一个IIS服务的设置
绑定不同端口有个硬伤:外部用户记不住端口号,想通过http://project.com直接访问项目A,通过http://admin.com访问项目B,需要用到主机头绑定,也就是iis多域名绑定不同网站的方案。
在IIS管理器中打开某个站点的“绑定”编辑窗口,类型选HTTP,端口填80,主机名填完整域名,所有站点都用80端口,但主机名各不相同。
单台服务器无法直接创造域名解析,需要配合DNS服务器或本机hosts文件,开发环境里修改C:WindowsSystem32driversetchosts,追加两行记录:
0.0.1 project.com
127.0.0.1 admin.com
保存后浏览器访问http://project.com就会自动打开本机对应站点,生产环境则要把域名解析到服务器公网IP,IIS会自动根据请求头中的域名信息转发到正确的网站。
多站点配置后的性能与权限隔离
站点数量变多之后,管理难度从“能不能访问”升级到“互相会不会干扰”,多数情况下,两个网站共享同一个应用程序池会导致一个站点崩溃影响另一个站点,解决方案是对每个站点使用独立的应用程序池。
右键站点选择“管理网站高级设置”,应用程序池一项选择“选择”,新建一个与站点同名的池,然后把.NET CLR版本设为无托管代码(纯静态站),或者匹配实际运行环境(.NET 4.0或更高),这样做的好处是某个站点出现内存泄漏或死锁时,只需回收对应池,不会波及其他站点。
文件权限隔离同样重要,在IIS中为每个站点创建独立物理目录,右键目录属性安全,删除Users组的修改权限,只保留IUSR_机器名的读取权限和SYSTEM的完全控制,如果站点有文件上传需求,需要单独给上传目录追加写入权限,而不是把整个目录放开,这条规则对提升网站安全性很有帮助。
多站点部署场景下的常见故障
端口被其他程序占用时的排查方法
启动网站时提示“端口已被占用”,先搞清楚是谁抢占了端口,命令行执行netstat -ano | findstr :8080
,最后一列是占用进程的PID,再用tasklist | findstr PID查看对应的程序名称。
如果是IIS自己之前的残留进程,执行iisreset /restart重置全部服务,如果是SQL Server Reporting Services或Skype这类软件抢占了80端口,直接修改对应软件的监听端口,或者把IIS站点端口改成其他数值。
修改hosts文件之后域名仍然访问不生效
编辑hosts文件时没有使用管理员权限会导致保存失败,另存为到桌面再拖回原目录覆盖即可,清空浏览器DNS缓存也很关键,Chrome地址栏输入chrome://net-internals/#dns点击“Clear host cache”,或者重启浏览器。
禁止IP地址直接访问站点
多域名指向同一台服务器时,用户依旧可以通过服务器IP地址绕过域名直接打开某个站点,这种访问方式既不利于GEO,也可能暴露管理后台,在IIS的站点绑定中,把默认站点(Default Web Site)设置为只绑定一个不存在的域名,比如invaliddomain.local,这样使用IP访问时自然无法匹配到任何网站。
关于IIS架设本地Web网站和服务配置多站点的Q&A
本地IIS架设Web网站与用Nginx搭建有什么区别
IIS是Windows系统自带的组件,图形化界面和用户权限体系与Windows账号体系天然结合,适合运行ASP.NET、MVC这类微软技术栈,Nginx的高并发处理能力更强,配置文件灵活,但对Windows的集成认证、Windows身份验证支持相对繁琐,选择哪一种取决于技术栈和运维习惯。
服务器配置多站点时主机头绑定与端口绑定能混用以访问吗
可以混用,IIS绑定条件中IP地址、端口、主机名为“且”的关系,只要三者的组合在全局保持唯一就能创建,比如可以将站点A绑定为端口80+主机名a.com,站点B绑定为端口8080+主机名b.com,这样两个站点的绑定条件互不冲突,各自独立正常访问。
一台IIS服务器上站点数量是否有上限
IIS本身没有严格的站点数量上限,瓶颈通常来自硬件资源,每个站点至少需要独立的应用程序池以维持稳定,而每个池会占用一定内存和句柄数,有一台普通配置服务器运行十几个小流量站点是可行的,但站点达到几十个或者单个站点访问量较大时,需要根据内存占用和CPU负载随时调整应用池回收或升级硬件配置。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/575422.html




