ruby-on-rails - 为什么我的 WEBrick 服务器会被杀死?

标签 ruby-on-rails ruby-on-rails-3 ubuntu webrick digital-ocean

我有一个在 Ubuntu 12.04 上的 DigitalOcean 中运行的 Rails 开发环境,但我的 WEBrick 进程在几个小时后不断“被杀死”。我还没有找到任何会导致这种情况的设置或配置。

示例控制台输出:

user@machinename:~/git/app$ rails s
=> Booting WEBrick
=> Rails 3.2.13 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2014-01-05 09:14:29] INFO  WEBrick 1.3.1
[2014-01-05 09:14:29] INFO  ruby 2.0.0 (2013-11-22) [x86_64-linux]
[2014-01-05 09:14:29] INFO  WEBrick::HTTPServer#start: pid=23452 port=3000


Started GET "/" for x.x.x.x at 2014-01-05 09:14:37 +0000
Processing by FunController#welcome as HTML
...

服务器和应用程序在我使用时运行良好。但是,在某些时候,我的服务器将停止工作。而且,我将查看控制台以查看 WEBrick 的输出:

Killed

然后把我踢回壳里。知道是什么原因造成的吗?

最佳答案

内存不足。 linux内核杀死了它。默认情况下,Droplets 不带有任何“交换”,因此当内存变满时,它会终止进程或不会让您启动新进程。有点疯狂。

这是一篇引导您完成添加交换文件的文章:

https://www.digitalocean.com/community/articles/how-to-add-swap-on-ubuntu-12-04

注意:即使在“swappiness”设置为 0 时添加交换文件后,编译器进程仍被“杀死”,但我仍然遇到一些问题。将其提高到 20 可以解决问题。

注意 2:您真的不应该像其他人在评论中提到的那样在生产中使用 webrick。不过,问题就是问题:)

关于ruby-on-rails - 为什么我的 WEBrick 服务器会被杀死?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20931956/

相关文章:

javascript - 淡入淡出不适用于 Rails 中的 Flash 消息

ruby-on-rails - 在 Windows cmd 上显示 unix 颜色(例如 ←[31m)

ruby-on-rails - Rails turbolinks 5 Flash消息

ruby-on-rails - 检查是否返回 csv

ruby-on-rails - 是否可以有一个带有可选参数的范围?

ruby-on-rails - Rails,在模型中有没有办法提供自上次更新以来的不同?

c - JACK C + Ubuntu (GNU/Linux) 录音/播放编程

ruby-on-rails - 如何在我的网站和我客户的网站之间创建通信 API

linux - 多行写入失败(权限被拒绝)

python - 导入错误 : cannot import name 'Tk'