互联网信息服务(IIS)可以像访问本地数据一样访问SMB文件系统上的数据,并提供Web服务和FTP服务,实现网站存储与计算分离。本文介绍如何配置IIS访问NAS文件系统。
前提条件
背景信息
目前Windows Server仍然是非常流行的网站构建平台。有不少用户选择阿里云ECS Windows实例构建网站服务,将网站内容资源集中存储在一个高可靠、高吞吐的SMB文件系统上,且计算资源和存储资源都支持按需弹性扩容。
IIS提供的FTP服务也同样有着非常广泛的需求。很多Web站点管理员通过FTP来远程管理Web站点的内容,同时还有很多用户希望使用Windows虚拟机上的FTP服务在广域网和阿里云之间传输和共享文件。
本文以IIS 7.5(Windows Server 2008 R2)的设置为例,介绍阿里云文件存储NAS如何为阿里云ECS Window实例提供单节点的Web服务和FTP服务。您也可以使用阿里云负载均衡服务来构建多服务器节点的弹性容错的站点。更多信息,请参见阿里云负载均衡。
- 本文档操作步骤中已提出安全性建议,但不能作为完整的安全配置和实现方案。您需要承担安全方面的所有最终责任,您可以从系统级别(如设置防火墙、ECS实例安全组和及时安装操作系统补丁)和服务级别(如使用阿里云的各个安全产品)来全面保障自己Web服务和数据的安全性。
- 出于安全和管理的考虑,本案例中新增一个普通用户(iis_user)。在提供FTP服务或者在Windows Server2016上运行IIS Web服务时,请使用该用户而不是系统管理员访问数据。

安装Windows IIS
- 在Windows客户端,选择 。
- 在服务器管理器对话框左侧导航栏,单击角色,然后单击添加角色。
- 在添加角色向导对话框左侧导航栏,单击服务器角色,选中Web 服务器(IIS)。
- 在添加角色向导对话框左侧导航栏,单击角色服务,为Web服务器(IIS)选择需安装的角色服务。
除默认已选中的服务外,还需选中ASP、FTP 服务器等,用于FTP服务和演示动态网页脚本。
- 单击下一步,按照提示完成安装。
访问SMB文件系统
您的Web资源及配置文件可以集中存储在SMB文件系统共享目录(默认为myshare)上。您可以通过设置权限组来确保当前Web服务器可以读写访问SMB文件系统。
- 打开Windows文件管理器,输入\\file-system-id.region.nas.aliyuncs.com\myshare访问SMB文件系统。其中:
- file-system-id.region.nas.aliyuncs.com为SMB文件系统的挂载点地址。关于如何获取SMB文件系统的挂载点地址,请参见查看挂载点地址。
- myshare为SMB文件系统的默认共享目录,不支持修改。
- 在SMB文件系统的默认共享目录(myshare目录)下创建www目录,用来存储网站文件。
如下示例,在myshare\www目录下创建静态网页index.html文件和动态ASP脚本test.asp文件的操作流程。
- Index.html
此示例显示为<HTML> <HEAD> <TITLE>Hello World in HTML</TITLE> </HEAD> <BODY> <CENTER><H1>Hello World!</H1></CENTER> </BODY> </HTML>
Hello World!
。 - Test.asp
此示例动态获取并显示当前时间。<HTML> <BODY> This page was last refreshed on <%= Now() %>. </BODY> </HTML>
- Index.html
设置Windows IIS Web服务
- 在Windows服务器,选择 。
- 在左侧导航栏,选择基本设置。 ,单击
- 在编辑网站对话框中,配置物理路径并单击确定。
在物理路径文本框中输入Web资源在阿里云NAS上的存储路径,如\\file-system-id.region.nas.aliyuncs.com\myshare\www。其中,file-system-id.region.nas.aliyuncs.com为SMB文件系统的挂载点地址,请根据实际情况替换。
说明 Windows IIS默认通过IIS应用程序账号和用户组访问,不支持Windows系统桌面用户直接使用在当前user session中映射的网络驱动器如(Z:\),否则可能出现访问失败的错误。 - 可选:修改注册表及添加iis_user用户。
如果是Windows Server 2016操作系统,则需要修改注册表及添加iis_user用户才能实现IIS和阿里云NAS协同工作;如果是Windows Server 2019操作系统,在修改注册表及添加iis_user用户后还需要执行PowerShell命令 New-SmbGlobalMapping进行挂载,解决dll无法加载的问题,才能实现IIS和阿里云NAS协同工作。操作步骤如下:
- 验证设置结果。
通过本地浏览器访问localhost或者127.0.0.1的index.html和test.asp,如果显示如下页面,表示IIS已正常执行Web服务。您还可以设置阿里云ECS安全组和Windows防火墙来确保Web访问安全。
设置Windows IIS FTP服务
- 在Windows服务器,选择 。
- 安装SSL证书。
- 设置FTP站点。
- 设置FTP防火墙。
在当前主机主页中,双击FTP防火墙支持,设置数据通道端口范围,单击应用。
- 返回服务器管理器页面,重启FTP服务,使端口范围配置生效。
- 在ECS控制台上,设置ECS实例的安全组,用来限制FTP客户端的访问。具体操作,请参见创建安全组。
- 通过FTP客户端WinSCP访问FTP站点。
常见问题
IIS如何写日志到SMB文件系统?
如果需要将IIS日志写入SMB文件系统,需要先使用SYSTEM身份挂载SMB文件系统再进行写入,否则会报错。具体操作,请参见以SYSTEM身份挂载文件系统解决SQLServer使用SMB文件系统的问题
使用SYSTEM身份成功写入日志后,会自动创建W3SVC1日志文件夹存储相关日志文件。