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のドキュメントを参照してください。



Leave a Comment

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。

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 14.10へのMcMyAdminのインストール

Ubuntu 14.10へのMcMyAdminのインストール

McMyAdminは、サーバーの管理に使用されるMinecraftサーバーコントロールパネルです。McMyAdminは無料ですが、複数のエディションがあり、一部はパイです

LinuxでTeamTalk Serverをセットアップする

LinuxでTeamTalk Serverをセットアップする

TeamTalkは、ユーザーが高品質のオーディオ/ビデオ会話、テキストチャット、ファイルの転送、および画面の共有を可能にする会議システムです。それは

CentOS 7サーバーにCyber​​Panelをインストールして構成する方法

CentOS 7サーバーにCyber​​Panelをインストールして構成する方法

別のシステムを使用していますか?はじめにCyber​​Panelは、オープンソースでありOpenLiteSpeedを使用する市場で最初のコントロールパネルの1つです。なんてこった

Ubuntu 17.04でRbenv、Rails、MariaDB、Nginx、SSL、およびPassengerを使用してRubyをインストールおよび構成する方法

Ubuntu 17.04でRbenv、Rails、MariaDB、Nginx、SSL、およびPassengerを使用してRubyをインストールおよび構成する方法

Ruby on Railsは、プログラマーの生産性を向上させるために開発されたRubyの人気のあるWebフレームワークです。ただし、さまざまな宝石と依存関係を取得する

Vultr VPSにアクセスする方法

Vultr VPSにアクセスする方法

Vultrは、VPSにアクセスして構成、インストール、および使用するためのいくつかの異なる方法を提供します。アクセス認証情報VPS arのデフォルトのアクセス認証情報

CentOS 7、Ubuntu 16.04、Debian 9にGolang 1.8.3をインストールする方法

CentOS 7、Ubuntu 16.04、Debian 9にGolang 1.8.3をインストールする方法

GolangはGoogleが開発したプログラミング言語です。汎用性、シンプルさ、信頼性のおかげで、Golangは最も人気のあるものの1つになりました

Debian、CentOS、およびFreeBSDでSudoを使用する方法

Debian、CentOS、およびFreeBSDでSudoを使用する方法

LinuxおよびUnixのシステム管理者の間では、sudoユーザーを使用してサーバーにアクセスし、コマンドをルートレベルで実行することは非常に一般的です。sudの使用

Ubuntu 16.04 LTSにDokuWikiをインストールする方法

Ubuntu 16.04 LTSにDokuWikiをインストールする方法

別のシステムを使用していますか?DokuWikiは、データベースを必要としないPHPで記述されたオープンソースのWikiプログラムです。データをテキストファイルに保存します。ドクウィク

DebianでのChrootのセットアップ

DebianでのChrootのセットアップ

この記事では、Debianでchroot jailをセットアップする方法を説明します。私はあなたがDebian 7.xを使っていると思います。Debian 6または8を実行している場合、これは機能する可能性があります、bu

DebianにPiVPNをインストールする方法

DebianにPiVPNをインストールする方法

はじめにDebianでVPNサーバーを設定する簡単な方法は、PiVPNを使用することです。PiVPNは、OpenVPNのインストーラーおよびラッパーです。それはあなたのための簡単なコマンドを作成します

Ubuntu 18.04 LTSにCyber​​Panelをインストールして構成する方法

Ubuntu 18.04 LTSにCyber​​Panelをインストールして構成する方法

別のシステムを使用していますか?はじめにCyber​​Panelは、オープンソースでありOpenLiteSpeedを使用する市場で最初のコントロールパネルの1つです。なんてこった

Ubuntu 16.04 LAMP VPSにBigTree CMSをインストールする方法

Ubuntu 16.04 LAMP VPSにBigTree CMSをインストールする方法

別のシステムを使用していますか?BigTree CMS 4.2は、高速で軽量な無料のオープンソースのエンタープライズグレードのコンテンツ管理システム(CMS)であり、

Debian 9でソースからBrotliをビルドする方法

Debian 9でソースからBrotliをビルドする方法

別のシステムを使用していますか?Brotliは、Gzipよりも圧縮率が高い新しい圧縮方法です。そのソースコードはGithubで公開されています。ティ

PleskサーバーでHTTP / 2を有効にする方法

PleskサーバーでHTTP / 2を有効にする方法

PleskはネイティブのHTTP / 2サポートを備えています。PleskでのHTTP / 2のロールアウトは、他のコンポーネントに比べてはるかに簡単ですが、その導入プロセスには慎重な計画が必要です

FreeBSD 12にosTicketをインストールする方法

FreeBSD 12にosTicketをインストールする方法

別のシステムを使用していますか?osTicketは、オープンソースのカスタマーサポートチケットシステムです。osTicketのソースコードはGithubで公開されています。このチュートリアルでは

CentOS 7にApacheをインストールする方法

CentOS 7にApacheをインストールする方法

CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。

DebianでSnortを設定する方法

DebianでSnortを設定する方法

Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。

Ubuntu 19.04にFiveMサーバーをインストールする方法

Ubuntu 19.04にFiveMサーバーをインストールする方法

FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。

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

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

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