我最近已经移植到一个不同的托管公司(VDS),并在新服务器上安装了IIS7.5Express,这是PHP和MySQL的最新版本。
然后,我将文件从旧服务器复制到新服务器(除了我的网站文件夹的内容之外,没有任何内容,所以除了站点本身的web.configs之外,没有任何配置文件或任何内容),设置网站。我试着访问一个网站,我收到了503条服务不可用的消息,在服务器上远程和本地都尝试过,没有任何改变。
在每个网站上都试过了,即使在默认的网站上也没有改变:仍然503。我已经检查了对网站文件夹(和所有子程序)的权限,我的帐户,网络服务,管理员都有效地完全控制了所有内容。
所有的应用程序都运行在DefaultAppPool中,后者在ApplicationPoolIdentity下运行。尝试创建一个新的应用程序池,将站点移到那里,没有运气,尝试在池设置中将“加载用户配置文件”设置为False (请阅读此处HTTP Error 503 on IIS 7.5 after SP Install),没有任何更改。
事件查看器以极其详细的方式说:
"A process serving application pool 'DefaultAppPool' terminated unexpectedly. The process id was '2356'. The process exit code was '0xfffffffe'."
没别的事了。这个错误的五倍,池会因为快速保护而关闭。我重新启动池,再试一次,没有什么变化。无论我试图获得一个.aspx、.php或静态内容。下面是最奇怪的部分:当我将应用程序池设置为在LocalSystem下运行时,它可以工作。没问题。但其他一切都失败了。
我已经检查了网站文件夹大约十次,更改,删除,重新添加的权利等尝试了一切,但没有改变。好像还有另一个文件我忘了检查池的用户是否无法访问。但是事件查看器帮不了我。这是从新服务器开始的,我在安装了所有的东西之后都试过了,所以我不知道在这之后发生了什么。显然,我不会在LocalSystem下运行。即使是我自己的用户,管理员,也不能工作。
唯一有效的身份是LocalSystem。我的用户,LocalService,NetworkService,ApplicationPoolIdentity都以同样的方式失败。我要疯了,我百分之九十九肯定这是一个用户权利问题。但是所有的网站文件都是可访问的,而且我没有在system32 inetconfig或任何地方更改任何内容。
发布于 2011-07-19 23:42:50
好吧,我又找到了答案。进程w3wp.exe在DefaultAppPool用户下运行,而不是网络服务。我不知道为什么它不能在网络服务下运行,但是经过一些研究发现,这个过程需要访问C:\Windows\System32\inetsrv\config\schema,并且提供网络服务访问没有改变任何事情。我碰巧找到了关于DefaultAppPool用户的某个地方,给出了读取权限,通过启动池,我的所有网站都开始完美地工作了。非常奇怪,我总是认为IIS进程默认在网络服务下运行,而且我确信我没有更改任何设置。
发布于 2019-11-27 19:49:29
尝试运行下面的命令,并进行一些更改
appcmd set apppool /apppool.name: <YourAppPoolHavingIssuesHere> /managedRuntieVersion:v<.net Framework version here>https://stackoverflow.com/questions/6753728
复制相似问题