我需要你的帮助!
我使用Nginx,MySQL,Solr和Unicorn在Ubuntu 12.04中部署了我的Rails应用程序。
每个提到的服务都是启动的,而不是unicorn,它说:
I,[2013-02-11T16:10:20.187989#27547]信息 - :刷新宝石列表 我,[2013-02-11T16:10:52.159198#27547]信息 - :取消连接现有的 socket = / var / www / staging / shared / unicorn.sock我, [2013-02-11T16:10:52.159488#27547]信息 - :倾听 addr = / var / www / staging / shared / unicorn.sock fd = 12 E, [2013-02-11T16:10:52.161513#27547]错误 - :无法分配内存 - fork(2)(Errno :: ENOMEM)/var/www/staging/shared/gems/ruby/1.9.1/gems/unicorn-4.5.0/lib/unicorn/http_server.rb:496:in
fork' /var/www/staging/shared/gems/ruby/1.9.1/gems/unicorn-4.5.0/lib/unicorn/http_server.rb:496:in
spawn_missing_workers' /var/www/staging/shared/gems/ruby/1.9.1/gems/unicorn-4.5.0/lib/unicorn/http_server.rb:142:instart' /var/www/staging/shared/gems/ruby/1.9.1/gems/unicorn-4.5.0/bin/unicorn_rails:209:in
” /var/www/staging/shared/gems/ruby/1.9.1/bin/unicorn_rails:23:inload' /var/www/staging/shared/gems/ruby/1.9.1/bin/unicorn_rails:23:in
'
VDS拥有1.5Gb的RAM,对于独角兽来说已经足够了:
cat /proc/meminfo
MemTotal: 1585152 kB MemFree: 989580 kB Cached: 425296 kB Active: 348504 kB Inactive: 175356 kB Active(anon): 98488 kB Inactive(anon): 76 kB Active(file): 250016 kB Inactive(file): 175280 kB Unevictable: 0 kB Mlocked: 0 kB SwapTotal: 204800 kB SwapFree: 204800 kB Dirty: 12 kB Writeback: 0 kB AnonPages: 98564 kB Shmem: 3604 kB Slab: 71680 kB SReclaimable: 66144 kB SUnreclaim: 5536 kB
我有unicorn_rails v4.5.0
Unicorn从以下命令开始:
bundle exec unicorn_rails -c /var/www/staging/current/config/unicorn.rb -E production -D
我在这里做错了什么?
嗯,我记得,之前我有过以下奇怪的错误:
failed: "rvm_path=/usr/local/rvm /usr/local/rvm/bin/rvm-shell 'ruby-1.9.3-p327' -c 'cd /var/www/staging/current && bundle exec unicorn_rails -c /var/www/staging/current/config/unicorn.rb -E production -D'"
也许它与记忆问题有某种关系......
答案 0 :(得分:2)
在分配新流程时似乎发生了错误。您可能需要减少config / unicorn.rb文件中的worker。每个worker都是一个进程,每个进程都将应用程序环境加载到RAM中。