新建IIS网站的核心操作路径是:打开IIS管理器 → 右键“网站”选择“添加网站” → 填写网站名称、物理路径、绑定类型(HTTP/HTTPS)、端口和主机名 → 完成创建后设置应用程序池和权限。 整个过程只需要几分钟,但很多人在绑定端口和权限设置上栽跟头,下面我把每一步拆开讲透。
准备工作:哪些东西没备好会导致iis新建网站失败
在动手之前,先检查三样东西,缺一样,后面九成会报错。
确认IIS功能已安装
很多Windows系统默认不装IIS,尤其是Win10、Win11家庭版和Server Core版本,你需要在“控制面板 → 程序 → 启用或关闭Windows功能”里勾选“Internet Information Services”,同时把“万维网服务 → 应用程序开发功能”下的ASP.NET、CGI等子项一并勾上,不同Windows版本功能名称略有差异,但“IIS管理控制台”必须选上,否则你根本找不到管理界面。
网站文件物理路径提前备好
新建站点必须指定一个物理目录,这个目录最好不要放在C盘系统盘,尤其当你的网站访问量较大时,系统盘空间不足会影响IIS写入日志,行业共识认为,把网站文件放在独立数据盘(如D:wwwroot你的站点名)是更稳的做法,方便备份和迁移。
端口和IP规划别乱来
默认网站占用80端口,如果你要新建第二个站点,必须换端口或者用主机名区分,常见端口分配:
- 80:HTTP默认端口
- 443:HTTPS默认端口
- 8080、8000、8888:常用的备用HTTP端口
如果你不确定当前哪些端口被占用,命令行运行netstat -ano | findstr :端口号查看结果,最后一项PID对应的进程就是占用者。
iis如何新建网站:分步图解与操作细节
下面以Windows Server 2019 / Win10/11 IIS 10.0为例,说明完整的建站流程。
第一步:打开IIS管理器并找到“添加网站”入口
按Win + R输入inetmgr回车就能打开IIS管理器,在左侧连接面板中,展开你的服务器名称,右键单击“网站”文件夹,选择“添加网站”,这个入口很好找,但很多人容易忽略一个细节如果服务器上已经存在占用80端口的站点,新站点的绑定信息必须错开,否则点击“确定”会直接报错。
第二步:填写网站信息四件套
“添加网站”对话框里有四项关键内容:
- 网站名称:随意命名,但建议用域名或项目名,比如
mysite.cn,方便区分多个站点。 - 应用程序池:默认会跟随网站名称自动生成一个独立池,建议保持默认,不要让多个网站共用一个池,防止一个站点崩溃拖垮其他站点。
- 物理路径:点击右侧“…”按钮,浏览到你放置网站文件的那个文件夹,这里建议提前建好空目录,不要直接选到盘符根目录。
- 绑定类型:默认是HTTP,IP地址选“全部未分配”,端口填80,如果你要绑域名,在“主机名”一栏填上你的域名,例如
www.mysite.cn,不填主机名则所有指向该IP的域名请求都会进来。
点“确定”后,左侧“网站”节点下会出现你的新站点,右侧“浏览”按钮可以默认打开浏览器预览,如果出现403或500错误,多半是权限或代码问题,下面会讲到。
第三步:设置应用程序池(.NET版本和管道模式)
右键你刚创建的网站,选择“管理网站 → 高级设置”,或者直接在左侧选中“应用程序池”,找到你网站名对应的池,右键“基本设置”,两个核心选项:
- .NET CLR版本:如果网站是ASP.NET写的,选择v4.0;静态HTML或PHP站点,选择“无托管代码”即可。
- 托管管道模式:经典模式兼容老代码,集成模式性能更好,绝大多数新项目用“集成”。
如果这里选错了,网页会直接白屏或者报“HTTP 500.19”错误,此步骤是iis新建网站过程中最容易忽略的坑,改完配置记得点击“应用”。
第四步:设置网站文件权限(啰嗦但必须做)
IIS运行网站默认使用IIS_IUSRS和IUSR这两个账户读取文件,如果你把网站文件放在NTFS格式的磁盘,但没有给这两个账户分配读取权限,网页就会显示“HTTP 403.2 – 禁止访问”,具体操作:
- 右键网站物理文件夹 → 属性 → 安全选项卡
- 点击“编辑” → “添加”
- 输入
IIS_IUSRS(本机组)和IUSR(虚拟账户) - 勾选“读取”和“列出文件夹目录”权限,如果网站需要写入(比如上传图片、生成缓存),还需要勾选“修改”或“写入”权限
很多新手会问,为什么我ping得通IP但打开网页就是403?九成原因就是这个权限没配。
第五步:绑定域名和HTTPS证书
建站后默认用IP加端口访问,但上线正式环境必须绑域名,选中你的网站,右侧找到“绑定”并点击,编辑现有绑定或添加新绑定:
- HTTP绑定:类型选HTTP,端口80,主机名填
www.mysite.cn - HTTPS绑定:类型选HTTPS,端口443,需要提前导入SSL证书,证书可以在IIS管理器“服务器证书”模块里导入,也可以在“添加网站”时直接选择
一个域名带不带www是两种主机名,需要分别绑定,如果同一台服务器上有多个HTTPS站点,必须给每个站点绑定独立IP,或者使用SNI(服务器名称指示)功能区分,否则会提示证书不匹配。
同时运行多个网站:端口绑定和主机名方案对比
实际生产场景中,一台服务器往往要跑多个网站,这里给出三种常见方案,供你根据实际情况选择:
| 方案类型 | 实现方式 | 适用场景 | 端口占用情况 |
|---|---|---|---|
| 不同端口 | 站点A绑定80,站点B绑定8080 | 测试环境、内网系统 | 每个站点独立端口 |
| 同端口按域名 | 绑定相同IP和端口,主机名填不同域名 | 对外正式网站 | 共享80或443端口 |
| 独立IP绑定 | 每个站点绑定不同IP地址 | 需要HTTPS证书且无SNI的旧环境 | 每个站点独占IP |
如果你只是本地调试代码,建议用第一种方案,访问地址是http://localhost:8080,如果是在云服务器上部署正式网站,建议用第二种,并且绑定域名后在云控制台的安全组里放行对应端口,否则外部仍然无法访问。
解决iis新建网站后无法访问的常见故障
建站操作本身不复杂,但建完打不开网页才是真正考验排查能力的地方,集中解决以下高频问题,能替你省下大量求助时间。
HTTP 503 服务不可用:应用程序池崩溃了
最常见的原因就是应用程序池被停止或崩溃,打开“应用程序池”节点,看你的池是不是显示“已停止”,右键“启动”恢复,同时去“事件查看器 → Windows日志 → 应用程序”里翻一下报错来源,确认是什么模块导致的崩溃,如果是权限问题,参考上面的步骤补权限后重启池。
HTTP 500.19 配置错误:web.config或权限写错
提示`无法读取配置节”时,检查你网站根目录下有没有web.config文件,以及该文件所在的路径是否有“IIS_IUSRS”的读取权限,业内专家指出,这种错误绝大多数发生在网站物理路径权限从默认位置改过之后。
端口被占用导致新建站点立即报错
如果你在添加网站时已经提示端口冲突,那么新建的站点多半处于停止状态,在命令行执行netstat -ano查一下该端口PID,然后去“任务管理器 → 详细信息”里找到对应进程,判断是否可以被关闭,或者干脆换一个备用端口,是最省事的办法。
外部设备无法访问但本机可以
本机能打开,局域网或公网打不开,依次检查:
- 服务器防火墙入站规则是否放行该端口
- 云服务器安全组是否放行该端口
- 路由器是否做了端口映射(家用宽带搭建)
这个问题经常出现在国内云服务器上,控制台安全组和系统防火墙是两个独立层面,两边都得放行。
IIS站点安全与日常维护要点
网站跑起来只是开始,稳定和安全更考验细节。
关闭不必要的HTTP方法
在IIS的“请求筛选”模块里删除除了GET、POST、HEAD之外的方法,比如PUT、DELETE、OPTIONS,很多人建完站就把这步跳过了,结果网站被扫描工具探测到,被植入恶意脚本,安全隐患往往就是在iis新建网站完成后的一小时内产生的。
目录浏览必须关闭
双击站点主页的“目录浏览”功能,确保状态为“已禁用”,否则访问http://你的域名/某个目录/会直接列出所有文件,源码和配置信息全部暴露。
定期备份应用池配置和站点配置
IIS里每个网站的配置都存在C:WindowsSystem32inetsrvconfigapplicationHost.config这个文件里,把该文件连同网站物理目录一起备份,即可完整复现站点,备份后如果重装系统,只需把文件拷回去,IIS里就能看到原有站点配置。
常见问题解答
iis新建网站后提示“另一个网站正在使用同一端口,如何解决”?
iis新建网站无法启动,错误提示为“进程无法访问,因为另一个程序正在使用”,怎么处理?
找到占用该端口的软件,常见的有Apache、Nginx、SQL Server Reporting Services或IIS自己创建的重复站点,在命令行运行netstat -ano | findstr 端口号查PID,再在任务管理器中找到该PID的进程并结束它,在纯IIS环境下,多数情况下是之前创建的重复站点未删除所致。
如何用同一个IP在IIS上搭建多个网站?
如果三个站点都走80端口,第一种是三个域名分别绑定到三个站点的“主机名”字段,访问时IIS会根据请求的Host头部自动分发,如果其中某些站点没有域名,那就只能用不同端口区分,比如一个用80,另一个用8080,第三个用8000,在云服务器上还需要在安全组里放行对应端口。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/575598.html




