私のように、突然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に移動して、アプリケーションの顔を見ることができます。