ASP.NETコアアプリケーションをIIS環境に展開します
ASP.NETコアアプリケーションをIISに展開する場合、次のキーポイントに注意する必要があります。1。.NETコアランタイムとホスティングバンドルをインストールすると、HTTP 500エラーが発生します。 2.アプリケーションを公開するときはweb.configを含めて、適切な公開モードを選択してください。 3。IISサイトとアプリケーションプールを構成し、「管理されていないコード」を設定し、権限を正しい設定します。 4.問題があるときにログを確認し、ケストレルのスタートアップの状況を手動でテストします。
ASP.NETコアをIIS環境に展開することは難しくありませんが、注意しなければならないいくつかの重要なポイントがあります。 IIS自体は、.NETコアアプリケーションを直接実行できませんが、リクエストをリバースプロキシを介してケストレルの組み込みサーバーに転送します。したがって、プロセス全体は、IISと.NETコアの間の協力を構成する必要があります。

必要なランタイムとマネージドコンポーネントをインストールします
開始する前に、ターゲットサーバーに正しい.NETコアランタイムがあり、IISがバンドルをインストールしていることを確認してください。多くの人がホスティングバンドルを見逃しているため、アプリケーションが適切に機能しません。

- .NET Core 3.1以降を使用している場合は、対応する.NETランタイムとホスティングバンドをダウンロードしてインストールする必要があります。
- ホスティングバンドルは、IISモジュール(ASPNETCOREMODULEV2など)を自動的にインストールし、パイプラインモードを構成します。
- インストールが成功しているかどうかを確認する方法:
dotnet --info
on the command lineに入力して、SDKとランタイム情報がリストされているかどうかを確認します。
これらのコンポーネントが正しくインストールされていない場合、プログラムを公開しても開始しません。通常、HTTPエラー500.0または500.30が表示されます。
アプリケーションファイルを公開および展開します
ASP.NETコアアプリケーションを公開する最も一般的な方法は、Visual StudioまたはCLIツールを使用して、自己完結型または従属フレームワークの公開パッケージを生成することです。

- Visual Studioを使用する場合は、プロジェクトを右クリックして「公開」を選択し、「フォルダー」またはリモートFTPなどを選択します。
- フレームワーク依存の公開モードを選択する場合、対応する.NETランタイムをサーバーにインストールする必要があります。環境に頼りたくない場合は、自己完結型モードを選択できますが、サイズは大きくなります。
- リリースが完了したら、
C:\inetpub\wwwroot\myapp
など、ファイルをサーバー上のターゲットディレクトリにコピーします。
.NETコアランタイムのパスと起動パラメーターを含むweb.config
ファイルを見逃さないように注意してください。このファイルが欠落しているか、誤って構成されている場合、IISはアプリケーションへの対処方法がわかりません。
IISサイトとアプリケーションプールの構成
次のステップは、IISにサイトまたはアプリケーションを作成し、アプリケーションプールをセットアップすることです。
- 新しいサイトを作成し、ポートまたはドメイン名をバインドすると、Home Directoryが投稿したフォルダーをポイントします。
- ケストレルはネイティブプロセスであるため、個別に作成して
.NET CLR 版本
「管理コードなし」に設定することをお勧めします。 - また、特別なニーズがない限り、アプリケーションプールの「32ビットアプリケーションを有効にする」がfalseに設定されていることを確認してください。
操作中にアプリケーションがクラッシュしたり、起動に失敗した場合は、ログファイルを表示できます。デフォルトでは、stdoutログは、アプリケーションディレクトリのlogs
フォルダーで生成されます。 web.config
でロギング機能を有効にすることを忘れないでください:
<aspnetcore processpath = "dotnet" arguments = "
FAQと許可設定を処理します
展開プロセス中の最も一般的な問題には、不十分な権限、パスエラー、ポート競合などが含まれます。
- 特にローカルログまたはキャッシュファイルを使用する場合は、IISユーザー(通常は
IIS_IUSRS
)がアプリケーションディレクトリに許可を読み取りおよび書き込みにしていることを確認してください。 - ケストレルが正しく開始されていることを確認してください。サーバーで
dotnet YourApp.dll
を手動で実行して、エラーがあるかどうかを確認できます。 - 開発環境でHTTPSを有効にしているが、IISで証明書を構成しない場合、リダイレクトエラーが発生する可能性があります。この時点で、HTTPSを一時的にオフにし、ジャンプを強制することができます。
さらに、アプリケーションを開始するのに問題がない場合がありますが、アクセス時に500ページまたは空白のページを返します。この時点でログを読む必要があります。 ASP.NETコアは、開発モードを有効にしない限り、デフォルトで詳細なエラー情報を公開しません。
基本的にそれだけです。ステップバイステップに従う限り、ほとんどの場合、スムーズに展開できます。
以上がASP.NETコアアプリケーションをIIS環境に展開しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undress AI Tool
脱衣画像を無料で

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

tosetupurlrewriterulesiniis、firstinstalltalltheurlrewritemoduleviawebpi、windowsfeatures、orpowershellwithinstallwithows-witure-nameweb-url-auth;

