はじめに:
この記事では、Linux CentOS7 .NETのコアの動作環境オペレーティングシステムを構築し、ASP.NETコアは、アプリケーションを公開し、Configure nginxのプロキシサーバーを逆にする方法については主です。同社のプロジェクトは、ウィンドウサーバーIIS上でホストされているため、Linuxサーバ上でホスティングするための.NETのコアプロジェクトは非常に好奇心旺盛です。そのため好奇心のため、LinuxのCentOS7システム導入プロジェクトにおける動作環境の.NETのコア構成を設定し、プロキシサーバーを逆にする方法については、この記事がありました。
まず、開発ツールを導入します
Xshell:
SSH1、SSH2、およびTELNETプロトコルのMicrosoft Windowsプラットフォームをサポートする強力な安全な端末エミュレーションソフトウェアがあります。遠隔にインターネットを通じてXshell ホストヘルプユーザーへの安全な接続だけでなく、その革新的なデザインと機能は、複雑なネットワーク環境で自分の仕事を楽しむことができます。
Xftp:
強力ですSFTP、FTPの ファイル転送ソフトウェアが。後で、MS Windowsユーザーが安全にできるXftpを使用して UNIX / Linuxの 間とWindows PCでファイルを転送します。Xftpが同時に、初心者と上級ユーザーのニーズを満たすことができます。これは、標準のWindowsスタイルガイドを使用して、そのシンプルなインターフェイスは密接に他のWindowsアプリケーションと一緒に作業することができ、加えて、それはまた、先進的なユーザーのための多くの強力な機能を提供しています。
もちろん、これらのツールは非商用利用無料の使用権を提供し、あなただけの対応情報を入力する必要があります。
ダウンロード:https://www.netsarang.com/en/free-for-home-school/
二、ビルドに.NET Core環境
環境ダウンロード:https://dotnet.microsoft.com/download
オペレーティングシステムのバージョンを確認します。
lsb_release -a
.NETコアランタイムを[ネットコアオペレーティング環境をインストール]インストールします。
sudoの回転数-Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm sudoのyumの更新 sudoのyumをaspnetcore-ランタイム2.2をインストールします
.NETのコアSDK【安装ネットコアSDKをインストールします】:
sudoの回転数-Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm sudoのyumの更新 sudoのyumをDOTNET-SDK-2.2をインストールします
設置環境のバージョン情報を表示します。
DOTNET --info
第三に、プロジェクトのリリースとCentOSのにサーバーに配備
プロジェクトを公開するのVisual Studioを使用します。
展開オプションのフレームワーク依存しています
理由:私たちは、オペレーティング環境を実行するために必要なネットコア・アプリケーションの前に持っていると、対応するSDKがアップをインストールしているため。
ポータブルターゲット・ランタイムを選択
その理由は:すべてのオペレーティングシステムに適用することができます。
サーバにアップロード良いxftpファイルを解放します。
使用すると、プロジェクトが正常にアップロードするかどうかを確認するためにxshell:
プロジェクトを実行します。
プロジェクトディレクトリを入力するにはまず:
CD MyDotNetApplication /
プロジェクトを実行します。
DOTNET FirstCore.dll -d&
背景が実行するかどうかを確認してください:
wgetののhttp:// localhostを:5000
若しくは
カールます。http:// localhostを:5000
プログラムのプロンプトの質問を実行します。
警告:Microsoft.AspNetCore.Server.Kestrel [0] のhttpと結合することができませんが:// localhostを:5000 IPv6のループバックインターフェイス上:「要求されたアドレスを割り当てることができません」。
この警告、そして、IPV6sは、あなただけのローカル介して内部サーバにアクセスできることを意味しますが、サイトが外部ネットワークのIPでアクセスすることができないとき到達不能、ループバック。
ソリューション:
最初のピットストップウェブサイト: ビューがプログラムポートを実行するには:ジョブが-l ポート番号を殺す:現在のプログラム終了 [もちろん、単に以下の効果を確認するために実行し、私たちはnginxのとガードサービスを設定する必要があります]を再実行するプログラムに、そして最終的には以下のアクセス方法は次のように行う設定: DOTNETをFirstCore.dll --server.urls = "のhttp:// * :5000"
下に示すように、外部ネットワークIP +ポート番号へのアクセス、成功したアクセス、ページを入力します。
第四には、configure nginxのリバースプロキシ:
リバースプロキシサーバーの利点を使用します:
ケストレルは、ASP.NETコアから動的コンテンツを提供するための理想的です。しかし、豊富な機能を備えたとして(例えばIIS、Apacheやnginxのような)サーバーなどのWebサービス。リバースプロキシサーバーは、このような静的なコンテンツを提供するようにHTTPサーバのワークロード、キャッシュ要求、アンインストールすることができます
圧縮およびHTTPSを端末に要求します。、専用のコンピュータ上に存在することができるリバースプロキシサーバーは、HTTPサーバで展開することができます。
リバースプロキシサーバは、ネットワークからのHTTPリクエスト及び転送(エッジサーバ)ケストレル、次のようにフローチャートを要求する要求を受信します。
ダウンロード、インストール、nginxのコマンドを起動します。
まず、CentOSの7 EPELソースを追加します。
sudoのyumはEPEL-リリースをインストールします
加えEPEL源の役割を(展開):
EPEL(Enterprise Linuxの追加パッケージは、()などCentOSの、など)その誘導体を放出するRHELのための高品質なパッケージを提供するために、Fedoraコミュニティプロジェクトによって構築されています。インストールEPELソースの後、「yumのパッケージ名をインストールする」ことなどによってFedoraのように、あなたがソフトウェアのニーズの多くをインストールすることができ、インストール前にコンパイルするだけでなく、このような今人気のnginxの、Redisのような、より一般的に使用されるソフトウェアの人気ソフトウェアの一部として、ように。EPELソースがインストールされたら、あなたは簡単にアップデートをインストールEPELを使用することができます。
nginxのインストールyumを次のコマンドを使用します。
sudoのyumをnginxのインストール
それは最初nginxのインストールされているので、明示的に次のコマンドを実行して起動します。
スタートnginxのsudoのサービス
または:
sudoのsystemctl開始nginxの
ビューnginxの起動するかどうか:
nginxののステータスを確認します。
systemctl状態nginxの
nginxのその後のgrepを介して濾過プロセスのリストとPS -efリスト:
PS -ef | grepのnginxの
nginxのは、ときに、システム起動時の設定を有効になっています。
sudoはnginxのを有効にsystemctl
システムのファイアウォールのステータスを表示します:
サービスのiptablesの状況
私のファイアウォールの下に示すようにオフになっています。
ファイアウォールシステムが閉じていない場合は、HTTPおよびHTTPS通信を許可するには、次のコマンドを入力します。
ファイアウォール-CMD --permanent --zone =公共--add-サービス= HTTP sudoの sudoのファイアウォール-CMD --permanent --zone =公共--add-サービス= httpsの sudoのファイアウォール-CMD --reloadを
nginxのが正常に実行されたかどうかを確認するために//123.xx.xx.88/ます。http:ブラウザでサーバーのIPアドレスを入力してください:
下記に示すように、nginxのnginxの成功した操作の転送をデフォルトのページを見ることができます:
nginxの設定ファイルを変更します。
nginxのは、デフォルトの設定を開くには、Vimのコマンドを使用して:
プロキシサーバに転送ASP.NETコアアプリケーションへの要求、編集、デフォルトの設定ファイルnginxのは、テキストエディタで開き、内容を置き換え/etc/nginx/nginx.confを逆にnginxのを設定するには以下:
vimの/etc/nginx/nginx.conf
コンテンツサーバへのオリジナルデフォルトの設定は以下のものを置き換えます。
置き換え:
サーバー{ 80聞きます。 サーバー名example.com * .example.comと。 場所/ { proxy_passます。http:// localhostを:5000; proxy_http_version 1.1; proxy_set_header $ http_upgradeをアップグレード。 proxy_set_header接続のキープアライブ。 proxy_set_headerホスト$ホスト; proxy_cache_bypass $ http_upgrade。 proxy_set_headerのX-転送さ-について$ proxy_add_x_forwarded_for。 proxy_set_headerのX-転送さ-プロト$スキーム。 } }
保存、編集、およびテキストエディタを終了します。
ESC +:変更を保存し、vimのエディタを終了しWQ
デフォルトのファイルnginxの設定が正しいことを確認します。
nginxの-t
ポートは通常のインスタンスで待機しているかどうかを確認します。
netstatの-an | grepの80
再起動Nginxは:
nginxの-sリロード
直接サーバーのIPアドレスを使用しての最後の訪問ASP.NET Coreアプリケーション: