MEANスタックは、動的なWebサイトおよびWebアプリケーションの開発に使用される無料のオープンソースの人気のあるJavaScriptソフトウェアスタックです。これは、MongoDB、Express、Angular、Node.jsの4つのコンポーネントで構成されています。 Angularはフロントエンド開発に使用され、Node.js、Express、およびMongoDBはバックエンド開発に使用されます。 MEANスタックはJavaScript言語に基づいているため、アプリケーションのすべての側面を処理できます。
このチュートリアルでは、Ubuntu20.04にMEANスタックをインストールする方法を紹介します。
前提条件
- Atlantic.Netクラウドプラットフォーム上の新しいUbuntu20.04VPS
- サーバーIPを指す有効なドメイン名
- サーバーで構成されているrootパスワード
ステップ1-Atlantic.Netクラウドサーバーを作成する
まず、Atlantic.Netクラウドサーバーにログインします。オペレーティングシステムとしてUbuntu20.04を選択し、少なくとも1GBのRAMを搭載した新しいサーバーを作成します。 SSH経由でクラウドサーバーに接続し、ページの上部で強調表示されているクレデンシャルを使用してログインします。
Ubuntu 20.04サーバーにログインしたら、次のコマンドを実行して、ベースシステムを最新の利用可能なパッケージで更新します。
apt-get update -y
ステップ2–MongoDBをインストールする
まず、サーバーにMongoDBデータベースをインストールする必要があります。デフォルトでは、MongoDBの最新バージョンはUbuntu 20.04のデフォルトリポジトリで利用できるため、次のコマンドを使用して簡単にインストールできます。
apt-get install mongodb -y
MongoDBがインストールされたら、MongoDBサービスを開始し、次のコマンドを使用してシステムの再起動時に開始できるようにします。
systemctl start mongodb systemctl enable mongodb
ステップ3–Node.jsをインストールする
まず、次のコマンドを使用して、必要なすべての依存関係をインストールします。
apt-get install curl gnupg2 unzip git gcc g++ make -y
すべての依存関係がインストールされたら、次のコマンドを使用してNode.jsリポジトリを追加します。
curl -sL https://deb.nodesource.com/setup_14.x | bash -
リポジトリを追加した後。次のコマンドでNode.jsをインストールできます:
apt-get install nodejs -y
Node.jsがインストールされたら、次のコマンドを使用してNode.jsのバージョンを確認します。
node -v
次の出力が得られるはずです:
v14.15.1
次に、次のコマンドを使用して、yarn、gulp、pm2などの他の必要なパッケージをインストールします。
npm install -g yarn npm install -g gulp npm install pm2 -g
すべてのパッケージがインストールされたら、次のステップに進むことができます。
ステップ4–MEANスタックのインストールと構成
まず、次のコマンドを使用してMEANの最新バージョンをダウンロードします。
git clone https://github.com/meanjs/mean
ダウンロードが完了したら、次のコマンドを使用して、ディレクトリを意味するように変更し、必要なすべての依存関係をインストールします。
cd mean yarn install
次に、次のコマンドを使用してserver.jsファイルを編集します。
nano server.js
すべての行を次のように置き換えます:
const express = require('express'); const MongoClient = require('mongodb').MongoClient; const app = express(); app.use('/', (req, res) => { MongoClient.connect("mongodb://localhost:27017/test", function(err, db){ db.collection('Example', function(err, collection){ collection.insert({ pageHits: 'pageHits' }); db.collection('Example').count(function(err, count){ if(err) throw err; res.status(200).send('Page Hits: ' + Math.floor(count/2)); }); }); }); }); app.listen(3000); console.log('Server running at http://localhost:3000/'); module.exports = app;
終了したらファイルを保存して閉じ、次のコマンドでサーバーを起動します。
pm2 start server.js
次の出力が得られるはずです:
次に、次のコマンドを使用して、server.jsがシステムの再起動時に開始できるようにします。
pm2 startup
この時点で、MEANスタックがインストールされ、ポート3000でリッスンしています。次のコマンドで確認できます。
ss -antpl | grep 3000
次の出力が得られるはずです:
LISTEN 0 511 *:3000 *:* users:(("node",pid=26014,fd=20))
ステップ5–NginxをMEANのリバースプロキシとして構成する
次に、MEANアプリケーションにアクセスするには、Nginxをリバースプロキシとしてインストールして構成する必要があります。
まず、次のコマンドを使用してNginxWebサーバーをインストールします。
apt-get install nginx -y
インストールしたら、次のコマンドを使用して新しいNginx仮想ホスト構成ファイルを作成します。
nano /etc/nginx/sites-available/mean
次の行を追加します:
server { listen 80; server_name mean.example.com; access_log /var/log/nginx/mean-access.log; error_log /var/log/nginx/mean-error.log; location / { proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://localhost:3000/; } }
終了したらファイルを保存して閉じ、次のコマンドで仮想ホストを有効にします。
ln -s /etc/nginx/sites-available/mean /etc/nginx/sites-enabled/
次に、Nginxメイン構成ファイルを編集してhash_bucket_sizeを設定します:
nano /etc/nginx/nginx.conf
http{
の下に次の行を追加しますserver_names_hash_bucket_size 64;
ファイルを保存して閉じ、次のコマンドを使用してNginxの構文エラーを確認します。
nginx -t
次の出力が得られるはずです:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
最後に、Nginxサービスを再起動して、構成の変更を適用します。
systemctl restart nginx
ステップ6–MEANアプリケーションにアクセスする
次に、Webブラウザーを開き、URL http://mean.example.comを使用してMEANアプリケーションにアクセスします。 。次の画面にMEANアプリケーションが表示されます。
上記の画面では、ページを更新すると自動的に番号が増えます。
結論
おめでとう!これで、Ubuntu20.04サーバーにリバースプロキシとしてNginxを使用してMEANスタックが正常にインストールされました。これで、Atlantic.Netを使用してVPSホスティングアカウントにMEANスタックを使用して独自の動的アプリケーションを簡単にデプロイできます。