NGinxを使用してnodejsアプリケーションを配備する
4720 ワード
Nadexを使用してNODEJS / ExpressJSアプリケーションをホストする
ノード.JSはオープンソース、クロスプラットフォーム、V 8エンジン上で動作するバックエンドのJavaScriptランタイム環境です.
Nodejsアプリケーションは多くの異なる方法でホストされることができます、しかし、最も好ましい方法はNGinx Reverse Proxy Serverを使用しています.あなたが無料クレジット利用可能(これはほとんどが初めてあなたのアカウントを作成している場合があります)を持っている場合は、この記事を次の任意のクラウド上で無料で独自のNodeJS + Expressアプリケーションをホストすることができます.
このレプリケーションの場合、任意のクラウドプロバイダでアカウントが必要になります.私は、AWSを使用しています.
始めましょう
ステップ1:クラウド環境の設定👽:
後藤あなたのクラウドコンソールと仮想マシンを作成します.私が共有しているコマンドはUbuntu 18を使用しています.アマゾンEC 2上のXしかし、任意のマシンを選択し、それに応じて以下のパッケージをインストールしてください.
ステップ2 : nodejsのインストールと設定
上記のように、nodejsはオープンソースです.したがって、任意の異なるマシンのための無料で利用可能です.ubuntuでnodejsをインストールするには、次の手順に従います.
最新のアップデートをチェック
sudo apt update
さて、ノードをインストールします.js
sudo apt install nodejs
ノードかどうかを調べます.JSがうまくインストールされ、バージョンがインストールされました
node --version
では、ノードパッケージマネージャをインストールします
sudo apt install npm
ステップ3:単純なノードを作成&アプリケーションを表現する
誰でもあなたのウェブページを訪問するならば、下記のコードはHello Worldに提供します:
NODEJSアプリケーションを初期化します
cd ~
mkdir mynodeapp && cd mynodeapp
npm init -y
インストールエクスプレス
npm i express
あなたのアプリケーションに次のコードをコピーします.jsファイル
vim app.js
const express = require("express");
const app = express(); // Initializing Express App
// Sending Hello World when anyone browse your webpage
app.get("/*", (req, res)=>{
res.send('Hello World');
});
app.listen(3000, ()=> console.log("App Listening on port 3000"));
上記のコードを保存し、ESCボタンを押して終了します.
アプリケーションをテストします
node app.js
予想される出力:
App Listening on port 3000
上記アプリケーションを閉じるには
上記のアプリケーションを実行すると、他のすべてのコマンドをブロックし、他のアクティビティを実行できないことがわかります.さらに、我々は端末を閉じる場合は、アプリケーションが閉じられます.この問題を解決するために、私たちはPM 2を使用するでしょう、これは私たちがリソースまたは私達をブロックすることなく単一の時に複数のnodejs/expression
PM 2のインストール
sudo npm install -g pm2
PM 2を使用して上記のアプリケーションを起動します.
pm2 start app.js
アプリケーションが実行中かどうかチェックします.
pm2 status
アプリケーションを停止するには、次のようにします.
pm2 stop <application_name/ID>
私たちのアプリケーション名はアプリです.PM 2またはIDはPM 2ステータスの出力で上に示されるように0になります
アプリケーションを再起動するには
pm2 restart <application_name/ID>
--
PM 2を使用してアプリケーションを起動した後ローカルで実行しているか正常に動作している場合は、curlを使用してアプリケーションをテストします
curl localhost:3000
ステップ3 : nginxプロキシの設定
我々のアプリケーションは現在ポート3000で動作していることがわかります.しかし、私たちは、誰もが私たちのアプリケーションになるたびに直接私たちのウェブサイトを開いて、例を言ってみましょう.COMとは、我々のアプリケーションにリダイレクトされる必要があります.そうするために、私たちは、私たちのウェブサイト上でユーザーをリダイレクトするNGinxを使用します.NGinxを使用すると、セットアップを迅速に複数の異なるWebサイトを格納することができます/簡単にログを管理します.
Ubuntuのために、NginXはそれのデフォルト倉庫で利用できます、したがって、我々は単にNGinxを直接インストールする必要があります
sudo apt install nginx
nginx open defult nginxファイルを設定し、localhostにリバースプロキシを設定するには:3000
sudo vim /etc/nginx/sites-available/default
既定のファイルでは、サーバーブロックの下に、既存の場所ブロックを見ることができます.場所の内容を削除します/下記のコードを使用します.
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
nginxサーバを起動する
sudo systemctl restart nginx
wuhoo!🎉 実行中のアプリケーションを正常にホストしました.
http://your_virtual_machine_IP
あなたのドメイン名のプロバイダにあなたのドメイン名のプロバイダにYourAlarm MachinalCount MachinEdge IPを追加*と誰もがあなたのウェブサイトを訪問してあなたのNODEJSアプリケーションを見ることができるようになります.
毎日のコンテンツは、Instagramで私に従ってください
ステップバイステップのビデオチュートリアルの次のリンクを参照してください
Youtube video by JSStackAcademy
Reference
この問題について(NGinxを使用してnodejsアプリケーションを配備する), 我々は、より多くの情報をここで見つけました
https://dev.to/jsstackacademy/deploy-nodejs-application-using-nginx-3jhh
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
sudo apt update
sudo apt install nodejs
node --version
sudo apt install npm
cd ~
mkdir mynodeapp && cd mynodeapp
npm init -y
npm i express
vim app.js
const express = require("express");
const app = express(); // Initializing Express App
// Sending Hello World when anyone browse your webpage
app.get("/*", (req, res)=>{
res.send('Hello World');
});
app.listen(3000, ()=> console.log("App Listening on port 3000"));
node app.js
App Listening on port 3000
sudo npm install -g pm2
pm2 start app.js
pm2 status
pm2 stop <application_name/ID>
pm2 restart <application_name/ID>
curl localhost:3000
sudo apt install nginx
sudo vim /etc/nginx/sites-available/default
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
sudo systemctl restart nginx
http://your_virtual_machine_IP
Reference
この問題について(NGinxを使用してnodejsアプリケーションを配備する), 我々は、より多くの情報をここで見つけました https://dev.to/jsstackacademy/deploy-nodejs-application-using-nginx-3jhhテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol