GNU/Linux >> Linux の 問題 >  >> Linux

ubuntuサーバーでnginxとpm2を使用して単純なnodejsアプリをセットアップする方法

OSでGUIインターフェースが提供されている開発環境またはローカル環境でnodejsアプリを実行するのは簡単な作業ですが、クラウドサーバーの本番環境にデプロイする場合、ほとんどの初心者は開始方法を知りません。そこで、簡単なnodejsアプリを設定するための詳細な手順を次に示します。

1。新しいsudoユーザーの作成

注:スーパーユーザー権限を持つユーザーを既に作成している場合は、この手順に従う必要はありません。

実際には、rootを直接操作できます ユーザーですが、ターミナルでユーザーが誤って入力した危険なコマンドは、サーバーに害を及ぼす可能性があります。したがって、sudoを使用することをお勧めします アクセスして作成するには、最初にrootでログインします ユーザー権限:

$ ssh [email protected]_server_ip

次に、パスワードとホストの信頼性を指定して完了します。
次に、sudoを使用して新しいユーザーを作成します アクセス:

$ adduser sonu
$ usermod -aG sudo sonu

最初のコマンドはいくつかの質問をした後に新しいユーザーを作成し、2番目のコマンドはそのユーザーをsudoに追加します グループ(スーパーユーザーグループ)。
サーバーからログアウトします(exitを使用します) コマンド)、この新しいユーザーでログインします。

$ ssh [email protected]_ip

2。 nginxとnode.jsをインストールします

まず、aptを更新します このコマンドを使用したリポジトリ:

$ sudo apt update

次に、 nginxをインストールします 使用

$ sudo apt install nginx

そして、nodejs

$ curl -sL https://deb.nodesource.com/setup_6.x | bash
$ sudo apt install -y nodejs

最新のnode.jsバージョンについては、公式のnodesource [インストール手順](https://github.com/nodesource/distributions#installation-instructions)をチェックアウトすることもできます。

3。単純なnodejs(エクスプレス)アプリを起動する

express-generatorを使用して簡単なexpressjsアプリを作成します 。したがって、最初にexpress-generatorをインストールします 以下をグローバルに使用します:

$ sudo npm i express-generator -g

その後、ホームディレクトリにエクスプレスアプリを作成します

$ cd ~
$ express testapp

次に、:

を使用してアプリを起動します
$ cd testapp
$ npm install & npm start

アプリはhttp://localhost:8080から始まります ポート。

4。 pm2をインストールして永久に実行します

npm startを実行するだけです サーバー障害などが発生した場合にアプリがダウンした場合、アプリは再起動しません。そのため、システムを再起動するたびにシステムを稼働させ続けるために、pm2を使用します。 nodejsアプリ。 sudo npm i pm2 -gと入力して、グローバルにインストールします 次のコマンドを使用して、アプリを永久に実行します。

$ cd testapp/bin
$ pm2 start www

5。 8080をデフォルトのhttpポートにマッピングします。

最後のステップは、nginxを使用して8080をマッピングすることです。 デフォルトの80へのポート httpポート。これをリバースプロキシサーバーと呼びます。
nginxのデフォルトのサーバーブロックを開き、そのファイルからすべてを削除します。

$ sudo nano /etc/nginx/sites-available/default

次のコードをこのファイルに貼り付けて保存します:

server {
   listen 80;
   server_name "";
   location / {
     proxy_pass http://localhost:8080;
     proxy_http_version 1.1;
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   }
}

最後に構成をテストし、nginxをリロードします:

$ sudo nginx -t
$ sudo nginx -s reload
## or restart the nginx 
$ sudo service nginx restart

追加の手順は、ポート8080を無効にすることです。 ubuntu ufwを介して ファイアウォール。有効にすると、すべてのポートがブロックされます。したがって、Nginx Fullを介していくつかの一般的なポートを許可します 構成。

$ sudo ufw enable
$ sudo ufw allow 'Nginx Full'

Linux
  1. Sambaサーバーとは何ですか?UbuntuLinuxでSambaサーバーをセットアップする方法

  2. Ubuntu 20.04でPostgres、Nginx、Gunicornを使用してDjangoをセットアップする方法

  3. Ubuntu 20.04 で Nginx を使用して MERN スタックをインストールおよびセットアップする方法

  1. Ubuntu18.04にNginxでElggをインストールする方法

  2. CSF ファイアウォールで Ubuntu サーバーを保護する方法

  3. Ubuntu 22.04 に NVM と Nginx を使用して Node.js をインストールする方法

  1. LinuxでKeepAlivedを使用して高可用性NGINXをセットアップする方法

  2. Ubuntu16.04でVarnishとApacheを使用してMagento2をセットアップする方法

  3. Ubuntu18.04LTSにNginxを使用してHTTPGitサーバーをインストールする方法