RAMが不足しているため、プリコンパイルプロセスが強制終了されている可能性があります。top
これは、別の ssh セッションで実行することで確認できます。これを修正するには、RAM がいっぱいになったときに使用されるスワップ ファイルを作成します。
Ubuntu で SWAP スペースを作成
する Digital Ocean の 512MB RAM ドロップレットで Rails を使用する予定がある場合は、おそらくいくらかのスワップ スペースが必要になるでしょう。具体的には、アセットをコンパイルするときに RAM が不足し、その結果、プロセスが静かに強制終了され、デプロイの成功が妨げられます。
スワップ ファイルがあるかどうかを確認するには:
sudo swapon -s
スワップファイルが表示されませんか? ディスク容量を確認します。
df
スワップ ファイルを作成するには:
ステップ 1: スワップ用のファイルを割り当てる
sudo fallocate -l 2048m /mnt/swap_file.swap
ステップ 2: 権限を変更する
sudo chmod 600 /mnt/swap_file.swap
ステップ 3: スワップ デバイス用にファイルをフォーマットする
sudo mkswap /mnt/swap_file.swap
ステップ 4: スワップを有効にする
sudo swapon /mnt/swap_file.swap
ステップ 5: 再起動時にスワップがマウントされていることを確認します。まず、fstab を開きます
sudo nano /etc/fstab
最後に、fstab にエントリを追加します (自動的に追加されなかった場合のみ)。
# /etc/fstab
/mnt/swap_file.swap none swap sw 0 0
保存して終了。スワップの追加が完了しました。rake assets:precompile
これで、殺されることなく完了するはずです。