4

最近、別のホスティング会社 (VDS) に移植し、新しいサーバーに IIS 7.5 Express、最新バージョンの PHP および MySQL をインストールしました。

次に、ファイルを古いサーバーから新しいサーバーにコピーし(私のウェブサイトのフォルダーのコンテンツ以外には何もないため、構成ファイルやサイト自体の web.configs 以外のものは何もありません)、ウェブサイトをセットアップしました。Web サイトにアクセスしようとしましたが、503 Service Unavailable メッセージが表示され、サーバーでリモートとローカルの両方を試しましたが、変化はありませんでした。

既定の Web サイトを含め、すべてのサイトで試してみましたが、変更はありません: まだ 503 です。Web サイトのフォルダー (およびすべての子) へのアクセス許可を確認しましたが、アカウント、ネットワーク サービス、管理者の両方が効果的にフル コントロールを持っています。すべてのコンテンツの。

すべてのアプリは、ApplicationPoolIdentity の下で実行される DefaultAppPool で実行されます。新しいアプリ プールを作成して、そこにサイトを移動しようとしましたが、うまくいきませんでした。プール設定で [ユーザー プロファイルの読み込み] を False に設定しようとしました ( SP インストール後の IIS 7.5 で HTTP エラー 503 を読んでください)、変更はありません。

非常に詳細な方法でのイベントビューアは次のように述べています。

"A process serving application pool 'DefaultAppPool' terminated unexpectedly. The process id was '2356'. The process exit code was '0xfffffffe'."

何もありません。このエラーが 5 回発生し、迅速な保護のためにプールがシャットダウンされます。プールを再起動して再試行しますが、何も変わりません。.aspx、.php、または静的コンテンツを取得しようとしても。最も奇妙な部分は次のとおりです。アプリ プールを LocalSystem で実行するように設定すると、機能します。問題ない。しかし、他のすべては失敗します。

私はウェブサイトのフォルダを約10回チェックし、権利を変更、消去、再追加す​​るなど、すべてを試しましたが、変更はありませんでした. プールのユーザーがアクセスできないことを確認するのを忘れている別のファイルがあるかのようです。しかし、イベント ビューアは役に立ちません。これは新しいサーバーから始まり、すべてをインストールした後に試したので、何が起こったのかわかりません。私は明らかに LocalSystem の下で実行するつもりはありません。自分のユーザーである管理者でさえ機能しません。

機能する唯一の ID は LocalSystem です。私のユーザー、LocalService、NetworkService、ApplicationPoolIdentity はすべて同じように失敗します。これはユーザー権利の問題だと 99% 確信しています。しかし、すべての Web サイト ファイルにアクセスでき、system32 の inetconfig もどこも変更していません。

4

2 に答える 2

3

わかりました、再び自分の答えを見つけました。プロセス w3wp.exe は、NETWORK SERVICE ではなく、DefaultAppPool ユーザーの下で実行されます。NETWORK SERVICE で実行されない理由はわかりませんが、いくつかの調査の結果、プロセスがアクセスする必要がC:\Windows\System32\inetsrv\config\schemaあり、NETWORK SERVICE アクセスを許可しても何も変わらないことが判明しました。偶然にも DefaultAppPool ユーザーのどこかを見つけ、読み取り権限を与え、プールを開始することで、すべての Web サイトが完全に機能し始めました。奇妙なことに、IIS プロセスはデフォルトで NETWORK SERVICE の下で実行されるといつも思っていました。設定を変更していないことは確かです。

于 2011-07-19T23:42:50.297 に答える