我有一个小型 .py/Flask 应用程序,可以作为 uWSGI 或 Gunicorn 服务器从命令行运行。
Flask 的网站展示了一种简单的方法来简单地运行 Flask 应用程序与这些类型的服务器,即特别是。如果我在 venv 中使用我的源代码。
你知道如何在启动时在 venv 下运行 uWSGI 服务器或 Gunicorn 服务器吗?
我基本上运行一些简单的源代码来测试 Flask 应用程序和 Python3 的服务器。
答案1
你知道如何在启动时在 venv 下运行 uWSGI 服务器或 Gunicorn 服务器吗?
您必须创建一个虚拟环境并硬编码路径到 uWSGI 或 Gunicorn。
要在启动时启动应用程序,请使用系统或者导师。
使用主管的示例。
# content from /etc/supervisor/conf.d/microblog.conf
[program:microblog]
command=/home/ubuntu/microblog/venv/bin/gunicorn -b localhost:8000 -w 4 microblog:app
directory=/home/ubuntu/microblog
user=ubuntu
autostart=true
autorestart=true
stopasgroup=true
killasgroup=true
查看 Miguel 的教程在 Linux 上部署详细信息。
答案2
我通过 Simba 在 Supervisor 中描述的内容找到了一种巧妙的方法,但带有 systemd .service 文件。
...
[Unit]
Description=Gunicorn Server for a Flask/Python3 Application
[Service]
WorkingDirectory=/home/debian/virt
ExecStart=/home/debian/virt/env/bin/gunicorn -b 0.0.0.0:5000 -w 4 TheNameOfMyPythonApp:app
[Install]
WantedBy=multi-user.target
因此,我只是在 [Service] 部分中描述了我的目录,然后使用 ExecStart= 来启动我的环境中的 Gunicorn 位置。