使用Upstart启动Sidekiq

4
我的目标是在服务器启动时启动sidekiq(我正在使用具有自动扩展组的EC2)。我知道有一些其他帖子涉及如何在启动时使用upstart启动sidekiq,但我不认为我的问题已经得到特别解决。
我正在使用这个wiki-https://github.com/mperham/sidekiq/tree/master/examples/upstart/manage-many,并将脚本放置在/etc/init/sidekiq.conf/etc/init/sidekiq-manager.conf中。
按照/etc/init/sidekiq.conf的指示进行了一些小修改,更改了以下内容:
  • # setuid apps# setgid apps -> 在两行中用ubuntu替换了apps,这是部署用户。

  • export HOME=/home/apps 更改为 export HOME=/home/ubuntu

我还有一个/etc/sidekiq.conf文件,其中包含以下行:/home/ubuntu/app_dir, 2 否则,这些脚本与参考库中包含的脚本相同。在我的日志(/var/log/upstart)中出现了以下错误:

/bin/bash: line 19: cd: 2: No such file or directory Could not locate Gemfile

看起来它正在尝试更改到除/home/ubuntu/app_dir之外的其他目录,在这一点上它在错误的目录中,无法找到我的Gemfile。
是否还需要指定正确的应用程序目录路径?
谢谢!

1
如果您只在机器上使用一个应用程序,请不要使用manage-many。manage-one更简单。 - Mike Perham
谢谢!这让我走上了正确的轨道 - 目前,我唯一的问题似乎是在sidekiq.conf的此部分中加载ruby env:source /etc/profile.d/rbenv.sh。我尝试了一个类似于这里所建议的解决方案:http://stackoverflow.com/questions/24179503/daemonizing-sidekiq-with-upstart-script-is-not-working,但没有成功。我的错误信息如下:`/ bin / bash:第9行:exec:找不到sidekiq`。 - s1ack3rhack3r
更具体地说,所谓的“错误消息”,是指我在/var/log/upstart/中的sidekiq日志文件中发现的输出。 - s1ack3rhack3r
1个回答

1
你可以将sidekiq作为一个upstart job运行。在/etc/init/目录下创建一个sidekiq.conf文件,并放置upstart代码以运行sidekiq。 这里有完整的脚本指南,以创建sidekiq upstart job。
创建完这个job后,使用sudo service命令轻松进行sidekiq的start/stop/restart操作。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接