Windows Server 上使用 IIS 搭建 WWW 与 FTP 服务器完整指南 简介这份PDF资料面向软件开发人员与系统管理员聚焦Windows平台下基于IIS搭建WWW与FTP服务器的完整实验流程适合需要掌握网络服务部署基础技能、准备相关实验或课程作业的读者。资源包内仅含1个PDF文件大小约34KB以图文步骤形式组织内容便于按任务顺序对照操作。资料围绕三大任务展开通过控制面板安装IIS组件配置WWW服务器的IP地址、TCP端口、主目录与访问权限、默认文档、虚拟目录及目录安全性以及创建FTP服务器并完成DNS别名记录、安全账户与主目录权限设置。内容覆盖从组件安装到站点发布、权限控制与安全策略的完整链路可作为实验参考手册或日常维护速查清单。目前已有105人学习适合希望快速上手IIS服务部署的开发者与运维人员参考。1. 从一台裸机到能访问的站点IIS 把 WWW 和 FTP 一次讲透手里拿到一台刚装好的 Windows Server领导丢过来一句“把网站和文件共享搭起来”很多人第一反应是去找第三方工具。其实系统自带的 IIS 就能把 WWW 和 FTP 两件事一起办了不用额外装软件也不用改防火墙规则之外的任何东西。这份《搭建WWW服务器和FTP服务器[总结].pdf》走的就是这条路用控制面板装 IIS再分别配 WWW 站点和 FTP 站点。它适合两类人——刚接触服务器部署、需要一份能照着敲的流程的新手以及平时只碰代码、偶尔要临时起个静态站点或文件交换目录的开发者。整份材料把“装组件、配站点、设权限、做安全”四件事串成了一条线下面我按实际动手顺序拆开讲顺带把几个容易翻车的地方标出来。2. 装 IIS 与规划站点组件勾选和端口分配先定死2.1 为什么选 IIS 而不是别的在 Windows 环境里搭 WWW 和 FTPIIS 是最短路径。它跟系统集成度高装完就能用权限模型直接复用 Windows 账户体系不用额外维护一套用户库。常见做法是在“服务器管理器”里通过“添加角色和功能”安装但这份材料走的是控制面板的“打开或关闭 Windows 功能”两条路殊途同归最终都是把 IIS 相关组件勾上。选 IIS 的另一个理由是 FTP 和 WWW 共用同一个管理控制台配完网站顺手就能把 FTP 站点配了不用在两个工具之间来回切。需要提前想清楚的是端口。WWW 默认 80FTP 默认 21。如果这台机器上已经有别的服务占了 80要么改端口要么先停掉占用方。改端口不是不行但访问时得带端口号比如http://192.168.1.2:8000对用户不友好。我的习惯是能不动 80 就不动实在冲突再改改完在防火墙里同步放行新端口。2.2 安装 IIS 的完整操作打开“控制面板”→“程序”→“启用或关闭 Windows 功能”在列表里找到“Internet Information Services”。展开后重点勾这几项Web 管理工具 → IIS 管理控制台万维网服务 → 常见 HTTP 功能默认文档、目录浏览、HTTP 错误、静态内容万维网服务 → 应用程序开发功能按需纯静态站点可不勾 ASP.NET万维网服务 → 安全性请求筛选、基本身份验证按需FTP 服务器 → FTP 服务、FTP 扩展性勾完点确定系统会自动完成安装。装完后在“管理工具”里能看到“Internet Information Services (IIS) 管理器”打开它左侧展开服务器节点能看到“网站”和“FTP 站点”两个目录说明组件到位了。提示如果“FTP 服务”在功能列表里找不到先确认系统版本是否支持部分精简版镜像会裁掉这个组件。2.3 站点规划IP、端口、主机头怎么分一台机器可以跑多个网站靠三样东西区分IP 地址、端口、主机头。如果只有一个 IP最省事的做法是用主机头区分不同域名。比如www.site-a.com和www.site-b.com都解析到同一个 IPIIS 里建两个站点主机头分别填对应域名80 端口共用互不干扰。FTP 这边通常一个站点就够除非要给不同部门分不同根目录那就建多个 FTP 站点用不同端口或不同 IP 区分。规划阶段把这几项写下来WWW 站点用哪个 IP、哪个端口、主机头是什么、主目录在哪FTP 站点用哪个 IP、哪个端口、根目录在哪、允许哪些账户访问。后面配置时照着填比边配边想要快得多。3. 配 WWW 站点主目录、默认文档与虚拟目录3.1 网站基本参数设置打开 IIS 管理器左侧选中“网站”右键“Default Web Site”选“属性”新版 IIS 里是“编辑绑定”和“基本设置”分开的逻辑一样。在“网站”选项卡里填描述给站点起个名字方便自己认。IP 地址下拉选本机 IP或者选“全部未分配”让 IIS 自动监听。TCP 端口默认 80。如果改成 8000访问时就要写http://192.168.1.2:8000。SSL 端口默认 443只有配了证书才生效访问时用https://。改完端口记得在 Windows 防火墙里放行对应入站规则否则本机自己能访问外面访问不了。3.2 主目录与访问权限切到“主目录”选项卡这里决定网站内容从哪来。三个选项此计算机上的目录最常用填本地路径比如D:\wwwroot。另一台计算机上的共享填 UNC 路径比如\\fileserver\web需要提供有权限的账户。重定向到 URL所有请求转到另一个地址适合做跳转。下面的访问权限勾选框纯静态站点勾“读取”就够。需要上传文件才勾“写入”需要跑 CGI 才勾“执行”。多勾一个权限就多一分风险按最小必要原则来。# 查看 80 端口是否被占用Windows 下用 netstat netstat -ano | findstr :80 # 如果被占用看是哪个进程 tasklist | findstr PID # 放行 80 和 21 端口管理员权限运行 netsh advfirewall firewall add rule nameHTTP-In dirin actionallow protocolTCP localport80 netsh advfirewall firewall add rule nameFTP-In dirin actionallow protocolTCP localport21上面几条命令解决的是“配好了但外面访问不了”的高频问题。netstat那条用来确认端口有没有被别的程序抢走netsh两条是开防火墙。参数上localport换成你实际用的端口dirin表示入站规则。3.3 默认文档与虚拟目录“文档”选项卡里配默认文档。用户访问http://192.168.1.2时IIS 按列表顺序找文件找到第一个就返回。常见配置是把index.html或default.aspx放最上面。如果列表里没有你要的文件名点“添加”加进去。虚拟目录解决的是“主目录之外的内容怎么通过网站访问”。比如主目录在D:\wwwroot但有个下载目录在E:\downloads不想挪文件就建虚拟目录。操作右键网站名 → 新建 → 虚拟目录 → 填别名比如dl→ 选物理路径E:\downloads→ 设访问权限 → 完成。之后用户访问http://192.168.1.2/dl就能看到那个目录的内容。!-- 虚拟目录在 applicationHost.config 里的样子了解结构即可一般不用手改 -- virtualDirectory path/dl physicalPathE:\downloads /这段配置说明虚拟目录本质是把 URL 路径映射到物理路径IIS 管理器里的操作最终就是写进这个配置文件。知道这层关系出问题时可以直接去%windir%\system32\inetsrv\config\applicationHost.config里核对。3.4 安全设置匿名账户、IP 限制与内容分级“目录安全性”选项卡里管三件事。匿名访问默认用IUSR账户如果网站文件放在 NTFS 分区上要确保IUSR对该目录有读取权限否则会出现 401 错误。IP 地址限制可以配“授权访问”或“拒绝访问”列表适合只允许内网访问的场景。HTTP 头里的内容过期和分级属于锦上添花一般内网站点用不上公网站点可以配过期时间减少重复请求。4. 配 FTP 站点账户、主目录与目录安全性4.1 FTP 服务安装与 DNS 别名FTP 组件在装 IIS 时一起勾上就行。如果当时没勾回到“启用或关闭 Windows 功能”里补勾“FTP 服务”和“FTP 扩展性”。装完后 IIS 管理器左侧会出现“FTP 站点”节点。DNS 别名这一步是可选的。如果用户习惯用ftp.xxx.com访问就在 DNS 管理器里建一条 CNAME 记录指向服务器主机名。内网环境直接用 IP 访问也行省掉这步。4.2 FTP 站点核心配置右键“Default FTP Site”选属性重点看三个选项卡安全账户设置匿名访问用哪个账户以及连接成功、连接失败时给用户什么提示消息。匿名访问默认用IUSR如果要让用户用 Windows 账户登录取消匿名勾选靠“基本身份验证”走。主目录跟 WWW 类似选本地目录或共享目录设读取和写入权限。FTP 的“写入”权限对应上传“读取”对应下载。目录列表样式选 MS-DOS 或 UNIX影响客户端看到的列表格式一般选 UNIX 兼容性更好。目录安全性配“授权访问”或“拒绝访问”的 IP 列表。比如只允许公司网段192.168.1.0/24访问就在这里加授权条目。# 用命令行测试 FTP 是否通Windows 自带 ftp 客户端 ftp 192.168.1.2 # 输入用户名和密码后 ls # 列出目录 put test.txt # 上传文件 get test.txt # 下载文件 bye # 退出这几条命令用来验证 FTP 站点是否正常工作。ls看目录列表能不能出来put和get分别测上传下载。如果连不上先检查 21 端口防火墙规则再检查 FTP 站点的“FTP 防火墙支持”里有没有配数据通道端口范围。4.3 被动模式与防火墙的配合FTP 有个经典坑控制连接走 21 端口但数据连接在被动模式下会随机开一个高端口。如果防火墙只放行了 21会出现“能登录、能列目录但传文件卡死”的现象。解决办法是在 FTP 站点的“FTP 防火墙支持”里指定数据通道端口范围比如50000-50100然后在防火墙里放行这个范围。# 放行 FTP 被动模式数据端口范围 netsh advfirewall firewall add rule nameFTP-Passive dirin actionallow protocolTCP localport50000-50100这条规则配合 IIS 里设的端口范围使用两边数字要一致。范围不用太大够并发用就行开太多等于扩大攻击面。5. 避坑排查401、530 和端口冲突怎么解5.1 网站返回 401.3 未授权现象浏览器访问网站弹出登录框输入正确账户也进不去或者直接报 401.3。原因NTFS 权限没给IUSR账户读取权限或者匿名访问被关了但没配其他验证方式。解决右键网站主目录 → 属性 → 安全 → 编辑 → 添加IUSR给读取权限。如果确实需要验证在 IIS 的“身份验证”里启用“基本身份验证”或“Windows 身份验证”。5.2 FTP 登录报 530现象FTP 客户端连上后提示 530 User cannot log in。原因用户名或密码错、账户被锁定、或者 FTP 站点没允许该账户登录。解决先在本地用ftp 127.0.0.1试排除网络因素。然后检查“安全账户”里是否允许该用户以及 Windows 本地用户属性里“允许登录到 FTP”有没有被限制。5.3 端口冲突导致服务起不来现象IIS 里启动网站报“端口已被占用”或者服务显示运行但访问不了。原因80 或 21 被其他程序占用常见的是另一个 Web 服务、远程管理工具或之前残留的 IIS 站点。解决netstat -ano | findstr :80找到占用进程 PIDtasklist确认是什么程序能停就停不能停就改 IIS 站点端口。5.4 虚拟目录访问报 404现象主站能访问虚拟目录路径报 404。原因别名拼错、物理路径不存在、或者虚拟目录的权限没配。解决在 IIS 里点开虚拟目录看“基本设置”里的物理路径是否正确再检查该路径的 NTFS 权限是否给了IUSR读取。5.5 外网访问不了但本机正常现象服务器上浏览器能打开网站同一局域网其他机器打不开。原因Windows 防火墙没放行端口或者 IIS 绑定里 IP 地址选了127.0.0.1而不是0.0.0.0。解决检查防火墙入站规则确认 80/21 已放行检查 IIS 站点绑定的 IP 地址选“全部未分配”或本机实际 IP。6. 进阶技巧用绑定和日志把多站点管明白站点跑起来只是开始真正省事的是把多站点和日志配好。一台服务器跑多个网站时绑定信息就是你的地图。在 IIS 里点“网站”→“绑定”能看到每个站点占用的 IP、端口、主机头组合。我的习惯是建一个表格记下来改配置前先看一眼避免两个站点抢同一个绑定。站点名IP端口主机头物理路径官网192.168.1.280www.site-a.comD:\www\site-a内部系统192.168.1.280oa.site-a.comD:\www\oaFTP 共享192.168.1.221无E:\ftp-root日志这块IIS 默认按天记录到%SystemDrive%\inetpub\logs\LogFiles。出问题时先看日志里的sc-status字段404 是找不到文件403 是权限拒绝500 是服务端错误。FTP 日志在“FTP 日志记录”里单独配能看到具体是哪个账户、从哪个 IP、传了什么文件。还有一个实用技巧用appcmd命令行导出和导入 IIS 配置。换服务器时不用一个个手点导出 XML 再导入就行。# 导出当前 IIS 配置 %windir%\system32\inetsrv\appcmd list site /config /xml sites.xml # 在新服务器上导入 %windir%\system32\inetsrv\appcmd add sites /in sites.xmlappcmd是 IIS 自带的命令行工具list site /config /xml把站点配置导成 XMLadd sites /in从文件恢复。参数上注意路径别写错导入前先备份目标服务器的现有配置。血泪经验是每次改完绑定或权限先用ftp 127.0.0.1和curl -I http://127.0.0.1在本机验一遍再找另一台机器从局域网访问。两步都过了才算真的配好。从那以后我每次动 IIS 配置都强制走一遍本机回环测试省掉了很多“以为配好了其实没生效”的来回折腾。希望帮到你。本文还有配套的精品资源点击获取