阿里雲Nginx究極のチュートリアル: 静的webサイトから高性能リバースプロキシ構成に導入
企業のデジタル化変革の今日では、高可用性、高同時かつエレガントなWebシステムを構築し、合理的なクラウドインフラストラクチャと優れたWebサーバ選定が欠かせない。阿里雲のクラウドサーバECS(Elastic Compute Service) は国内ないし世界トップの計算力基盤として、高性能な非同期イベント駆動サーバと組み合わせる
Nginx
、ほとんどのインターネットアーキテクチャの標準になっています。
企業が海に出ても、国境を越えた電気商でも、本土の高合併応用でも、Nginxの核心配置はシステム設計者と運送技術者の必修科目である。本稿は実戦に立脚し、
環境構築、静的webサイト配置、リバースプロキシと動き分離配置
などの次元は、阿里雲環境下のNginxの高度な調整を深く把握している。
予備作業: インフラの準備
すべての構成を開始する前に、クラウドで実行されているLinuxサーバが必要です。
📌アーキテクチャ選定のヒント: 海外企業や登録免除に剛性のある業務については、通常、阿里雲国際版 (例えば、中国香港、シンガポール、美西ノード) を選択する国内の国内市場を深く耕す業務については、国内版の大陸ノードにもっと傾向があります。多くの海外企業は海外の支払い手段や海外の身分資料が不足しているため、直接登録できない。この場合、公式に認可されたチャネル業者を通じて阿里雲アカウントの購入とコンプライアンスのチャージを行う業界で最も効率的で安全な選定案となっている。
1.セキュリティグループポートを開放する
ECSインスタンスの準備ができたら、まず阿里雲コンソールにログインし、インスタンスに対応するセキュリティグループに方向ルールを追加して、次の2つのコアWebポートを解放する必要があります
TCP 80ポート: 通常のHTTPアクセスに使用します。
TCP 443ポート: 暗号化されたHTTPSアクセスに使用します。
2.システム環境の更新とNginxインストール
現在主流の
Alinux 3 / CentOS 8
システムを例にとると
Dnf
または
Yum
パッケージマネージャはNginxをすばやくインストールします
バッシュ
# システムパッケージの更新
Sudo dnf update -y
# Nginxのインストール
Sudo dnf install-ynginx
# サービスを開始し、起動を設定します
Sudo systemctl start nginx
Sudo systemctorennixin
# Nginxの実行ステータスをチェックする
Sudo systemctl status nginx
ステータスが
アクティブ
を選択すると、ブラウザにECSのパブリックネットワークIPを入力します
Nginxの歓迎ページは、基礎環境が成功したことを示している。
一、高度な実戦: 高凝集の静的ウェブサイトの配置
実際の生産では、マスター構成ファイルを直接修正します
/Etc/nginx/nginx.conf
良い習慣ではありません。Nginxのベストプラクティスは
マスター構成ファイルをきれいにして、独立したwebサイトごとに/etc/nginx/conf.d/ディレクトリに個別の.conf構成ファイルを作成します
。
フロントエンドの現代単ページアプリケーション (VueやReactプロジェクトなどのSPA) を導入するとします。
1.標準化してプロジェクトディレクトリを作成する
バッシュ
Sudo mkdir -p /www/www root/mysite
# フロントエンドでパッケージ化されたdistディレクトリの下のファイルをこのディレクトリにアップロードします
2.サイト構成ファイルの作成
において
/Etc/nginx/conf.d/
ディレクトリの下に作成します
Mysite.conf
:
バッシュ
Sudo vim /etc/nginx/conf.d/mysite.conf
次の本番環境標準設定を入力します
エンジンX
Server {
Listen 80;
Server_name www.example.com example.com; # はあなたの本当のドメイン名に置き換えます
Root/www/www root/mysite;
Index exe-htm;
# Gzip圧縮をオンにすると、海外ネットワーク環境での最初の画面のロード速度が著しく向上します
Gzip on;
Gzip_min_length 1k;
Gzip_comp_level 6;
Gzip_typetext/plaintext/cssアプリケーション/jsonアプリケーション/javascript text/xml;
# フロントエンドルーティング履歴モード (History Mode) での404問題を解決する
Location/{
Try_files $ uri $ uri/ /index.html;
}
# 静的リソースキャッシュ最適化
Location ~ * \.(jpg | jpeg | png | gif | ico | css | js)$ {
Expires 7d;
Access _ log off;
}
# エラーページのリダイレクト
Error _ page 404 /404.html;
Error _ page 500 502 503 504 /50x.Html;
Location = /50x.Html {
Root/usr/share/nginx/html;
}
}
⚠コンプライアンスの注意: ドメイン名の解析が阿里雲中国大陸内のECSインスタンスを指している場合、このドメイン名は工信部でICP登録を完了しなければならないそうでなければ、阿里雲の境界ファイアウォールは自動的に80/443ポートのアクセス要求を傍受する。業務が記録できない場合は、チャネル業者を通じて阿里雲アカウントで国際駅サービスを購入し、中国香港や海外ノードにwebサイトを配置することを提案する。
二、コア高度: リバースプロキシと動き分離配置
リバースプロキシはNginxの最も強力な機能である。このような枠組みの下で、Nginxはトラフィックの唯一の入り口として、クライアントの要求を受け取る責任があるその後、要求をバックエンドの実際のアプリケーションサーバー (Tomcat、Node.js、Go、Python、Spring Bootなど) に内部的に転送します。
このようにするのは
バックエンドサーバの実際のIPを非表示にします
安全性を高め、より高い同時処理を搭載できる。
1.基礎リバースプロキシ
バックエンドSpring Bootアプリケーションが同じインスタンスの
8080
ポート上にあり、かつ8080ポートを外部に公開したくない。Nginxでは、次のように構成できます
2.生産レベルの高度: 動き分離とマルチポートルート
より複雑な企業レベルのアーキテクチャでは、同じドメイン名を使用し、URL接頭辞で区別することが多い
フロントエンド静的リソース
と
バックエンド動的APIインタフェース
:
このようにして
動静分離
の配置、Nginxは高同時の画像、CSS、JS静的要求を処理する時、バックエンドのJava/Goプロセスを全く邪魔する必要がなく、バックエンドのサーバのメモリオーバーヘッドを大幅に低減しただけでなく、webサイトシステム全体のスループット限界も倍増した。
三、配置の有効化と維持管理のピットガイド
Nginx構成ファイルを修正した後
直接盲目的にサービスを再開してはいけない
。構成に文法エラーがある場合 (セミコロンが1つ少ない場合など)
;
または括弧が閉じていない) 、直接再起動すると、オンラインWebサービスが瞬時にクラッシュし、プルアップできなくなります。
正しい滑らかな重負荷プロセス
1.文法検証: オンラインサービスの安全を保障する。
端末で実行する
Sudo nginx -t
コマンド。
もし戻ったら
Nginx: c o n f o r e c o n f e r e n t i s c o n a t i o n a t i o n a t i o n a t i o n a t i o n a t i o n a t i o n a t i o n a t i o n a t i o n a t i o n a t i o n a t i t i o n a t i o n a t i o n
、構成ファイルの文法が完全に正しいことを証明します
確かです。
2.滑らかな重負荷 (Reload): ゼロ停止熱更新。
コマンドの実行:
Sudo systemctl reload nginx
。
Reload
と
Restart
異なり、NginxのMasterプロセスは新しいWorkerプロセスをスムーズに導出して新しい要求を処理し、古いWorkerプロセスは現在の接続を処理した後に自動的に破棄され、実現されます
業務の完全な中断
の設定を更新します。
四、企業の海外選定の提案をまとめます。
Nginxの配置は千変万化しているが、万変はその宗から離れない。合理的な仮想ホストによって分割され、厳格な
Proxyパス
要求の頭が透き通って、阿里雲ECSの安定した優れたネットワークリンクと協力して、日平均百万級PVの応用を簡単に支えることができる。
最後に、クラウドコンピューティングのベテラン業者が注意します。
アーキテクチャの設計はコンプライアンスにサービスを提供しなければならない。
配置の過程で国境を越えたネットワークの変動でバックエンドAPIの遅延が高すぎることを発見したり、届け出の周期が長すぎることで市場のチャンスを逃したりした場合は、計画の初期に長期的な計画を立てなければならない。特定の海外業務拡大の訴えがある企業に対しては、正規の、公式契約保障の第三者リシーラールートを選択して行う。
Alibaba Cloudアカウントの購入
国際版サービスは、複雑な実名と地域アクセス制限を源から避け、海外業務の安定的な着地を保障する黄金法則である。

