如果您不在环境中工作,Gunicorn 将全局安装(即在系统范围内可用)。不建议这样做。始终选择使用虚拟环境。但是如果您有多个虚拟环境,那么在系统启动时应该有多少个 gunicorn.service 文件来启动 gunicorn?例如下面
WorkingDirectory=/home/myproject...
ExecStart==/home/myproject/myprojectenv/bin/gunicorn...
任何虚拟环境都可以为所有virtennenv启动它吗?
答案1
您可以为此使用 systemd 实例。
例如,假设您在同一个目录中创建所有虚拟环境(无论如何这会使事情变得更容易)。
然后你可以编写这样的单元文件:
WorkingDirectory=/home/myproject/%i
ExecStart=/home/myproject/%i/bin/gunicorn ...
%i 表示单元的特定实例,其数量没有限制。可以使用符号@
后跟实例名称来引用实例,例如:
systemctl enable [email protected]
systemctl start [email protected]
因此%i
将被替换为myprojectenv
。对要创建的每个实例重复此操作。
进一步阅读: