MeteorJSをRaspberry Pi Bにインストールし、Arch Linux ARMを実行します





私のように、突然RPIをデプロイされたmeteorアプリケーションでホームサーバーまたはテストサーバーとして使用することに決めた人がいたら、この指示が役に立つことを願っています。 私の知る限り、これは現在、localhost上でMongoDBをサポートしているARMプラットフォーム用の唯一のディストリビューションであるため、Arch Linuxで選択されました。



私は通常Mac OS XとUbuntuを使用しますが、これはArch Linuxとの最初の会議でした。そのため、いくつかの手順で質問が生じ、インターネットを掘り下げました。 この命令は一部の人にとっては原始的なものに思えるかもしれませんが、困難に遭遇する前に見つけたいと思います。 不正確な点、間違いを見つけた場合、または何かを追加したい場合は、コメントを歓迎します。



1. Arch Linux ARMをインストールします



ここから imgイメージを含むアーカイブをダウンロードして解凍し、mSDカードに書き込みます。 MacでApplePi Bakerアプリケーションを使用しました。 記録後、メモリカードをRPIに挿入し、sshでログインします。

$ ssh root@192.168.1.11
      
      





デフォルトのパスワードは「root」です。



2.ルートパーティションの拡張



パーティションのディスク領域を拡張する手順はユーザーdmitriy5181がこの資料で詳細に説明しています。 私自身で、MongoDBを確実に機能させるために、/ etc / fstabファイルでnoatimeパラメーターを設定しないでください。Mongoはそれを使用しませんでした。



3.タイムゾーンの設定



現在の設定を確認する

 # timedatectl status
      
      





必要に応じて、タイムゾーンを調べ、適切なものを選択します

 # timedatectl list-timezones
      
      





そして、チームと一緒にインストールします

 # timedatectl set-timezone Europe/Minsk
      
      







4. node.jsと依存関係をインストールする



一般に、ノードjsが機能するには、python2、makeユーティリティ、およびGCCコンパイラのセットが必要です。 必要なものをすべてインストールする

 # pacman -Sy nodejs mongodb python2 make gcc
      
      







5. Pythonでシンボリックリンクを作成する



Arch Linuxにpython2をインストールすると、シンボリックリンク/ usr / bin / python2が作成されますが、pythonというリンクが必要なので、既存のリンクをコピーするだけです

 # cp /usr/bin/python2 /usr/bin/python
      
      







6.インストール済みのMongoの実行



 # systemctl start mongodb
      
      





コマンドで彼の仕事のステータスを確認できます

 # systemctl status mongodb
      
      





Arch Linuxにはsystemdデーモンがあるため、MongoDBを自動起動に追加するには、コマンドを実行するだけです

 # systemctl enable mongodb
      
      







7.プロジェクトの転送



作業マシン(MeteorJSでプロジェクトを開発しているマシン)のアプリケーションフォルダー(〜/ meteorappsなど)で、コマンドを使用して目的のプロジェクトのバンドルを作成します

 $ meteor bundle myapp.tgz
      
      





次に、作成したapp.tgzをmSDメモリーカードに転送して解凍します

 tar -xvzf myapp.tgz
      
      







8.特定の依存関係のインストール



開始するには、Unicodeを使用するためにライブラリを再インストールします(システムバージョンに問題がありました)

 # pacman -Sy libunistring
      
      





node.jsのパッケージをインストールします

 # npm install fibers@1.0.1 bcrypt@0.7.7
      
      





特定のバージョンを使用しましたが、後者も機能すると考えています。 そうでない場合は、上記のコマンドを使用していつでも再インストールできます。



また、私のプロジェクトにはいくつかのライブラリが必要でした

 # npm install underscore source-map-support semver # npm install
      
      







9.アプリケーションの起動



すべての準備が整ったら、次のようにアプリケーションを起動できます。



サービスを説明するファイルとその実行方法を作成します

 # nano /usr/lib/systemd/system/myapp.service
      
      





Myapp.serviceファイルのコンテンツ

 [Unit] Description=My awesome Meteor.JS app After=mongodb.target [Service] User=pi Environment=ROOT_URL=http://192.168.1.11 PORT=80 MONGO_URL=mongodb://localhost:27017/myapp ExecStart=/usr/bin/node /home/pi/meteorapps/myapp/main.js [Install] WantedBy=multi-user.target
      
      





ここで、ユーザー名、PORT、ROOT_URL、およびmain.jsへのパスを置き換える必要があります。



サービスはチームによって開始されます

 # systemctl start myapp
      
      







MongoDBの場合と同様に、サービスを自動実行に追加できます

 # systemctl enable myapp
      
      







すべてが順調に進んだ場合、作業マシンからアドレス192.168.1.11に移動して、アプリケーションの顔を見ることができます。



All Articles