2

私の問題に関連する既存の投稿が見つかりませんでした。Digital Ocean Droplet では、mup のセットアップはうまくいきましたが、デプロイしようとすると、次のエラーが発生します。何か案は?ありがとう!

root@ts:~/ts-deploy# mup deploy

Meteor Up: Production Quality Meteor Deployments

Building Started: /root/TS/
Bundling Error: code=137, error:
-------------------STDOUT-------------------

Figuring out the best package versions to use. This may take a moment.

-------------------STDERR-------------------
bash: line 1: 31217 Killed meteor build --directory /tmp/dc37af3e-eca0-4a19-bf1a-d6d38bb8f517

以下はログです。node -v は、0.10.31 を使用していることを示します。どのスクリプトがエラーで終了しているかを確認するにはどうすればよいですか? 他のアイデアはありますか?ありがとう!

error: Forever detected script exited with code: 1
error: Script restart attempt #106
Meteor requires Node v0.10.29 or later.
error: Forever detected script exited with code: 1
error: Script restart attempt #107
Meteor requires Node v0.10.29 or later.
error: Forever detected script exited with code: 1
error: Script restart attempt #108

stepping down to gid: meteoruser
stepping down to uid: meteoruser

DO ドロップレットの古いバックアップに戻って、mup setup と mup deploy を再実行した後、コマンド ライン出力にこれが表示されるようになりました

Building Started: /root/TS
Bundling Error: code=134, error:
-------------------STDOUT-------------------

Figuring out the best package versions to use. This may take a moment.

-------------------STDERR-------------------
FATAL ERROR: JS Allocation failed - process out of memory
bash: line 1:  1724 Aborted                 (core dumped) meteor build --directory /tmp/bfdbcb45-9c61-435f-9875-3fb304358996

そしてこれはログにあります:

 >> stepping down to gid: meteoruser
 >> stepping down to uid: meteoruser
Exception while invoking method 'login' TypeError: Cannot read property '0' of undefined
    at ServiceConfiguration.configurations.remove.service (app/server/accounts.js:7:26)
    at Object.Accounts.insertUserDoc (packages/accounts-base/accounts_server.js:1024)
    at Object.Accounts.updateOrCreateUserFromExternalService (packages/accounts-base/accounts_server.js:1189)
    at Package (packages/accounts-oauth/oauth_server.js:45)
    at packages/accounts-base/accounts_server.js:383
    at tryLoginMethod (packages/accounts-base/accounts_server.js:186)
    at runLoginHandlers (packages/accounts-base/accounts_server.js:380)
    at Meteor.methods.login (packages/accounts-base/accounts_server.js:434)
    at maybeAuditArgumentChecks (packages/ddp/livedata_server.js:1594)
    at packages/ddp/livedata_server.js:648
Exception while invoking method 'login' TypeError: Cannot read property '0' of undefined
    at ServiceConfiguration.configurations.remove.service (app/server/accounts.js:7:26)
    at Object.Accounts.insertUserDoc (packages/accounts-base/accounts_server.js:1024)
    at Object.Accounts.updateOrCreateUserFromExternalService (packages/accounts-base/accounts_server.js:1189)
    at Package (packages/accounts-oauth/oauth_server.js:45)
    at packages/accounts-base/accounts_server.js:383
    at tryLoginMethod (packages/accounts-base/accounts_server.js:186)
    at runLoginHandlers (packages/accounts-base/accounts_server.js:380)
    at Meteor.methods.login (packages/accounts-base/accounts_server.js:434)
    at maybeAuditArgumentChecks (packages/ddp/livedata_server.js:1594)
    at packages/ddp/livedata_server.js:648
4

2 に答える 2

9

メモリの問題は、DigitalOcean の 5 ドルの Droplet の使用に起因します。この問題を解決するために、以下で詳しく説明するように、サーバーにスワップを追加しました。

dd コマンドを使用してスワップ ファイルを作成し、有効にします。

sudo dd if=/dev/zero of=/swapfile bs=1024 count=256k

「of=/swapfile」はファイル名を指定します。この場合、名前は swapfile です。

次に、Linux スワップ領域を作成してスワップ ファイルを準備します。

sudo mkswap /swapfile

結果が表示されます。

Setting up swapspace version 1, size = 262140 KiB
no label, UUID=103c4545-5fc5-47f3-a8b3-dfbdb64fd7eb

スワップ ファイルをアクティブ化して終了します。

sudo swapon /swapfile

その後、スワップの概要を表示すると、新しいスワップ ファイルが表示されます。

swapon -s
Filename                Type        Size    Used    Priority
/swapfile                               file        262140  0   -1

このファイルは、マシンが再起動するまで仮想プライベート サーバー上に保持されます。スワップを fstab ファイルに追加することで、スワップが永続的であることを確認できます。

ファイルを開きます。

sudo nano /etc/fstab

次の行に貼り付けます。

 /swapfile       none    swap    sw      0       0 

ファイルの swappiness は 10 に設定する必要があります。この手順をスキップするとパフォーマンスが低下する可能性がありますが、10 に設定するとスワップが緊急バッファーとして機能し、メモリ不足のクラッシュが防止されます。

これは、次のコマンドで実行できます。

echo 10 | sudo tee /proc/sys/vm/swappiness
echo vm.swappiness = 10 | sudo tee -a /etc/sysctl.conf
To prevent the file from being world-readable, you should set up the correct permissions on the swap file:

sudo chown root:root /swapfile 
sudo chmod 0600 /swapfile
于 2014-10-07T08:29:42.433 に答える
0

これは、スワップスペースを1GBに増やすことによってのみ機能しました:

Make all swap off
sudo swapoff -a

Resize the swapfile
sudo dd if=/dev/zero of=/swapfile bs=1M count=1024

Make swapfile usable
sudo mkswap /swapfile

Make swapon again
sudo swapon /swapfile
于 2016-04-25T03:00:53.407 に答える