ホームページ > ウェブフロントエンド > フロントエンドQ&A > nginxのnodejsをデプロイする方法

nginxのnodejsをデプロイする方法

PHPz
リリース: 2023-04-26 09:31:25
オリジナル
1738 人が閲覧しました

概要

現代の Web アプリケーション開発では、Nginx と Node.js の 2 つの非常に重要なツールです。高性能 Web サーバーとして、Nginx は主に HTTP リクエストと静的ファイルの処理に使用されます。アクセス; ノード.js は、高パフォーマンスの Web アプリケーションやサーバーサイド API を構築するために広く使用されており、優れた非同期、ノンブロッキング IO モデルと豊富なサードパーティ モジュール エコシステムで好まれています。

この記事では、Linux サーバーに Nginx と Node.js を同時にデプロイし、Nginx のリバース プロキシ機能を使用して Web アプリケーションのパフォーマンスと信頼性を向上させる方法を紹介します。効率的で安定したWebサービスを実現します。

準備

このチュートリアルを完了するには、Ubuntu 18.04 LTS オペレーティング システムを実行しているサーバーが必要です。最新バージョンの Node.js と Nginx もインストールする必要があります。

Node.js のインストール

まず、サーバーに Node.js をインストールする必要があります。 nvm (Node Version Manager) を使用して Node.js バージョンを管理します。これにより、異なる Node.js バージョンのインストールと切り替えが簡単になります。

  1. nvm のインストール

まず、curl コマンドを使用して nvm インストール スクリプトをダウンロードする必要があります:

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.36.0/install.sh | bash
ログイン後にコピー

次に、次のコマンドを実行して、構成の変更を適用します:

source ~/.bashrc
ログイン後にコピー

これで、nvm がサーバーにインストールされました。

  1. Node.js のインストール

次のコマンドを使用して、利用可能な Node.js バージョンを確認できます:

nvm ls-remote
ログイン後にコピー

次に、使用する Node.js バージョンを選択します。インストールする Node.js のバージョンを指定し、次のコマンドを使用してインストールします。

nvm install 14.16.1  // 这里我们选择的是 v14.16.1 版本
ログイン後にコピー

これで、Node.js が正常にインストールされました。

Nginx のインストール

次に、HTTP リクエストを処理し、静的ファイルを読み取るために、Nginx サーバーをインストールする必要があります。 Ubuntu 18.04 では、次のコマンドを使用して Nginx をインストールできます:

sudo apt-get update
sudo apt-get install nginx
ログイン後にコピー

インストールが完了したら、次のコマンドを使用して Nginx サービスを開始できます:

sudo systemctl start nginx
ログイン後にコピー

その後、次のコマンドを使用して、Nginx サービスのステータスを確認します:

sudo systemctl status nginx
ログイン後にコピー

Nginx サービスが正常に開始された場合、ブラウザからサーバーのパブリック IP アドレスにアクセスでき、Nginx のデフォルトのようこそページが表示されるはずです。 。

Nginx リバース プロキシの構成

これで、Nginx と Node.js が正常にインストールされました。次に、Nginx のリバース プロキシ機能を使用して、外部 HTTP リクエストを Node.js サーバー上の指定されたポート番号に転送します。

  1. Nginx 構成ファイルの編集

Nginx 構成ファイル /etc/nginx/nginx.conf を編集し、http セグメントでサーバー ノードを見つけて、次のコードをit :

upstream nodejs_backend {
    server    127.0.0.1:3000;  # 这里的端口号需要和我们 Node.js 端口号一致
}

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name _;
    
    location / {
        proxy_pass http://nodejs_backend;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}
ログイン後にコピー

ここでは、Nginx のアップストリーム モジュールを使用して、nodejs_backend という名前のアップストリーム サーバーを定義します。これは、後で実行する Node.js サーバーのポート番号である 127.0.0.1:3000 を指します。

次に、default_server という名前の仮想ホストを定義します。これは、ポート 80 でリッスンし、HTTP リクエストを nodejs_backend に転送します。 proxy_set_header パラメータのうち 3 つは、リクエストを転送するための追加情報を設定するために使用されます。

  1. Nginx サービスを再起動します

上記の手順を完了したら、Nginx サービスを再起動して有効にする必要があります:

sudo systemctl restart nginx
ログイン後にコピー
  1. Run Node.js service

これで、Nginx のリバース プロキシ機能が正常に構成され、Node.js サーバー上でサービスを開始して Nginx からのリクエストを受信する準備が整いました。

app.js というファイルを作成し、次のコードを使用して単純な http サーバーを起動します:

const http = require('http');
const server = http.createServer((req, res) => {
  res.writeHead(200);
  res.end('Hello, World!');
});
server.listen(3000, () => {
  console.log('Server running on http://127.0.0.1:3000/');
});
ログイン後にコピー

次に、次のコマンドを使用して Node.js アプリを起動します:

node app.js
ログイン後にコピー

正常に実行された後、ブラウザからサーバーのパブリック IP アドレスにアクセスし、Node.js アプリケーションが「Hello, World!」メッセージを出力するのを確認できます。

概要

おめでとうございます。Linux サーバーに Nginx と Node.js を同時にデプロイするチュートリアルが完了しました。 Nginx のリバース プロキシ機能を使用して HTTP リクエストを転送することで、Node.js で Web アプリケーションと API を作成し、Nginx を使用して静的ファイルの処理と負荷分散を行うことができるため、Web アプリケーションのパフォーマンスと信頼性が向上します。

以上がnginxのnodejsをデプロイする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート