CentOS 7にMEAN.JSを使用してMEANスタックをインストールする方法

前書き

MEANは、次のコンポーネントで構成されるソフトウェアアプリケーションスタックです。

  • * MongoDB *、サーバー側のJavaScript実行をサポートするNoSQLデータベース

  • * ExpressJS *、Node.js Webアプリケーションフレームワーク

  • * AngularJS *、動的な単一ページアプリケーションの開発に適したWebアプリケーションフレームワーク

  • * NodeJS *、スケーラブルなネットワークアプリケーションの構築に適した非同期イベント駆動型フレームワーク

MEANという用語は、最初にValeri Karpovによって作られました。この用語は、各コンポーネントの最初の文字に由来します。 Valeriはhttp://blog.mongodb.org/post/49262866911/the-mean-stack-mongodb-expressjs-angularjs-andhttp://blog.mongodb.org/post/49262866911/the-mean-stack-でMEANを定義しましたmongodb-expressjs-angularjs-and [このブログ投稿]では、MEANスタックを使用してJavaScriptアプリケーションを開発することを選択する動機を示しました。

_ Javascriptを使用してコーディングすることで、ソフトウェア自体と開発者の生産性の両方でパフォーマンスの向上を実現できます。 MongoDBを使用すると、ドキュメントをJSONのような形式で保存し、ExpressJSおよびNodeJSベースのサーバーでJSONクエリを記述し、JSONドキュメントをAngularJSフロントエンドにシームレスに渡すことができます。 データベースに保存されているオブジェクトが、クライアントのJavascriptが認識するオブジェクトと本質的に同一である場合、デバッグとデータベース管理が非常に簡単になります。 さらに良いことに、クライアント側で作業している人は、サーバー側のコードとデータベースクエリを簡単に理解できます。同じ構文とオブジェクトを使用することで、複数の言語のベストプラクティスを検討する必要がなくなり、コードベースを理解するための障壁が軽減されます。 _

現在、MEANスタックには2つの並列実装があります:* MEAN.io および MEAN.JS *。 それぞれにわずかに異なるインストール方法があります。 MEAN.JSは純粋にコミュニティ主導の実装であり、MEAN.ioはLinnovateと呼ばれる会社が後援しています。 どちらにも同じコンポーネントが含まれていますが、MEAN.ioは追加のコマンドラインツールである「+ mean +」と商用サポートを提供します。

このガイドでは、MEAN.JSを使用してCentOS 7サーバーにMEANスタックをインストールします。 この方法を使用するには、まずMongoDBをインストールし、次にNodeJSをインストールしてから、GitHubからMEAN.JSファイルを複製します。

前提条件

開始するには、次のものが必要です。

ステップ1-依存関係のインストール

ソースからアプリケーションをコンパイルし、Gitリポジトリを複製し、Ruby gemをインストールするため、最初にいくつかの依存関係をインストールする必要があります。 MEAN.JSモジュールの1つ(pngquant)には、 `+ libpng-devel `と ` fontconfig +`が必要です。

sudo yum install gcc-c++ make git fontconfig bzip2 libpng-devel ruby ruby-devel

インストールするNode.jsモジュールの一部には、CSS拡張言語であるSassが必要です。 Rubyのパッケージマネージャーである `+ gem +`を使用してインストールします。

sudo gem install sass

依存関係がインストールされたので、スタックの最初のコンポーネントであるMongoDBをインストールできます。

ステップ2-MongoDBのインストール

MongoDBは公式のCentOSリポジトリにないため、インストールするには公式のMongoDBリポジトリを有効にする必要があります。 これにより、最新のパッケージにアクセスできるようになり、そこからインストールできるようになります。

このチュートリアルでは、コミュニティエディションをインストールします。これは無料でダウンロードできます。 エンタープライズエディションもありますが、ライセンスが必要なので、ここでは扱いません。

公開時点では、MongoDB 3.2はダウンロードとインストールが可能な最新の安定版です。 リポジトリを有効にするには、CentOSリポジトリディレクトリの `+ / etc / yum.repos.d `の下にリポジトリ用のファイルを作成します。 MongoDB 3.2では、そのファイルを「 mongodb.org-3.2.repo +」と呼びます。

`+ vi `またはお気に入りのテキストエディタを使用して、 ` / etc / yum.repos.d / mongodb.org-3.2.repo +`を作成して開きます。

sudo vi /etc/yum.repos.d/mongodb.org-3.2.repo

パッケージマネージャーで公式のMongoDBリポジトリを指定して有効にするには、以下をコピーしてファイルに貼り付けます。 `+ enabled = 1 `を設定するとリポジトリが有効になり、 ` gpgcheck = 1 +`を設定するとリポジトリからインストールされたすべてのパッケージでGNU Privacy Guard(GPG)署名チェックが有効になります。

/etc/yum.repos.d/mongodb.org-3.2.repo

