gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 11:11:14 25 4
gpt4 key购买 nike

我目前正在 virtualenv 中开发一个 bottle 应用程序。我打算使用 bjoern WSGI 服务器为它提供服务(但这可能并不重要)。我还打算使用 lighty 或 nginx 反向代理为应用程序提供服务。无论如何,该应用程序可以作为系统服务从其自己的 virtualenv 中运行吗?如果是这样,人们会怎么做?

最佳答案

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

要运行依赖于 virtualenv 作为带有 supervisord 的守护进程服务的 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 脚本。并且,要在启动时运行 supervisord,您可以在您的 root 帐户中这样编写 crontab:

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

当然,如果你没有低于1024的端口号可以打开,你可以把这个启动crontab写在非特权账户下。

关于python - 从 virtualenv 中启动 wsgi 应用程序作为 Linux 系统服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4572943/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com