无法启动Unicorn应用程序服务器

时间:2016-11-23 20:33:19

标签: ruby-on-rails ruby nginx unicorn systemd

我正在关注this tutorial设置Rails服务器,但是当我尝试启动unicorn应用服务器时遇到此错误:

$ sudo service unicorn_appname start
Job for unicorn_appname.service failed because the control process exited with error code. See "systemctl status unicorn_appname.service" and "journalctl -xe" for details.

更多详情:

$ systemctl status unicorn_appname.service
● unicorn_appname.service - LSB: starts the unicorn app server
   Loaded: loaded (/etc/init.d/unicorn_appname; bad; vendor preset: enabled)
   Active: failed (Result: exit-code) since Wed 2016-11-23 20:22:36 UTC; 1min 33s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 39284 ExecStart=/etc/init.d/unicorn_appname start (code=exited, status=1/FAILURE)

Nov 23 20:22:36 azure systemd[1]: Starting LSB: starts the unicorn app server...
Nov 23 20:22:36 azure unicorn_appname[39284]: /etc/init.d/unicorn_appname: 30: cd: can't cd to /home/deploy/appname
Nov 23 20:22:36 azure systemd[1]: unicorn_appname.service: Control process exited, code=exited status=1
Nov 23 20:22:36 azure systemd[1]: Failed to start LSB: starts the unicorn app server.
Nov 23 20:22:36 azure systemd[1]: unicorn_appname.service: Unit entered failed state.
Nov 23 20:22:36 azure systemd[1]: unicorn_appname.service: Failed with result 'exit-code'.

我尝试在谷歌上输入这些错误消息,但没有给出任何有用的结果,我现在有点卡住,因为我是Rails的初学者并且通常设置Web服务器。有什么提示吗?

1 个答案:

答案 0 :(得分:2)

正如评论中指出的那样,问题出现在这一行:

/etc/init.d/unicorn_appname: 30: cd: can't cd to /home/deploy/appname

在教程中有一个名为/etc/init.d/unicorn_appname的文件,我忘了用我的替换作者用户(deploy)。后来我遇到了另一个问题。相同的立即输出,systemctl的不同答案,但这一切都归结为这一行:

bundler: command not found: unicorn

我通过全局安装项目的依赖项来解决它:

sudo bundle install

我不知道这是否是最佳选择,我仍然不知道整个系统是否可以作为一个整体运行,因为我还没有配置nginx但是我没有来自命令sudo service unicorn_appname start。欢迎其他答案。