我想部署开发服务器,但启动芹菜和马尼康时遇到了问题。我出于目的使用脚本
celery.sh
#!/bin/bash
cd /home/dev/app
pipenv run celery -A config worker -B -l info
然后输入start.sh来获取Gunicorn
#!/bin/bash
cd /home/dev/app
pipenv run gunicorn config.wsgi:application -b 127.0.0.1:8005 -w 2 -t 60 \
--env DJANGO_SETTINGS_MODULE=$DJANGO_SETTINGS_MODULE \
--env DSN=$SENTRY_DSN \
--env DATABASE_URL=$DATABASE_URL \
--log-file - \
--error-logfile /home/dev/app/errors.log
这也是我的主管配置
[program:back]
directory=/home/dev/app/
command=/home/dev/bin/start
user=dev
autostart=true
autorestart=true
redirect_stderr=true
stopsignal=QUIT
stopasgroup=true
killasgroup=true
[program:celery]
directory=/home/dev/app/
command=/home/dev/bin/celery
user=dev
autostart=true
autorestart=true
redirect_stderr=true
stopsignal=QUIT
stopasgroup=true
killasgroup=true
运行sudo supervisorctl start celery
时出现以下错误:
/home/dev/bin/celery: line 3: pipenv: command not found
我还添加了以下行,如pipenv文档所述(https://pipenv.readthedocs.io/en/latest/diagnose/)
[supervisord]
environment=LC_ALL='en_US.UTF-8',LANG='en_US.UTF-8'
更改了我的主管配置:
[program:back]
directory=/home/dev/app/
command=pipenv run gunicorn config.wsgi:application --bind 127.0.0.1:8005
user=dev
autostart=true
autorestart=true
redirect_stderr=true
stopsignal=QUIT
stopasgroup=true
killasgroup=true
[program:celery]
directory=/home/dev/app/
command=pipenv run celery -A config:celery_app worker -B -l info
user=dev
autostart=true
autorestart=true
redirect_stderr=true
stopsignal=QUIT
stopasgroup=true
killasgroup=true
现在我遇到一个错误:
back: ERROR (no such file)
答案 0 :(得分:5)
您需要给出明确的古尼康之路。尽管我不确定pipenv,但是您遇到的错误是因为主管试图在目录中找到gunicorn。您应该将配置文件更改为以下内容:
[program:back]
directory=/home/dev/app/
command=/path/to/pipenv run /path/to/gunicorn config.wsgi:application --bind 127.0.0.1:8005
然后,您必须重新启动超级用户才能加载设置。
sudo服务主管重新加载
答案 1 :(得分:0)
在您的配置文件中。将
command=
更改为bash -c
,然后输入要执行的完整路径和文件 这应该可以解决问题