我正在部署一个在虚拟环境
中运行的烧瓶应用程序我有systemd文件如下:
[Unit]
Description=Gunicorn instance to serve my-page
After=network.target
[Service]
User=jb
Group=www-data
WorkingDirectory=/home/jb/webjosue/my-page
Environment="PATH=/home/jb/webjosue/FlaskENV/bin"
ExecStart=/home/jb/webjosue/FlaskENV/bin/gunicorn --workers 3 --bind unix:my-page.sock -m 007 wsgi:app
[Install]
WantedBy=multi-user.target
在我的main.py中我有
settings = os.environ['APP_SETTINGS']
我收到此错误
raise KeyError(key)
Sep 24 00:10:13 ubuntu-512mb-nyc3-01 gunicorn[23439]: KeyError: 'settings'
我猜测,因为我的环境指向virtualenv(FlaskENV),我的.profile中的其他环境变量无法被识别。
有什么想法吗?
答案 0 :(得分:0)
正如@Joe Doherty所说的here,您可以在GetDisplayText()
部分使用Environment
指令添加环境变量,更多information。例如:
Service
我正在使用virtualenv,因此[Service]
Environment="PATH=/xx/yy/zz/venv/bin"
Environment="FLASK_ENV=development"
Environment="APP_SETTINGS=config.DevelopmentConfig"
是virtualenv文件夹的路径。