是否可以使用 venv 在启动时运行 uWSGI/Gunicorn 服务器?

是否可以使用 venv 在启动时运行 uWSGI/Gunicorn 服务器?

我有一个小型 .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 位置。

相关内容