複数のサーバーのIISログは、次の方法で実装できます。1。ログがイベントログに書き込まれ、中央サーバーにサブスクリプションを作成し、各IISサーバーで転送ルールを構成するシナリオに適したWindowsイベント転送を使用します。 2.ファイル共有スクリプトを使用して、小さな環境に適した定期的に収集し、スクリプトを使用して各サーバーからログファイルを定期的にコピーし、ロボコピーまたはXcopyとスケジュールされたタスク実行を組み合わせます。 3. Logstash、Nxlog、Fluentdなどのログコレクションツールを展開し、大規模な環境に適し、自動収集、フィルタリング、圧縮、転送をサポートし、再試行およびブレークポイントの連続伝送機能に失敗しました。さらに、ログパスを統合し、アクセス権限を構成し、ログの回転メカニズムに注意を払い、圧縮を検討する必要があります

アプリケーションプールが停止した場合は、再び停止するかどうかを確認して、アプリケーションプールのステータスを確認してください。 2.アプリケーションプールのIDと権限を確認して、アカウントが正しく、十分な権限があることを確認します。 3.イベントビューアーのシステムとアプリケーションログを表示して、エラーの根本原因を見つけます。 4.ポートの競合をチェックし、Webサイトのバインディングポートが他のプロセスによって占有されていないことを確認します。 5.アプリケーションプールをリサイクルまたは再構築して、構成の破損を排除してみてください。 6.失敗した要求追跡を有効にして、503エラーの詳細な理由を分析します。 IISのHTTPエラー503の根本原因は通常、アプリケーションプーリングの問題であり、上記の手順を1つずつ確認してこの問題を解決できます。

SSL証明書は、ユーザーアクセスに影響を与えるセキュリティ警告を回避するために、期限切れになった後に更新または交換する必要があります。更新または交換が必要かどうかを判断するには、IISの証明書のステータスと有効期限を確認できます。有効期限が近づいている場合(通常は30日前)、更新する必要があります。有効期限が切れているか、ドメイン名またはサービスプロバイダーに変更がある場合は、交換する必要があります。更新操作には、IISで対応する証明書を見つけて「更新」を選択し、同じキーを使用するか、ニーズに応じて新しいキーを生成するかを選択し、レビューとダウンロードとインストールのためにCAを送信することが含まれます。新しい証明書を置き換えるには、新しい証明書を申請してIISをインポートし、サイトのバインディング構成を更新し、ドメイン名が一致し、秘密キーの権限が正しいことを確認し、移行中に秘密鍵を引き出す必要があります。その他の注意事項には、次のものが含まれます。自己署名証明書は、外部サービスには適していません。複数のサーバーが同時に更新された場合、秘密のキーアクセス許可に注意してください。

IISログの上位IPアドレスを見つけるには、1。logparserstudioを使用します。ログファイルをロードしてSQLクエリを実行してIP頻度をカウントし、CSVソート出力を生成します。 2。PowerShellを使用:ログコンテンツを読み取り、ヘッダーをスキップし、IPフィールドとグループ統計を抽出し、それを回数の降順で配置します。 3。awkソートを使用します:IPを抽出し、並べ替え、回数をカウントし、それを回転順に配置します。異なるログ形式のIPフィールドの位置は異なる場合があり、抽出が正確であることを確認するために、実際の状況に従って調整する必要があることに注意してください。

IISリアルタイムロギングを有効にするための鍵は、正しいログ形式と場所を構成し、サービスが適切に実行されていることを確認することです。 1. IISロギング機能がインストールされていることを確認し、サーバーマネージャーに役割と関数を追加するときに「ログ記録ツール」を確認します。 2.サイトログ設定を構成し、W3C形式を選択し、ログパスを指定し、スクロールメソッドを設定し、IISアカウントに書き込みアクセス許可があることを確認します。 3.リアルタイムのログ表示は、テキストエディターまたは使用済みのPowerShellのGet-Content-Waitコマンドを通じて継続的に更新できます。 4.パフォーマンスとディスクのスペースの影響に注意してください。ログを定期的にクリーニングするか、アーカイブ戦略と協力して、過度のリソース消費を避けることをお勧めします。

thecs-uri-styniislogsshowsshows of there-requestedResourcewithoutquerystringParameters.1.

IISログを自動的にアーカイブするには、ログローリングサイクルを設定し、PowerShellスクリプトを使用してレガシーログを圧縮し、タスクスケジューラを使用して自動的に実行できます。 1. IISマネージャーにログファイルスクロール間隔を設定します。毎日スクロールしたり、サイズごとにスクロールしたり(10MB〜100MBなど)、その後の処理を容易にすることをお勧めします。 2. PowerShellスクリプトを書き、指定されたパスの下の設定日数(7日など)を超えるログファイルを見つけ、指定されたディレクトリに圧縮して元のファイルを削除します。 3.タスクスケジューラを介して基本的なタスクを作成し、トリガー周波数(毎日など)を設定し、スクリプトを最高の許可で実行し、パラメーター-ExecutionPolicyBypassを追加して、スクリプトの安定した実行を確保します。さらに、明確にする必要があります
