python - 求一个uwsgi自动启动的脚本

 甘民涵 发布于 2022-11-03 20:43

官方有个介绍在 /etc/init/ 目录下创建一个配置文件可以自动启动:

-bash-4.1# cat /etc/init/uwsgi.conf 
description "uWSGI"
start on runlevel [2345]
stop on runlevel [06]

exec uwsgi --emperor /etc/uwsgi/vassals 

但我发现,启动我Python的 os.environ 获取不到环境变量。但在终端手动启动是可以的:

-bash-4.1# uwsgi --emperor /etc/uwsgi/vassals

是不是 /etc/init/ 里面的脚本启动的时候还没加载环境变量 ?

怎么写 /etc/init.d/ 的启动uwsgi的脚本 ?


附测试程序

pythonimport os
print 'user: ' + str(os.environ.get('USER'))

def application(env, start_response):
    start_response('200 OK', [('Content-Type','text/html')])
    return ['Hello World']
3 个回答
  • 谢谢,我也写了一个脚本,分享下:
    http://www.zhaoyanan.cn/uwsgi...

    2022-11-06 12:40 回答
  • 推荐用 supervisor

    2022-11-06 12:40 回答
  • 这个是必然的, 你在终端里当然是以你自己的身份为环境变量。

    但是在init中是系统运行。 也就是说这个时候USER这个环境变量暂时还没有。

    2022-11-06 12:47 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有