Ubuntu 16.04 LTSでMongoDBとApacheを使用してMeteor.js Webアプリケーションをセットアップする方法

Meteor.jsは、Node.jsを念頭に置いて記述されたオープンソースのJavaScriptフレームワークです。純粋なJavaScriptでWebアプリケーションを構築するという見方から人気があります。Meteorには、Webブラウザーで実行されるフロントエンドJavaScriptサポートと、ホストサーバーで実行されるバックエンドJavaScriptが組み込まれています。ReactやAngular.jsなどのフロントエンドJavaScriptフレームワークや、人気のあるNoSQLデータベースであるMongoDBと非常によく統合されています。Meteor.jsを選択する主な理由は次のとおりです。

  • Meteor.jsは完全なスタックフレームワークです。つまり、データベース、フロントエンド、バックエンドなど、必要なすべてのものが手に入ります。流星はそれをすべて一緒に結びつけるという驚くべき仕事をします。

  • 速度。Meteorの直感的なパッケージシステムは、アプリケーションの完成に必要な多くのツールを提供します。

  • Meteor Developer Groupだけでなく、Meteor Developer Groupを使用する他の開発者からも優れたサポートを得ています。あなたは簡単にあなたが持っているかもしれないどんな問題でも理解して、それらを素早く解決することができるでしょう。

このチュートリアルでは、Ubuntu 16.04で次の目標を達成します。

  • Node.jsJavascriptランタイムであるをインストールします。

  • をインストールしますMeteor.js

  • MongoDBMeteorの選択したデータベースをインストールします。

  • Apache選択したリバースプロキシをインストールし、必要に応じてドメインを設定します。

  • 私たちのウェブサイトをテストします。

  • 制作用にウェブサイトをセットアップします。

Node.jsのインストール

まず、JavaScriptインタープリターであるNode.jsとMeteorのコアをインストールする必要があります。これにより、Meteorや将来使用する可能性のある他のNode.jsアプリケーションを実行できるようになります。この状況では、Node.js 8をインストールします。ダウンロードを開始するには、ターミナルで次のコマンドを実行します。

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs

ダウンロードとインストールが完了するまで待ちます。

MongoDBのインストール

次に、データベースMongoDBをインストールします。MongoDBは、無料のオープンソースのNoSQLドキュメントデータベースであり、Meteorが選択したデータベースです。従来のSQLデータベースの構造化テーブルとは対照的に、ドキュメントにはJSONのような形式を使用します。

APT(Advanced Packaging Terminal)で使用されるMongoDB公開鍵をインポートします。これにより、APTはパッケージを検証できます。この場合は、MongoDBです。

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6

Ubuntu 16.04に必要なリストファイルを作成します。

echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list

MongoDBのインストールを開始し、インストールが完了するまで待ちます。

sudo apt update && sudo apt install mongodb-org -y

systemdサービスを開いて編集します。

sudo nano /etc/systemd/system/mongodb.service

以下をコピーして貼り付け、systemdサービスを完成させます。

