2

我按照用户指南SO 上的这个问题在Ubuntu 上妖魔化了 celery 。简要地,

从 celery github repo下载初始化脚本celeryd 。

将用户指南中的配置文件保存为 celeryd.conf(与celeryd上面的 init-script 区分开来)并编辑设置。

我有一个额外的步骤将上述两个文件从 Windows 机器传输到 Ubuntu。

然后

sudo cp celeryd /etc/init.d/celeryd
sudo chmod +x /etc/init.d/celeryd
sudo cp celeryd.conf /etc/default/celeryd
sudo useradd -N -M --system -s /bin/bash celery
sudo addgroup celery
sudo adduser celery celery
sudo mkdir -p /var/run/celery
sudo mkdir -p /var/log/celery
sudo chown -R celery:celery /var/run/celery
sudo chown -R celery:celery /var/log/celery

但是,运行时

sudo /etc/init.d/celeryd start 

它抛出错误:

not found/celeryd: 9: /etc/default/celeryd: 

该数字9是配置文件中的第一个非注释行/etc/default/celeryd

到底是怎么回事?我应该如何解决它?谢谢。

4

1 回答 1

3

原因是celeryd配置文件是在 Windows 上编辑并传输到 Ubuntu 的,因此它的行尾是 '\r\n'。

错误信息

not found/celeryd: 9: /etc/default/celeryd: 

没有提供信息。但是搜索它让我找到了一个为我指明正确方向的帖子。'\r'从配置文件中删除可以/etc/default/celeryd解决问题。

所以:

cp /etc/default/celeryd celeryd
cat celeryd | tr -d '\r' > celeryd
sudo cp celeryd /etc/default/celeryd
于 2016-12-30T18:16:08.040 回答