2013-08-21 130 views
2

我想安装一个init.d脚本,为计划任务运行芹菜。当我试图通过sudo /etc/init.d/celeryd start启动它,它会引发错误"User does not exist: 'celery'"如何在ubuntu中将celeryd作为守护进程运行?

我芹菜配置文件(/etc/default/celeryd)包含以下:

# Workers should run as an unprivileged user. 
CELERYD_USER="celery" 
CELERYD_GROUP="celery" 

我知道这是错的,这就是为什么它会抛出错误。

documentation只是这样说:

CELERYD_USER 
User to run celeryd as. Default is current user. 

仅此而已了。 任何帮助将不胜感激。

+2

您是否曾尝试将celery用户和组添加到您的Ubuntu?或者只是注释掉CELERYD_USER和CELERYD_GROUP选项,以当前用户身份运行它... – Serafeim

+0

@Serafeim谢谢。现在,我注释掉了'CELERYD_USER'和'CELERYD_GROUP'。无论如何,你知道这些是什么意思? – suhailvs

回答

3

我加入一个合适的回答,为了清晰可见:

工人都将运行各种芹菜任务UNIX进程。正如您在文档中看到的那样,CELERYD_USER和CELERYD_GROUP决定了用户和组的名称,这些工作人员将在Unix环境中运行。

因此,最初在您的案例中发生的事情是,芹菜试图用一个名为“芹菜”的用户启动该工作,该用户不存在于您的系统中。当你注释掉了这两个选项时,芹菜启动了发出命令sudo /etc/init.d/celeryd start的用户,在这种情况下,该用户是根(管理员)用户(默认为当前用户)。

但是,建议将worker作为非特权用户运行,而不是以root身份运行,原因很明显。因此,我建议实际使用这里http://www.cyberciti.biz/faq/unix-create-user-account/发现小教程添加芹菜用户和组,并取消再次

 
CELERYD_USER="celery" 
CELERYD_GROUP="celery" 

选项。

+1

哇谢谢.. :-) – suhailvs

相关问题