1. 理解虚拟目录
虚拟目录(Virtual Directory)允许将物理路径映射到网站 URL 路径下,使内容可以存储在网站根目录以外的位置。
虚拟目录 vs 物理目录
| 类型 | URL路径 | 物理位置 |
|---|---|---|
| 网站根目录 | http://www.iehang.cn/ | D:\Websites\MyWebSite |
| 虚拟目录 | http://www.iehang.cn/images | E:\Media\Images |
| 虚拟目录 | http://www.iehang.cn/docs | \\FileServer\Share\Docs |
💡 虚拟目录的常见用途
- 将静态资源(图片、CSS、JS)放在独立磁盘或存储
- 引用网络共享上的文档库
- 将不同部门的资料挂载到统一网站下
2. 创建虚拟目录
1
打开IIS 管理器 → 选择网站"MyWebSite"
2
右侧操作面板 → 点击"添加虚拟目录"
3
填写配置:
- 别名:
images - 物理路径:
E:\Media\Images - 连接为:特定用户(如需访问网络共享)
4
点击"确定"完成创建
PowerShell - 虚拟目录管理
# 创建虚拟目录
New-WebVirtualDirectory -Site "MyWebSite" `
-Name "images" `
-PhysicalPath "E:\Media\Images"
# 创建网络共享虚拟目录
New-WebVirtualDirectory -Site "MyWebSite" `
-Name "docs" `
-PhysicalPath "\\FileServer\Share\Docs" `
-UserName "IEHANG\IIS_User" `
-Password "P@ssw0rd!"
# 查看所有虚拟目录
Get-WebVirtualDirectory -Site "MyWebSite"
3. 创建应用程序
应用程序(Application)是网站内的独立执行单元,可以使用独立的应用程序池,实现更高的隔离级别。
1
选择网站"MyWebSite" → 右侧"添加应用程序"
2
填写配置:
- 别名:
api - 应用程序池:选择或新建"MyAPIAppPool"
- 物理路径:
D:\Apps\MyAPI
3
点击"确定"完成创建,访问路径:http://www.iehang.cn/api/
PowerShell - 应用程序管理
# 先创建专用应用程序池
New-WebAppPool -Name "MyAPIAppPool"
# 创建应用程序
New-WebApplication -Site "MyWebSite" `
-Name "api" `
-PhysicalPath "D:\Apps\MyAPI" `
-ApplicationPool "MyAPIAppPool"
# 查看所有应用程序
Get-WebApplication -Site "MyWebSite"
4. 常见问题
Q1:虚拟目录和应用程序有什么区别
虚拟目录只是路径映射,不能指定独立的应用程序池。应用程序可以拥有独立的应用程序池,实现进程级隔离,适合不同安全级别或配置的应用。
Q2:虚拟目录无法访问网络共享
配置"连接为"凭据时,使用域账户(如 IEHANG\IIS_User)而非本地账户。同时确保该账户对共享文件夹有读取权限。
Q3:如何修改应用程序的应用程序池
选择应用程序 → 右侧"基本设置" → 应用程序池 → 选择目标池。或使用 PowerShell:Set-ItemProperty -Path "IIS:\Sites\MyWebSite\api" -Name applicationPool -Value "NewAppPool"