python-从virtualenv作为Linux系统服务启动wsgi应用程序

我目前正在virtualenv中开发一个Bottle应用程序.我打算使用bjoern WSGI服务器为其提供服务(但这可能没什么大不了的).我还打算为轻量级或nginx反向代理提供服务.无论如何,该应用程序可以在其自己的virtualenv中作为系统服务运行吗?如果是这样,怎么办呢?

解决方法:

根据我的经验,我建议您可以使用Supervisord将Web服务器作为守护程序运行.尽管您可以在/etc/init.d中编写一些Linux服务脚本,但是它们确实很难正确执行.这是一个example init.d script for nginx,可在Ubuntu中将其作为服务运行.你不想写一个,对吗?

要运行带有virtuald的依赖于virtualenv作为守护程序服务的python服务器,这是我在生产环境中使用的配置.

[program:web01]
command=/home/victorlin/tg2env/bin/paster serve production.ini ;
process_name=%(program_name)s ;
directory=/home/victorlin/ ;
user=victorlin ;
priority=999 ;
redirect_stderr=true ;
stdout_logfile=/home/victorlin/logs/web01_out.txt ;
stderr_logfile=/home/victorlin/logs/web01_err.txt ;
environment=PYTHON_EGG_CACHE=/home/victorlin/.python-eggs ;

您可以使用/ path / to / virtualenv / bin / python在命令字段中运行自己的python脚本.并且,要在启动时运行受监管的主机,可以在根帐户中编写如下的crontab:

@reboot /usr/local/bin/supervisord -c /home/root/supervisord.conf 

当然,如果要打开的端口号小于1024,则可以使用非特权帐户编写此启动crontab.

上一篇:python-使用bottle和cherrypy记录响应内容的长度


下一篇:啤酒2元一瓶,2个空瓶能换一瓶,4个空瓶能换一瓶. 问: 10元最多能喝多少瓶?