Nginx を使用して DoNetCore を Alibaba Cloud にデプロイする方法

Nginx を使用して DoNetCore を Alibaba Cloud にデプロイする方法

基本的な環境設定

まずはご自身でドメイン名とサーバーを購入してください

クラウドサーバーECSに基づいてアプリケーションインスタンスを作成し、システムイメージとしてUbuntu 16.04を選択し、ローカルマシンにSSH経由でリモート接続し、関連する構成を実行します。
SSH ルート@http://39.108.48.203/

...

sudo apt-getアップデート
sudp apt-get アップグレード
sudo apt-get 自動削除
sudo apt-get clean

Nginxのインストールと設定

sudo apt-get でnginxをインストールします
sudo サービス nginx を開始
sudo gedit /etc/nginx/sites-available/default

デフォルトファイルを設定し、ファイルの最後に次のノード情報を設定します。

# example.com の仮想ホスト設定
#
# これをsites-available/の下の別のファイルに移動し、シンボリックリンクを作成することができます
# 有効にするには sites-enabled/ に追加します。
#
サーバー{
 聞く 80;
 # ウェブサイト ファイルのターゲットの場所は、root /home/hippie/website/wwwroot です。
 # server_name ウェブサイト名;
  位置 / {
   proxy_pass http://localhost:5000;
   プロキシ_http_バージョン 1.1;
   proxy_set_header アップグレード $http_upgrade;
   proxy_set_header 接続キープアライブ;
   proxy_set_header ホスト $host;
   proxy_cache_bypass $http_upgrade;
   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   proxy_set_header X-Forwarded-Proto $scheme;
 }
}

設定を確認して更新する

nginx を -t で実行します。
sudo nginx -s リロード

DotNetCoreをインストールする

最新のインストール手順については、公式ウェブサイトをご覧ください: .NetCore ダウンロード

展開プロセス

VisualStudio2017 を開き、公開するプロジェクトを右クリックして [公開] をクリックし、関連する構成については下の図を参照してください。

公開するには、「保存」ボタンをクリックします。次に、公開フォルダをサーバー上の対応する場所にアップロードします。アップロードが成功したら、以下を実行します。
dotnet run app.dll

何も問題がなければ、現時点では IP または Web サイトのドメイン名を通じてアクセスできます。

デーモンプロセスの作成

上記の操作を実行した後も、プログラムは長時間実行できないため、デーモンプロセスを通じてWebサイトを管理する必要があります。

sudo apt-get スーパーバイザーをインストール
sudo vim /ect/supervisor/conf.d/website.conf

website.conf ファイルを設定する

[プログラム:ウェブサイト]
#実行するコマンド command=/usr/bin/dotnet Attention.dll 
#コマンド実行ディレクトリ directory=/home/hippie/website 
#環境変数 environment=ASPNETCORE__ENVIRONMENT=Production 
 #プロセス実行ユーザーID user=www-data 
ストップシグナル=INT
#自動的に起動するかどうか autostart=true
#自動的に再起動するかどうか autorestart=true
#自動再起動間隔 startsecs=1 
#標準エラーログ stderr_logfile=/var/log/website.err.log 
#標準出力ログ stdout_logfile=/var/log/website.out.log

このとき、デーモンプロセスを起動するために次のコマンドを実行します。

sudo supervisorctl シャットダウン && sudo supervisord -c /etc/supervisor/supervisord.conf
supervisorctl シャットダウン 
sudo サービススーパーバイザーの開始

さて、これで、リモート接続を閉じて Web サイトにアクセスしてみることができます。正常にアクセスできる場合は、設定が機能していることを意味します。

要約する

上記は、Nginxと組み合わせてDoNetCoreをAlibaba Cloudにデプロイするために紹介したインストールと設定方法です。お役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。すぐに返信いたします。

以下もご興味があるかもしれません:
  • Alibaba Cloud での Ubuntu 1.4 Flask + WSGI + Nginx の展開の詳細説明
  • nginx + nodeを使用してAlibaba Cloudにhttpsをデプロイする詳細な手順
  • Vue プロジェクトを nginx にデプロイする方法 (履歴モード)
  • Angular プロジェクトの作成、パッケージ化から nginx の展開までの全プロセスを記録します。
  • 初心者のための Docker と NGINX の導入手順の詳細
  • DockerでNginx+PHP+MySQL環境を構築し、WordPressをデプロイする
  • Nginx + Tomcat リバースプロキシが 1 つのサーバーに複数のサイトを効率的に展開する方法の詳細な説明

<<:  forEachでawaitが機能しない問題を解決する

>>:  MySQLトリガーの詳細な説明と簡単な例

推薦する

JSベースの手持ち連射機能+テキスト揺れ特殊効果コードの簡単実装

少し前にTikTokで揺れる連打が流行っていたので真似してみることにしました。さっそく効果をみてみま...

JS 配列の重複を排除する 9 つの高度な方法 (実証済みで効果的)

序文一般的な方法はここには記載されていませんが、等しいかどうかを判断するための二重ループや、比較のた...

更新SQL文に基づくMySQLロックの理解

序文MySQL データベース ロックは、データの一貫性を実現し、同時実行性の問題を解決するための重要...

Deepin Linuxでカーネルを手動でアップグレードする方法

deepinとUbuntuどちらもdebianをベースにしたディストリビューションであり、ここではU...

jQuery はパーセンテージスコアリングの進捗バーを実装します

この記事では、パーセンテージスコアリングプログレスバーを実現するためのjQueryの具体的なコードを...

CentOS 6.8 に MySQL 8.0.18 をインストールするチュートリアルの簡単な分析 (RPM 方式)

今日は、CentOS 6.8 サーバーに MySQL 8.0.18 をインストールする方法を記録しま...

Dockerコンテナのネットワーク管理とネットワーク分離の実装

1. Dockerネットワーク管理1. Dockerコンテナ方式1) Dockerが外部ネットワーク...

Linux touch コマンドの使用例

Linux touch コマンドの詳細な説明: 1. コマンド機能:ファイルまたはディレクトリの作成...

Dockerアーキテクチャ入門

Docker には 3 つの基本概念が含まれています。イメージ: Docker イメージはルート フ...

HTMLでマスクレイヤーを実装する方法 HTMLでマスクレイヤーを使用する方法

Web ページでマスク レイヤーを使用すると、繰り返しの操作を防ぎ、読み込みを促進できます。また、ポ...

Dockerでコンテナを作成するときのディレクトリ権限

昨日プロジェクトを書いていた時に、MySQL の派生版である Percona を使う必要があったので...

MySQL の 2 種類の一時テーブルの使用方法の詳細な説明

外部一時テーブルCREATE TEMPORARY TABLE によって作成された一時テーブルは、外部...

Bootstrap 3.0 学習ノートのページレイアウト

今回はレイアウトを中心に学習しますが、これは基本的なHTMLタグのほとんどにも存在するため、比較的簡...

Vueでフォーム検証を実装する方法

1. インストールと使用まず、Vue プロジェクトにインストールします。 npm インストール --...

React+Amapは緯度と経度をリアルタイムで取得し、住所を特定します

目次1. マップを初期化する2. マップポイント3. 位置決めを有効にする4. マップの変更を監視す...