IIS に ASP.NET Core アプリを発行するPublish an ASP.NET Core app to IIS

このチュートリアルでは、IIS サーバーで ASP.NET Core アプリをホストする方法を示します。This tutorial shows how to host an ASP.NET Core app on an IIS server.

このチュートリアルでは、次の件について取り上げます。This tutorial covers the following subjects:

  • .NET Core ホスティング バンドルを Windows Server にインストールします。Install the .NET Core Hosting Bundle on Windows Server.
  • IIS サイトを IIS マネージャーで作成します。Create an IIS site in IIS Manager.
  • ASP.NET Core アプリを展開します。Deploy an ASP.NET Core app.

必須コンポーネントPrerequisites

  • 開発用のコンピューターにインストールされている .NET Core SDK.NET Core SDK installed on the development machine.
  • Web Server (IIS) サーバー ロールで構成された Windows Server。Windows Server configured with the Web Server (IIS) server role. IIS で Web サイトをホストするようにサーバーが構成されていない場合、IIS を使用した Windows での ASP.NET Core のホスト 記事の「IIS 構成」セクションの指示に従い、その後、このチュートリアルに戻ってください。If your server isn't configured to host websites with IIS, follow the guidance in the IIS configuration section of the IIS を使用した Windows での ASP.NET Core のホスト article and then return to this tutorial.

警告

IIS 構成と Web サイトのセキュリティには、このチュートリアルでは説明されていない概念が含まれています。IIS configuration and website security involve concepts that aren't covered by this tutorial. IIS で本稼働アプリをホストする前に、Microsoft IIS ドキュメントIIS でホストする方法に関する ASP.NET Core 記事を参照してください。Consult the IIS guidance in the Microsoft IIS documentation and the ASP.NET Core article on hosting with IIS before hosting production apps on IIS.

このチュートリアルで取り上げられていない IIS ホスティングの重要なシナリオ:Important scenarios for IIS hosting not covered by this tutorial include:

.NET Core ホスティング バンドルのインストールInstall the .NET Core Hosting Bundle

.NET Core ホスティング バンドルを IIS サーバーにインストールします。Install the .NET Core Hosting Bundle on the IIS server. このバンドルをインストールすることで、.NET Core ランタイム、.NET Core ライブラリ、ASP.NET Core モジュールがインストールされます。The bundle installs the .NET Core Runtime, .NET Core Library, and the ASP.NET Core Module. このモジュールでは、ASP.NET Core アプリが IIS の背後で実行できるようになります。The module allows ASP.NET Core apps to run behind IIS.

次のリンクを使用してインストーラーをダウンロードします。Download the installer using the following link:

現在の .NET Core ホスティング バンドルのインストーラー (直接ダウンロード)Current .NET Core Hosting Bundle installer (direct download)

  1. IIS サーバーでインストーラーを実行します。Run the installer on the IIS server.

  2. サーバーを再起動するか、コマンド シェルで net stop was /y に続けて net start w3svc を実行します。Restart the server or execute net stop was /y followed by net start w3svc in a command shell.

IIS サイトを作成するCreate the IIS site

  1. IIS サーバーで、アプリの公開フォルダーとファイルを格納するフォルダーを作成します。On the IIS server, create a folder to contain the app's published folders and files. 以下の手順では、フォルダーのパスはアプリへの物理パスとして IIS に提供されます。In a following step, the folder's path is provided to IIS as the physical path to the app.

  2. IIS マネージャーの [接続] パネルで、サーバーのノードを開きます。In IIS Manager, open the server's node in the Connections panel. [サイト] フォルダーを右クリックします。Right-click the Sites folder. コンテキスト メニューで [Web サイトの追加] を選択します。Select Add Website from the contextual menu.

  3. [サイト名] を指定し、 [物理パス] には作成したアプリの配置フォルダーを設定します。Provide a Site name and set the Physical path to the app's deployment folder that you created. [バインド] の構成を指定して [OK] を選択し、Web サイトを作成します。Provide the Binding configuration and create the website by selecting OK.

