Ubuntu 服务器与 win2k8 服务器虚拟机一起托管 IIS 站点问题

Ubuntu 服务器与 win2k8 服务器虚拟机一起托管 IIS 站点问题

我有一个 ubuntu 服务器(主机)和一个 windows 2008 r2 服务器(客户端)虚拟机。

我所有基于 IIS 的站点都位于主机上,与客户端虚拟机共享的位置。

我有一个反向代理设置,用于将站点引导到正确的位置,并且在 IIS 中设置了一个站点(当前)。

在初始设置时,我将此站点位于虚拟机的 C 盘上,并且从那里提供服务没有任何问题。

一旦我将位置更改为共享文件夹,就会出现 500.19 错误。我尝试在该文件夹上添加 IUSR 帐户权限,但我认为它们没有起作用,因为该文件夹是 ubuntu 主机上的一个位置。

我还尝试将应用程序池标识更改为 NetworkService(如其他站点所建议的那样),甚至将“Everyone”帐户添加到共享,但仍然出现 500.19 错误页面。

有什么想法我可以这样做吗?我有点“需要”这样做,因为我想保持虚拟机的大小,因此需要网络共享卸载。我认为这是虚拟机上的 Windows 用户帐户与主机上的 Linux 用户帐户之间的冲突,所以如果我能让哪怕一个帐户进行网格化,这样就可以正常工作,而不会弄乱当前通过主机上的 Apache 托管的站点,那就太好了!

答案1

做这个:

  1. 在 Windows Server 2008 中,转到服务器管理器 > 存储 > 磁盘管理
  2. 右键单击“磁盘管理”>“创建 VHD”
  3. 选择网络共享上的位置(单击浏览)
  4. 创建固定大小的 VHD。如果可能的话,我个人会将 VHD 的大小设为当前数据集的两倍。这实际上取决于您托管的内容。
  5. 通过右键单击磁盘管理器中的新 VHD 并选择“初始化磁盘”来初始化磁盘。
  6. 在磁盘管理中格式化新卷。
  7. 现在,将您的网站复制到您格式化的新虚拟硬盘上。
  8. 配置 IIS 以从 VHD 上的位置托管您的网页。

这可以解决您遇到的文件权限问题,因为对于 Web 服务器来说,您是从本地硬盘驱动器托管,而不是通过网络共享。

我唯一能想到的问题是,如果您需要访问由 Linux 中的 IIS 托管的网站上的数据。您可以通过 Web 访问它,但我不知道有什么 Linux 工具可以用来挂载 VHD(尽管很可能存在!)

顺便说一句,我刚刚试过,成功了!请记住,在我的情况下,共享的主机不是 Linux 机器,而是 Windows 机器 - 但我创建的 VHD 仍然位于另一台机器的网络共享上。

相关内容