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'