IIS应用程序池标识503错误

IIS应用程序池标识503错误,iis,windows-server-2008-r2,access-rights,Iis,Windows Server 2008 R2,Access Rights,我最近移植到另一家托管公司(VDS),在新服务器上安装了IIS 7.5 Express、最新版本的PHP和MySQL 然后,我将文件从旧服务器复制到新服务器(除了我的网站的文件夹内容之外,没有任何内容,因此没有配置文件或任何内容,除了网站本身中的web.configs),设置网站。我尝试访问一个网站,收到一条503服务不可用的消息,在服务器上远程和本地尝试,没有改变 在每个网站上都尝试过,即使是在默认网站上,也没有改变:仍然是503。 我已经检查了网站文件夹(以及所有子文件夹)的权限,我的帐户、

我最近移植到另一家托管公司(VDS),在新服务器上安装了IIS 7.5 Express、最新版本的PHP和MySQL

然后,我将文件从旧服务器复制到新服务器(除了我的网站的文件夹内容之外,没有任何内容,因此没有配置文件或任何内容,除了网站本身中的web.configs),设置网站。我尝试访问一个网站,收到一条503服务不可用的消息,在服务器上远程和本地尝试,没有改变

在每个网站上都尝试过,即使是在默认网站上,也没有改变:仍然是503。 我已经检查了网站文件夹(以及所有子文件夹)的权限,我的帐户、网络服务和管理员都有效地完全控制了所有内容

所有应用程序都在DefaultAppPool中运行,该应用程序在ApplicationPoolIdentity下运行。尝试创建一个新的应用程序池,将站点移动到那里,没有运气,尝试在池设置中将“加载用户配置文件”设置为False(在此处阅读),没有更改

事件查看器以极其详细的方式显示:

“为应用程序池“DefaultAppPool”提供服务的进程意外终止。进程id为“2356”。进程退出代码为“0xFFFFFE”。

没有别的了。此错误的五倍,并且池由于快速保护而关闭。我重新启动池,再试一次,没有任何变化。无论我试图获取.aspx、.php或静态内容。这里是最奇怪的部分:当我将应用程序池设置为在LocalSystem下运行时,它可以工作。没问题。但其他一切都失败了

我已经检查了网站文件夹大约十次,更改、删除、重新添加权限等尝试了一切,但没有更改。就好像有另一个文件,我忘了检查池的用户是否无法访问。但是事件查看器对我没有帮助。这是从新服务器开始的,我在安装完所有东西后都试过了,所以我不知道这是怎么开始的。我显然不会在本地系统下运行。即使是我自己的用户,管理员,也不能工作


唯一有效的标识是LocalSystem。我的用户、LocalService、NetworkService、ApplicationPoolIdentity都以相同的方式失败。我快发疯了,我99%确定这是一个用户权限问题。但是所有的网站文件都可以访问,我没有在system32 inetconfig或任何地方更改任何内容。

好的,再次找到我自己的答案。
进程w3wp.exe在DefaultAppPool用户下运行,而不是在网络服务下运行。我不知道为什么它不在网络服务下运行,但经过一些研究,结果表明该进程需要访问
C:\Windows\System32\inetsrv\config\schema
,而授予网络服务访问权并没有改变任何事情。我碰巧发现了DefaultAppPool用户的某些地方,授予了阅读权限,通过启动该池,我的所有网站都开始完美运行。很奇怪,我一直认为IIS进程默认在网络服务下运行,我确信我没有更改任何设置。

尝试运行下面的命令并进行一些更改

appcmd set apppool /apppool.name: <YourAppPoolHavingIssuesHere> /managedRuntieVersion:v<.net Framework version here>
appcmd设置apppool/apppool.name:/managedruntiversion:v

IIS 7更改了一些关于权限的内容,我认为这是其中之一。