烧瓶

时间:2015-10-16 12:03:45

标签: python flask uwsgi centos6 upstart

我正在尝试为我的烧瓶应用程序创建一个upstart脚本。我正在使用uWSGI来运行它。 我的应用程序驻留在/ home / user / apps / myapp中。它包含venv中的虚拟环境。 我的目标是激活虚拟环境并在那里执行ini脚本

#description "Starts my app" 
#author "Me <myself@gmail.com>"

start on runlevel [2345]
stop on runlevel [!2345]



script
        cd /home/user/apps/myapp
        source venv/bin/activate
        exec uwsgi --ini myapp.ini
end script

当我在/ etc / init /中运行命令sudo start myapp时。我得到的错误就像进程因状态127而终止。这意味着我的命令是未知的。我是新手脚本的新手。我做错了什么,这些脚本在shell中运行良好。

1 个答案:

答案 0 :(得分:0)

source命令不是标准的shell命令。 Whatever Upstart is using internally doesn't use it.请使用点运算符:. file

但是,您不需要uwsgi之前的任何一个命令,工作目录和virtualenv都可以在uWSGI中配置。让uWSGI处理virtualenv会更好,source activate只是为了方便开发。

myapp.ini

[uwsgi]
virtualenv = /path/to/env
chdir = /path/to/project
# other config here