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トリガーの詳細な説明と簡単な例

推薦する

Linuxはsttyを使用して端末の回線設定を表示および変更します。

Sttty は、Linux で端末設定を変更および印刷するための一般的なコマンドです。 1. パラ...

Centos7 に PHP と Nginx をインストールする詳細なチュートリアル

Centos のサーバー側への適用がますます普及するにつれて、Centos7 もますます使用されるよ...

VMware15 centos7 ブリッジモード ssh に突然アクセスできなくなる問題を解決する

仮想マシンに独自の LAN IP を持たせたいので、テストを容易にするためにブリッジを使用します。 ...

MySQLデータベースインデックスの詳細な紹介

目次マインドマップシンプルな理解インデックスモデルの進化二分探索木自己バランス型二分木BツリーB+ ...

Dockerコンテナのデータを復元する方法

プロジェクトのテスト環境データベースのデータが失われてしまったので、記録しておきたいと思います。当時...

Vueでaxiosをカプセル化するいくつかの方法

目次ベーシックエディションステップ1: Axiosを構成するステップ2: リクエストをカプセル化する...

Dockerコンテナ終了エラーコードの手順

実行後、一部の Docker コンテナが終了することがあります。原因を調べるには、Docker コン...

MySQLのデッドロックチェック処理の通常の方法

通常、デッドロックが発生すると、重みが最も小さい接続が強制終了され、ロールバックされます。ただし、最...

ReactでuseStateを使用する詳細な例

使用状態useState は、関数コンポーネント内で呼び出すことで、コンポーネントに内部状態を追加し...

Jmeterはデータベースプロセスダイアグラムに接続します

1. MySQL jdbc ドライバー (mysql-connector-java-5.1.28.j...

count(1)、count(*)、count(列名)の実行の違いの詳細な説明

実施効果: 1. count(1) と count(*)テーブル内のデータ量が多い場合、テーブルを分...

Javascript フロントエンド最適化コード

目次if判定の最適化1. 最も簡単な方法:判断2. より良い方法: スイッチ3. より良いアプローチ...

MySql8.023 インストール プロセスの詳細なグラフィック説明 (初回インストール)

まず、MySQL公式サイトからインストールパッケージをダウンロードします。MySQLはオープンソース...

デザイン理論: コンテンツプレゼンテーションのための 10 のヒント

<br /> テキスト、記号、リンクの3つの側面に焦点を当て、主に中国語で、個人的な執筆...