简介:这份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 和 FTP,IIS 是最短路径。它跟系统集成度高,装完就能用,权限模型直接复用 Windows 账户体系,不用额外维护一套用户库。常见做法是在“服务器管理器”里通过“添加角色和功能”安装,但这份材料走的是控制面板的“打开或关闭 Windows 功能”,两条路殊途同归,最终都是把 IIS 相关组件勾上。选 IIS 的另一个理由是 FTP 和 WWW 共用同一个管理控制台,配完网站顺手就能把 FTP 站点配了,不用在两个工具之间来回切。
需要提前想清楚的是端口。WWW 默认 80,FTP 默认 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都解析到同一个 IP,IIS 里建两个站点,主机头分别填对应域名,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 name="HTTP-In" dir=in action=allow protocol=TCP localport=80 netsh advfirewall firewall add rule name="FTP-In" dir=in action=allow protocol=TCP localport=21上面几条命令解决的是“配好了但外面访问不了”的高频问题。netstat那条用来确认端口有没有被别的程序抢走,netsh两条是开防火墙。参数上,localport换成你实际用的端口,dir=in表示入站规则。
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" physicalPath="E:\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 name="FTP-Passive" dir=in action=allow protocol=TCP localport=50000-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找到占用进程 PID,tasklist确认是什么程序,能停就停,不能停就改 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.2 | 80 | www.site-a.com | D:\www\site-a |
| 内部系统 | 192.168.1.2 | 80 | oa.site-a.com | D:\www\oa |
| FTP 共享 | 192.168.1.2 | 21 | 无 | 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把站点配置导成 XML,add sites /in从文件恢复。参数上注意路径别写错,导入前先备份目标服务器的现有配置。
血泪经验是:每次改完绑定或权限,先用ftp 127.0.0.1和curl -I http://127.0.0.1在本机验一遍,再找另一台机器从局域网访问。两步都过了,才算真的配好。从那以后我每次动 IIS 配置都强制走一遍本机回环测试,省掉了很多“以为配好了其实没生效”的来回折腾。希望帮到你。
本文还有配套的精品资源,点击获取