ASP.NET Core Razor Pages アプリを作成するCreate an ASP.NET Core Razor Pages app

ASP.NET Core の概要 チュートリアルに従い、Razor Pages アプリを作成します。Follow the ASP.NET Core の概要 tutorial to create a Razor Pages app.

アプリを発行および配置するPublish and deploy the app

"アプリを発行する" とは、サーバーでホストできるコンパイル済みのアプリを生成するということです。Publish an app means to produce a compiled app that can be hosted by a server. "アプリを展開する" とは、発行済みのアプリをホスティング システムに移動するということです。Deploy an app means to move the published app to a hosting system. 発行手順は .NET Core SDK で処理されます。一方で、展開手順はさまざまな手法で処理できます。The publish step is handled by the .NET Core SDK, while the deployment step can be handled by a variety of approaches. このチュートリアルでは、"フォルダー" 展開手法を採用しています。This tutorial adopts the folder deployment approach, where:

  • アプリはフォルダーに発行されます。The app is published to a folder.
  • フォルダーの内容が IIS サイトのフォルダーに移動されます (IIS マネージャーのサイトの物理パス)。The folder's contents are moved to the IIS site's folder (the Physical path to the site in IIS Manager).
  1. [ソリューション エクスプローラー] でプロジェクトを右クリックし、 [発行] を選択します。Right-click on the project in Solution Explorer and select Publish.
  2. [発行先を選択] ダイアログで、 [フォルダー] 発行オプションを選択します。In the Pick a publish target dialog, select the Folder publish option.
  3. フォルダーまたはファイル共有パスを選択します。Set the Folder or File Share path.
    • ネットワーク共有として開発用のコンピューターで利用できる IIS サイトのフォルダーを作成した場合、共有へのパスを指定します。If you created a folder for the IIS site that's available on the development machine as a network share, provide the path to the share. 現在のユーザーに、共有に発行するための書き込みアクセスを与える必要があります。The current user must have write access to publish to the share.
    • IIS サーバー上の IIS サイト フォルダーに直接展開できない場合、リムーバブル メディア上のフォルダーに発行し、IIS マネージャーでサイトの物理パスである、サーバー上の IIS サイト フォルダーに発行済みのアプリを物理的に移動します。If you're unable to deploy directly to the IIS site folder on the IIS server, publish to a folder on removeable media and physically move the published app to the IIS site folder on the server, which is the site's Physical path in IIS Manager. IIS マネージャーでサイトの物理パスである、サーバー上の IIS サイト フォルダーに bin/Release/{TARGET FRAMEWORK}/publish フォルダーの内容を移動します。Move the contents of the bin/Release/{TARGET FRAMEWORK}/publish folder to the IIS site folder on the server, which is the site's Physical path in IIS Manager.

Web サイトを閲覧するBrowse the website

アプリには、最初の要求の受信後、ブラウザーでアクセスできます。The app is accessible in a browser after it receives the first request. サイトの IIS マネージャーで設定したエンドポイント バインドでアプリへの要求を行います。Make a request to the app at the endpoint binding that you established in IIS Manager for the site.

次の手順Next steps

このチュートリアルでは、次の作業を行う方法を学びました。In this tutorial, you learned how to:

  • .NET Core ホスティング バンドルを Windows Server にインストールします。Install the .NET Core Hosting Bundle on Windows Server.
  • IIS サイトを IIS マネージャーで作成します。Create an IIS site in IIS Manager.
  • ASP.NET Core アプリを展開します。Deploy an ASP.NET Core app.

IIS で ASP.NET Core アプリをホストする方法の詳細については、IIS の概要に関する記事を参照してください。To learn more about hosting ASP.NET Core apps on IIS, see the IIS Overview article:

その他の技術情報Additional resources

ASP.NET Core ドキュメント セットの記事Articles in the ASP.NET Core documentation set

ASP.NET Core アプリの展開に関する記事Articles pertaining to ASP.NET Core app deployment

IIS HTTPS 構成に関する記事Articles on IIS HTTPS configuration

IIS と Windows Server に関する記事Articles on IIS and Windows Server