我正在开发一个在Nginx Web服务器上运行的AngularJS(前端),该服务器将请求发送到在Unicorn应用服务器中运行的Rails API(后端).
我知道我只是一个开发人员,我不知道服务器管理,所以我只是把服务器启动它们.
该应用程序正在运行,但是,Unicorn有一个奇怪的行为.当我启动它时,我总是收到此错误:
roberto@ubuntu:~/dev/scripts$./start_unicorn.sh I,[2014-06-14T11:46:06.085834 #4258] INFO -- : Refreshing Gem list I,[2014-06-14T11:46:11.591592 #4258] INFO -- : listening on addr=0.0.0.0:8080 fd=10 I,[2014-06-14T11:46:12.087321 #4258] INFO -- : master process ready I,[2014-06-14T11:46:12.151320 #4263] INFO -- : worker=0 ready I,[2014-06-14T11:46:12.150526 #4266] INFO -- : worker=1 ready E,[2014-06-14T11:46:39.112668 #4258] ERROR -- : worker=0 PID:4263 timeout (16s > 15s),killing E,[2014-06-14T11:46:39.112898 #4258] ERROR -- : worker=1 PID:4266 timeout (16s > 15s),[2014-06-14T11:46:39.118081 #4258] ERROR -- : reaped #<Process::Status: pid 4263 SIGKILL (signal 9)> worker=0 E,[2014-06-14T11:46:39.118634 #4258] ERROR -- : worker=1 PID:4266 timeout (16s > 15s),[2014-06-14T11:46:39.121820 #4258] ERROR -- : reaped #<Process::Status: pid 4266 SIGKILL (signal 9)> worker=1 I,[2014-06-14T11:46:39.172067 #4284] INFO -- : worker=1 ready I,[2014-06-14T11:46:39.172620 #4281] INFO -- : worker=0 ready
它需要几秒钟才能响应.这种情况会持续发生.
我想我错过了一些配置,但不知道……
如果您需要更多详细信息,例如配置文件,请告诉我
解决方法
您是否预先编译了您的资产?你在制作吗?
如果不是当您启动服务器并获得第一个请求时,rails将尝试编译您的资产,这可能需要超过15秒并达到独角兽超时.
如果不是当您启动服务器并获得第一个请求时,rails将尝试编译您的资产,这可能需要超过15秒并达到独角兽超时.
在你的start.sh你应该有一个地方
export RAILS_ENVIRONEMENT =生产
在部署期间,您应该:
rake资产:预编译