Ruby   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ruby-on-rails – Rake资产:在生产中有一个控制台会话打开时,预编译会被杀死大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
在我的生产服务器上,托管在数字海洋上,如果有帮助,Ubuntu 12.04,我有RoR 4和耙10.1.1.

当我部署时,我运行rake资产:预编译,我注意到一个奇怪的问题,如果我有一个rails控制台会话打开,当我这样做,我得到以下输出

~# rake assets:precompile
~# Killed

这主要是烦人的,但是我想要解决的原因是招聘新的开发人员时会出现部署/控制台冲突的噩梦.

谢谢,

布赖

解决方法

您的预编译过程可能因为内存不足而被杀死.您可以通过在另一个ssh会话中运行顶部来确认.要解决此问题,请创建一个交换文件,当RAM已满时将使用该交换文件.

在Ubuntu上创建SWAP空间
如果您计划在数字海洋上使用Rails 512MB 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

保存并退出.你完成了交换.现在你的耙子资产:预编译应该完成而不会被杀死.

大佬总结

以上是大佬教程为你收集整理的ruby-on-rails – Rake资产:在生产中有一个控制台会话打开时,预编译会被杀死全部内容,希望文章能够帮你解决ruby-on-rails – Rake资产:在生产中有一个控制台会话打开时,预编译会被杀死所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。