我有一个数字海洋水滴通过ubuntu上的gunicorn运行django项目。用于管理python依赖关系的conda环境。
我可以登录,运行source activate py35
,cd
进入django项目并运行gunicorn django.wsgi -w 2 -t 360
,让一切都没有问题。
我已尝试修改创建Droplet时由digital ocean创建的upstart脚本:
description "Gunicorn daemon for Django project"
start on (local-filesystems and net-device-up IFACE=eth0)
stop on runlevel [!12345]
# If the process quits unexpectadly trigger a respawn
respawn limit 10 2
setuid my_username
setgid my_username
chdir /home/my_username/django
script
exec source activate py35
exec gunicorn django.wsgi -w 2 -t 360
end script
然而,工作人员无法启动,并且在日志中错误是由于项目试图在标准安装的python上运行,而不是conda env。如何在upstart配置文件中激活conda环境?
答案 0 :(得分:2)
upstart使用/ bin / sh,而源需要使用/ bin / bash
执行试试这个:
script
/bin/bash <<EOT
source activate py35 && gunicorn django.wsgi -w 2 -t 360
EOT
end script