有一些问题让主pipe来运行我的龙卷风应用程序。
我有一个使用Flask构build的REST API,使用Tornado来尝试并提供它。 我遇到的问题是,当我尝试与pipe理员一起运行时,似乎无法导入其他支持python软件包。
inf_api是烧瓶API。
这里是龙卷风的脚本
from influence_api import app from tornado.wsgi import WSGIContainer from tornado.httpserver import HTTPServer from tornado.ioloop import IOLoop from tornado.options import define, options define("port", default=8080, help="Port to listen on", type=int) if __name__ == '__main__': options.parse_command_line() http_server = HTTPServer(WSGIContainer(app)) http_server.listen(options.port) IOLoop.instance().start()
程序部分的supervisord.conf(我已经尝试了几次迭代)
[program:tornado-8080] autostart=true autorestart=true environment=USER=root,PYTHONPATH=/usr/bin/ command=python /media/sf_Projects/inf_api/inf_api/inf_server_nginx.py stderr_logfile = /var/log/supervisord/tornado-stderr.log stdout_logfile = /var/log/supervisord/tornado-stdout.log
我曾试着玩过多less环境,多less直接放在命令中。 包括像…..
user=root autostart=true autorestart=true exitcodes=0,1,2 command=env PATH="/usr/bin/python" /media/sf_Projects/inf_api/inf_api/inf_server_nginx.py --port=8081 command=/usr/bin/python /media/sf_Projects/inf_api/inf_api/inf_nginx.py --port=8081 stderr_logfile = /var/log/supervisord/tornado-stderr.log stdout_logfile = /var/log/supervisord/tornado-stdout.log
从主pipe输出错误
2014-02-25 16:55:24,917 INFO spawned: 'tornado-8080' with pid 3527 2014-02-25 16:55:25,156 DEBG 'tornado-8080' stderr output: Traceback (most recent call last): File "/media/sf_Projects/inf_api/inf_api/inf_server_nginx.py", line 11, in <module> 2014-02-25 16:55:25,157 DEBG 'tornado-8080' stderr output: from inf_api import app 2014-02-25 16:55:25,157 DEBG 'tornado-8080' stderr output: File "/media/sf_Projects/inf_api/inf_api/inf_api.py", line 159, in <module> 2014-02-25 16:55:25,158 DEBG 'tornado-8080' stderr output: mongo_ip = read_config('Database')['mongoip'] 2014-02-25 16:55:25,158 DEBG 'tornado-8080' stderr output: File "/media/sf_Projects/inf_api/inf_api/inf_api.py", line 114, in read_config 2014-02-25 16:55:25,158 DEBG 'tornado-8080' stderr output: options = config.options(section) 2014-02-25 16:55:25,159 DEBG 'tornado-8080' stderr output: File "/usr/lib/python2.7/ConfigParser.py", line 279, in options raise NoSectionError(section) ConfigParser.NoSectionError: No section: 'Database' ......... 2014-02-25 20:29:26,924 INFO exited: tornado-8080 (exit status 1; not expected)
像使用或不使用SSL一样运行龙卷风就可以工作,Flask API也是一样。 冉监督与sudo和没有….
正如你所看到的我难住 – 任何想法?
认为我把它整理出来:确保我使用的目录中的所有python文件都是可执行文件
chmod +x <FILES>
修改了supervisord文件的程序部分,如下所示
[program:inf_svr] process_name=inf_svr%(process_num)s directory=/media/sf_Projects/inf_api/inf_api/ environment=USER=root,PYTHONPATH=/usr/bin/ command=python /media/sf_Projects/inf_api/inf_api/inf_server_nginx.py startsecs=2 user=root autostart=true autorestart=true numprocs=1 numprocs_start=8080 stderr_logfile = /var/log/supervisord/tornado-stderr.log stdout_logfile = /var/log/supervisord/tornado-stdout.log