この記事では、主に ASP.NET Core プロジェクトを IIS に展開するグラフィックな方法を紹介します。必要な方は参考にしてください。
概要
ASP.NET 時代とは異なり、ASP.NET Core は IIS ワーカー プロセスではなくなりました ( w3wp.exe) をホスティングしますが、実行にはセルフホステッド Web サーバー (Kestrel) を使用します。IIS はリバース プロキシとして機能し、Kestrel の別のポート上の ASP.NET Core プログラムに要求を転送し、受信した要求をプッシュします。ミドルウェア パイプラインに移動し、要求と関連するビジネス ロジックを処理してから、HTTP 応答データを IIS に書き戻し、最後にそれをさまざまなクライアント (ブラウザー、APP、クライアントなど) に転送します。構成ファイルとプロセスは若干調整されます。中間の最も重要な役割は、IIS モジュールの 1 つである AspNetCoreModule です。要求は IIS に転送され、即座に ASP.NET Core にリダイレクトされます。したがって、現時点ではコードをホストするためにアプリケーション プールを設定する必要はなく、リクエストの転送のみを担当します。
展開する前に、AspNetCoreModule ホスティング モジュールが IIS にインストールされていることを確認してください。インストールされていない場合は、ここをクリックしてダウンロードしてインストールしてください
1. IIS をインストールします
1。 → Windows の機能を有効または無効にする → Web 管理ツールでインターネット インフォメーション サービスと IIS 管理コンソールを確認します2. プロジェクトを公開します
1.前の記事を参照し、IIS を選択して新しい公開構成を作成します 2. 公開方法のファイル システムを選択し、公開パスを設定します 3. 構成ファイルは、ご使用の環境に応じて選択できます。 .NET Core に基づいているため、ターゲット フレームワークは netcoreapp1.1 であり、保存して公開します 4 もちろん、CLI Publish コマンドに基づいて公開することもできます。切り替えるだけです。 Light.API ルート ディレクトリに次のコマンドを入力します。dotnet publish --framework netcoreapp1.1 --output "E:\Publish" --configuration Release
3. IIS に Web サイトを追加します
1. Web サイトを追加し、名前を設定し、公開したフォルダーへのパスを指定して開始します。 Web サイト 2. アプリケーション プールをセットアップする。先ほど述べたように、IIS はリバース プロキシとして機能し、コードをホストするために IIS を必要としないため、.NET CLR バージョンは「アンマネージ コード」です。3. OK、完了しました。Web サイトをご覧ください。
現時点では、有用なプロンプト情報はありません。アプリケーションの実行ログを自分で確認することしかできないようです。 4. IIS のログ記録方法をログ ファイルと ETW イベントに設定します。
5. Web サイトに再度アクセスし、Windows アプリケーション ログを開きます。このようなメッセージが表示されます。これは、アプリケーションが PID 3236 のプロセスによって開始され、ポート 25636 でリッスンしていることを意味します。
タスクマネージャーを開いて確認してみたら、その通りでした。すべて正常なはずなのに、Web サイトにアクセスすると 404 になるのはなぜですか?
長い間苦労した結果、Web サイトが /swagger/ui ページに自動的にリダイレクトされなかったことがわかりました。 http://192.168.1.105/swagger/ui にアクセスすると、次のことがわかります。見慣れた画面です
6. 最後に、CLI を通じて公開したプログラムを実際に実行できます。公開フォルダーに切り替えて、次のコマンドを入力します。
このプロンプトが表示されたら、あなたが成功したことを意味します。 http://localhost:5000/swagger/ui
にアクセスしてみてください。このとき、タスクマネージャーを見返すと、別の dotnet プロセスがあります
最後に書きました
この時点で、IIS のセットアップ全体が完了しているかどうかはわかりません。何かを得た。次に、Linux で公開するときにどのような落とし穴があるかわかりません。何があっても、自分の一歩一歩が振り返ったときに価値があるはずです。
以上がIIS に ASP.NET Core プロジェクトを展開する手順の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。