[mongodb-org-3.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc

ファイルを保存して閉じ、 `+ mongodb-org `パッケージをインストールしてMongoDBとその関連ツールをインストールします。 GPGキーのインポートを求められたら、yesの場合は「 y +」を入力します。

sudo yum install mongodb-org

インストールが完了したら、MongoDBデーモンを起動します。

sudo systemctl start mongod

MongoDBデーモンである `+ mongod +`が実行されているはずです。次のコマンドを使用して確認できます。

sudo systemctl status mongod

実行中の場合、出力は次のようになります。

Outputmongod.service - SYSV: Mongo is a scalable, document-oriented database.
  Loaded: loaded (/etc/rc.d/init.d/mongod)
  Active:  since Tue 2016-09-06 12:42:16 UTC; 9s ago
    Docs: man:systemd-sysv-generator(8)
 Process: 9374 ExecStart=/etc/rc.d/init.d/mongod start (code=exited, status=0/SUCCESS)
  CGroup: /system.slice/mongod.service
          └─9385 /usr/bin/mongod -f /etc/mongod.conf

Sep 06 12:42:16 centos-mean-js systemd[1]: Starting SYSV: Mongo is a scalable, document-oriented database....
Sep 06 12:42:16 centos-mean-js runuser[9381]: pam_unix(runuser:session): session opened for user mongod by (uid=0)
Sep 06 12:42:16 centos-mean-js mongod[9374]: Starting mongod: [  OK  ]
Sep 06 12:42:16 centos-mean-js systemd[1]: Started SYSV: Mongo is a scalable, document-oriented database..

インストールする必要があるスタックの次の部分はNode.jsです。

ステップ3-Node.jsのインストール

Node.jsをインストールする簡単な方法の1つは、https://nodesource.com/ [NodeSource] Node.jsリポジトリのバイナリを使用することです。 まず、安定版ブランチのリポジトリを追加します。 ブラウザのURLにアクセスすると、以下のコマンドを使用して、スクリプトを実行する前にスクリプトの内容を読むことができます。

curl -sL https://rpm.nodesource.com/setup_4.x | sudo -E bash -

次に、Node.jsとNode.jsのパッケージマネージャーである「+ npm +」をインストールします。

sudo yum install -y nodejs

Node.jsと `+ npm +`がインストールされていることを確認します。

npm version

出力は次のようになります。

Output{ npm: '2.15.9',
 ares: '1.10.1-DEV',
 http_parser: '2.7.0',
 icu: '56.1',
 modules: '46',
 node: '4.5.0',
 openssl: '1.0.2h',
 uv: '1.9.1',
 v8: '4.5.103.37',
 zlib: '1.2.8' }

`+ npm +`がインストールされたので、MEANスタックの残りのコンポーネントをインストールできます。

ステップ4-BowerとGulpのインストール

この手順でインストールするコンポーネントは、フロントエンドアプリケーションの管理に使用されるパッケージマネージャーであるBowerと、一般的なタスクの自動化に使用されるGulpです。

BowerとGulpの両方をグローバルにインストールする必要があります。これは、* g *オプションを `+ npm +`に渡すことで実現します。 両方のアプリケーションをグローバルにインストールすると、ローカルプロジェクトのディレクトリからだけでなく、システム全体で使用できるようになります。

Bowerの最初のインストール:

sudo npm install -g bower

次に、Gulpをインストールします。

sudo npm install -g gulp

これで、ようやくすべての前提条件パッケージがインストールされました。 アプリケーションの作成に使用される実際のMEAN.JSボイラープレートのインストールに進むことができます。

ステップ5-MEANボイラープレートの取り付け

最初に、公式のMEAN.JS GitHubリポジトリを複製します。

git clone https://github.com/meanjs/mean.git meanjs

これにより、MEAN.JSボイラープレートがホームディレクトリの「+ meanjs +」というディレクトリに複製されます。 プロジェクトが参照するすべてのパッケージをインストールするには、そのディレクトリ内にいる必要があるため、そこに移動します。

cd ~/meanjs

次に、必要なパッケージを非rootユーザーとしてインストールします。

npm install

インストールには数分かかります。 完了すると、MEANアプリケーションの開発に必要なものがすべて揃います。 最後のステップでは、スタックをテストして、動作することを確認します。

ステップ6-サンプルMEANアプリケーションの実行

サンプルアプリケーションを実行して、システムが正しく機能していることを確認しましょう。 1つの方法は「+ npm start 」を使用することであり、もう1つの方法は「 gulp 」を使用することです。 両方のコマンドを使用すると、開発モードでアプリケーションをテストできます。 ここでは、「 npm +」を使用します。

npm start

これで、お気に入りのブラウザで `+ http://:3000 +`にアクセスしてMEANアプリケーションにアクセスできます。 これで、テキストを含むMEAN.JSロゴのあるページが表示されます* Congrats! サンプルアプリケーションを設定して実行しました。*これは、サーバー上に完全に機能するMEANスタックがあることを意味します。

結論

必要なコンポーネントとMEAN.JSボイラープレートができたので、独自のアプリの構築、テスト、デプロイを開始できます。 MEAN.JSの操作に関する具体的なヘルプについては、http://meanjs.org/docs.html [MEAN.JS Webサイトのドキュメント]を参照してください。

Related