NGINX PM2 VPS: 高可用性とスケーラブルなアプリケーション サービス アーキテクチャの構築
インターネット テクノロジの急速な発展に伴い、高可用性でスケーラブルなアプリケーション サービス アーキテクチャの構築はますます重要になっています。そしてさらに重要なこと。 NGINX、PM2、VPS は、この目標の達成に役立つ一般的に使用されるツールです。この記事では、NGINX、PM2、および VPS を使用して、可用性が高くスケーラブルなアプリケーション サービス アーキテクチャを構築する方法を紹介し、具体的なコード例を示します。
1. NGINX: 高性能リバース プロキシ サーバー
NGINX は、負荷分散、静的リソースのキャッシュ、SSL に使用できる高性能リバース プロキシ サーバーです。端末やその他の機能。以下は、すべてのトラフィックをバックエンド アプリケーション サーバーに転送する簡単な NGINX 構成例です。
http { upstream backend { server backend1.example.com; server backend2.example.com; } server { listen 80; server_name example.com; location / { proxy_pass http://backend; } } }
上記の構成では、backend
という名前のバックエンド サーバーを定義しました。グループには複数のバックエンド アプリケーション サーバーが含まれています。 。 proxy_pass
ディレクティブは、トラフィックをバックエンド サーバー グループに転送します。
2. PM2: プロセス管理ツール
PM2 は、Node.js アプリケーションの管理と監視に役立つ強力なプロセス管理ツールです。以下は、簡単な PM2 構成例です。
{ "apps": [{ "name": "my-app", "script": "app.js", "instances": "max", "exec_mode": "cluster", "error_file": "logs/error.log", "out_file": "logs/out.log", "log_date_format": "YYYY-MM-DD HH:mm:ss", "env": { "NODE_ENV": "production" } }] }
上記の構成では、my-app
という名前のアプリケーションを定義し、アプリケーションのメイン ファイル app .js
を指定しました。 。 instances
はアプリケーションのインスタンスの数を指定し、exec_mode
はアプリケーションの実行モードを指定します。さらに、アプリケーションのログ ファイル、環境変数などを構成することもできます。
3. VPS: 仮想専用サーバー
VPS は、物理サーバーを複数の仮想専用サーバーに分割できる仮想化技術です。 VPS は、アプリケーションのニーズを満たす独立したリソースを提供します。以下は簡単な VPS 構成例です:
{ "name": "my-vps", "provider": "digitalocean", "region": "nyc3", "size": "s-1vcpu-1gb", "ssh_keys": ["my-public-key"], "backups": false }
上記の構成では、my-vps
という名前の VPS を定義し、VPS プロバイダー、リージョン、サイズ、SSH キー、バックアップを指定しました。およびその他の構成。
4. 高可用性でスケーラブルなアプリケーション サービス アーキテクチャを構築する
高可用性でスケーラブルなアプリケーション サービス アーキテクチャを構築するには、NGINX、PM2、および VPS を組み合わせます。以下は、単純なアプリケーション サービス アーキテクチャ図です。
+---------+ | NGINX | +---------+ | +---------+ | PM2 | +---------+ | +---------+ | VPS | +---------+ | +---------+ | APP | +---------+
上記のアーキテクチャでは、NGINX は外部リクエストを受信し、トラフィックをバックエンド PM2 クラスタに転送する役割を果たします。 PM2 は、Node.js アプリケーションのプロセスの管理と監視を担当します。 VPS は、アプリケーションの可用性と拡張性を確保するために独立したリソースを提供します。
5. 具体的なコード例
次は、NGINX、PM2、および VPS を使用して、可用性が高くスケーラブルなアプリケーション サービス アーキテクチャを構築する方法を示す具体的なコード例です。 。
まず、NGINX と PM2 を VPS にインストールし、NGINX のリバース プロキシを構成します。
# 安装 NGINX sudo apt-get install nginx # 安装 PM2 sudo npm install -g pm2 # 创建 NGINX 配置文件 sudo nano /etc/nginx/conf.d/my-app.conf
NGINX 構成ファイルに、次の内容を追加します。
upstream backend { server 127.0.0.1:3000; server 127.0.0.1:3001; } server { listen 80; server_name my-app.com; location / { proxy_pass http://backend; } }
保存して終了します。ファイル。次に、Node.js アプリケーションを VPS にデプロイし、PM2 を使用してアプリケーションのプロセスを管理します。
# 在 VPS 上克隆应用代码 git clone https://github.com/my-app.git # 进入应用目录 cd my-app # 安装应用依赖 npm install # 启动应用 pm2 start app.js -i max
ファイルを保存して終了します。最後に、NGINX サーバーを再起動します。
sudo systemctl restart nginx
これで、NGINX ドメイン名を介してアプリケーションにアクセスできる、可用性とスケーラブルなアプリケーション サービス アーキテクチャの構築に成功しました。
結論
この記事では、NGINX、PM2、および VPS を使用して、可用性とスケーラブルなアプリケーション サービス アーキテクチャを構築する方法を紹介します。これらのツールを適切に構成および管理することで、アプリケーションの可用性とパフォーマンスを向上させ、迅速な拡張を実現できます。これらのコード例が、読者が独自のアプリケーション サービス アーキテクチャを構築する際に役立つことを願っています。
以上がNGINX PM2 VPS: 可用性と拡張性の高いアプリケーション サービス アーキテクチャを構築するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。