[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target
[Service]
User=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf

[Install]
WantedBy=multi-user.target

Control-O保存するには「Control-X」を、終了するには「」を使用します。

sudo systemctl start mongodb端末に入力して、MongoDB systemdサービスを実行します。

正常に起動したことを確認するには、次のように入力します。

sudo systemctl status mongodb

サービスがアクティブであることがわかります。

Apache2のインストールと設定

次に、Apacheをインストールします。Apacheは無料でオープンソースのWebサーバーソフトウェアであり、リバースプロキシとしても機能します。これは、このチュートリアルで使用します。Meteor.jsアプリケーションをにバインドするには、リバースプロキシが必要ですport 80。Node.jsは、アプリケーションがrootアクセスなしでそのポートで実行されるのをブロックします。Apacheはにrootバインドするだけでなく自動的に実行されるport 80ので、Webサイトを実行するときに心配する必要はありません。

Apacheをインストールします。

sudo apt update && sudo apt install apache2

などの外部Webポートへのアクセスを許可するにはport 80、Apache用にファイアウォールを設定する必要があります。これはUFW(複雑でないファイアウォール)を通じて行います。

sudo ufw allow 'Apache Full'

これにより、「Apache Full」プロファイルへのアクセスが許可されます。これにより、への着信トラフィックが得られますport 80。これは、アプリケーションが実行されるものです。

Meteor.jsのインストールとベースア​​プリケーションの作成

次に、WebフレームワークMeteor.jsをインストールします。Meteorチームから提供された単純なbashスクリプトを使用してインストールします。

curl https://install.meteor.com/ | sh

インストールが完了するまで待ちます。基本的にスクリプトは、Meteorを公式Webサイトからダウンロードしてグローバルにインストールするため、どこからでも使用できます。完了したら、アプリケーションディレクトリを作成できます。Meteorには、そのために使用する便利な小さなツールがありmeteor createます。アプリケーションディレクトリを作成するには、次のように入力します。

meteor create <projectname>

指定した名前(<projectname>)でフォルダーが作成されます。

Apacheリバースプロキシの設定

アプリケーションディレクトリを設定したので、リバースプロキシの設定に進みます。Apacheは、Apacheのmod_proxyプロキシを実装すると呼ばれるモジュールを使用します。

sudo apt-get install libapache2-mod-proxy-html libxml2-dev -y

これにより、モジュールがインストールされ、Apacheで使用できるようになります。

次に、Apacheの実行に必要なすべてのモジュールを有効にする必要があります。これはa2enmod、Apacheのモジュールを有効にするツールで行います。これらのモジュールにより、リバースプロキシを利用できます。これらのコマンドを端末に入力するだけです。

sudo a2enmod proxy
sudo a2enmod proxy_http
sudo a2enmod proxy_ajp
sudo a2enmod rewrite
sudo a2enmod deflate
sudo a2enmod headers
sudo a2enmod proxy_balancer
sudo a2enmod proxy_connect
sudo a2enmod proxy_html

その後、デフォルトのApacheサイトが起動しないようにする必要があります。これにより、独自のサイトを起動できます。そうしないと、デフォルトのApacheアプリケーションがオーバーライドされます。デフォルトのサイトを無効にするには、次のコマンドを実行します。

sudo a2dissite 000-default

次に、仮想ホストファイルを作成します。これを行うには、テキストエディターを開きます。

sudo nano /etc/apache2/sites-available/<projectname>

以下をコピーして貼り付けます。

<VirtualHost *:80>
  ErrorLog ${APACHE_LOG_DIR}/error.log
  CustomLog ${APACHE_LOG_DIR}/access.log combined
  ProxyPreserveHost On
  # Servers to proxy the connection, or
  # List of application servers Usage
  ProxyPass / http://0.0.0.0:3000/
 ServerName localhost
</VirtualHost>
  • VirtualHost *:80:Apacheにポート80に接続するように指示します。これは、Webアプリケーションに必要なものです。

  • ProxyPass:リバースプロキシに転送するサイトのIPアドレス。ほとんどの場合、これはVPSのIPになります

  • ServerName:サーバーの名前(デフォルト名は通常ですlocalhost)。

必要な設定がすべて完了したら、「Control-O」を使用して保存し、「Control-X」を使用して終了します。

サイトを初めて実行する

Webサイトが実行されていることをテストして確認するには、プロジェクトディレクトリに次のように入力します。

meteor

サイトが正常に起動したことを示す次の出力が表示されます。

=> App running at: http://localhost:3000/

Meteorはデフォルトでをリッスンすることに注意してくださいport 3000

制作のためのウェブサイトの設定

アプリの実行を維持できるようにするために、systemdサービスを使用します。上記のMongoDBで行ったことと同様に、このシステムサービスは、システムが起動するたびにWebサイトが起動し、稼働し続けることを保証します。また、何らかの理由でアプリケーションがクラッシュした場合にも、アプリケーションを再起動します。systemdサービスをセットアップするには、ターミナルで次のように入力します。

sudo nano /etc/systemd/system/<projectname>.service

ファイルをどのように見せたいかを以下に示します。

[Service]
WorkingDirectory=/home/<yourusername>/<projectname>
ExecStart=/usr/local/bin/meteor --production
Restart=always
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=<projectName>
User=<yourusername>
Environment=NODE_ENV=production
Environment=PWD=/home/<yourusername>/<projectname>
Environment=PORT=3000
Environment=HTTP_FORWARDED_COUNT=1

プロジェクトの名前とVPSのユーザー名に置き換えることprojectnameを忘れないでくださいyourusername

ここで、覚えておくべき重要なポイントをいくつか示します。

  • WorkingDirectory:アプリケーションのディレクトリ。

  • Restart:何らかの理由でアプリケーションの再起動を停止するかどうか。

  • User: あなたのユーザーネーム。

  • Environment=PWD:と同じWorkingDirectoryです。

  • Environment=PORT:アプリケーションが実行されているポート。デフォルトは3000です。

ファイルを保存して閉じます。

次に、サービスを有効にして開始します。

sudo systemctl enable <projectname>.service

どこで<projectname>私たちが作成したサービス・ファイルの名前です。

次に、サービスを開始します。

sudo systemctl start <projectname>.service

アプリケーションが起動します。起動したことを確認するには、次のコマンドを実行します。

sudo systemctl status <projectname>

それがアクティブであることがわかり、サービスが正常に開始されたことを確認します。

次に、ウェブサイトをチェックします。選択したWebブラウザーで、IPアドレスに移動します。

http://your-server-ip/

Meteorサンプル画面が表示され、すべてが正しく行われたことを確認します。

アプリケーションの管理

アプリケーションを開始したので、それを管理する必要があります。

アプリケーションを再起動する

sudo systemctl restart <projectname>

アプリケーションを停止する

sudo systemctl stop <projectname>

アプリケーションのステータスを表示する

sudo systemctl status <projectname>

ログを表示する

journalctl -u <projectname>

これで、MongoDB、Apache、およびMeteorが正常に構成され、本番用のMeteor.js Webサーバーが作成されました。残りはあなた次第で、フロントエンドとバックエンドであなたのウェブサイトをデザインします。MongoDBにアクセスして、必要なデータを保存できます。Node.jsには、ノードパッケージマネージャー(NPM)から利用できるさまざまなモジュールがあり、バックエンドをさらに強化できます。その他のドキュメントについては、Meteorサイトにアクセスしてください。このサイトでは、Webサイトを好みに合わせてカスタマイズする方法をさらに学ぶことができます。また、データベース操作を扱う場合は、MongoDBのドキュメントを参照してください。



ヘルスケア2021における人工知能の影響

ヘルスケア2021における人工知能の影響

ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。

macOS Catalina 10.15.4サプリメントの更新により、解決するよりも多くの問題が発生しています

macOS Catalina 10.15.4サプリメントの更新により、解決するよりも多くの問題が発生しています

最近、Appleは問題を修正するための補足アップデートであるmacOS Catalina 10.15.4をリリースしましたが、このアップデートにより、Macマシンのブリックにつながる問題がさらに発生しているようです。詳細については、この記事をお読みください

原子力が必ずしも悪ではないことを証明する5つの例

原子力が必ずしも悪ではないことを証明する5つの例

原子力は、過去の出来事のために私たちが決して尊重しないことを常に軽蔑していますが、それは必ずしも悪ではありません。詳細については、投稿をお読みください。

AIはどのようにしてプロセス自動化を次のレベルに引き上げることができますか?

AIはどのようにしてプロセス自動化を次のレベルに引き上げることができますか?

これを読んで、人工知能が小規模企業の間でどのように人気を博しているか、そして人工知能がどのように成長し、競合他社に優位に立つ可能性を高めているかを理解してください。

ジャーナリングファイルシステムとは何ですか、そしてそれはどのように機能しますか?

ジャーナリングファイルシステムとは何ですか、そしてそれはどのように機能しますか?

私たちのコンピューターは、ジャーナリングファイルシステムと呼ばれる組織化された方法ですべてのデータを保存します。これは、検索を押すとすぐにコンピューターがファイルを検索して表示できるようにする効率的な方法です。https://wethegeek.com/?p = 94116&preview = true

ビッグデータは人工知能をどのように変えていますか?

ビッグデータは人工知能をどのように変えていますか?

ビッグデータと人工知能は流行語ですが、それらがどのように相互に関連しているか知っていますか?さて、この記事を最後まで読んで、同じことを知ってください。

LiteCartショッピングカートプラットフォームをUbuntu 16.04にインストールする方法

LiteCartショッピングカートプラットフォームをUbuntu 16.04にインストールする方法

LiteCartは、PHP、jQuery、およびHTML 5で記述された無料のオープンソースのショッピングカートプラットフォームです。シンプルで軽量、使いやすいeコマースソフトウォー

DebianでNFS共有をセットアップする

DebianでNFS共有をセットアップする

NFSはネットワークベースのファイルシステムであり、コンピューターはコンピューターネットワークを介してファイルにアクセスできます。このガイドでは、NFを介してフォルダーを公開する方法について説明します

Fedora 28にMatomo Analyticsをインストールする方法

Fedora 28にMatomo Analyticsをインストールする方法

別のシステムを使用していますか?Matomo(旧Piwik)は、Google Analyticsのオープンな代替手段であるオープンソースの分析プラットフォームです。Matomoのソースはoでホストされています

UbuntuでNginxをセットアップしてライブHLSビデオをストリーミングする

UbuntuでNginxをセットアップしてライブHLSビデオをストリーミングする

HTTPライブストリーミング(HLS)は、Apple Inc.によって実装された非常に堅牢なストリーミングビデオプロトコルです。HLSは、ファイアウォール、プロキシ、