我有一个网站,许多客户都用它来托管他们的网站。他们每个人都有自己的域名,但使用相同的托管服务。是让他们使用同一个 IIS 网站以及该网站上的所有主机标头运行更好,还是我应该为每个域创建指向服务器上相同物理目录的不同网站和应用程序池?
答案1
除非您有明确的理由将它们分开,否则没有必要使用多个应用程序池。否则这只是浪费内存。
在同一目录中运行多个网站应该不会有任何问题。如果某个时候客户需要不同的版本,您可以将它们迁移到具有专门的代码库/配置/等的不同目录中。如果这种情况可能更频繁地发生,那么您可以考虑预先将它们分离到不同的网站上。
答案2
从同一个文件夹运行多个网站没有问题,我已经这样做过很多次了。在不同的应用程序池中运行不同的网站的好处是可以抵御崩溃,如果一个网站发生错误,则不太可能影响其他网站。这也意味着,如果一个网站比其他网站更受欢迎,您可以更改池设置,以便在必要时回收线程时更有效率。
答案3
在某些情况下,这可能很危险。文件系统资源可能会出现死锁。在我的例子中,是 lucene 索引和两个应用程序池在查找同一个文件夹。两者同时启动索引更新,因此一半文件被一个应用程序锁定,另一半被第二个应用程序锁定,导致两个网站都无响应。极难调试。