如果你不在一个环境中工作,Gunicorn将被安装在全球范围内(即全系统可用)。 这不被推荐。 总是select使用virtualenv。 但是,如果你有多个virtualenvs多lessgunicorn.service文件,你应该启动在系统启动gunicorn? 例如下面
WorkingDirectory=/home/myproject... ExecStart==/home/myproject/myprojectenv/bin/gunicorn...
任何虚拟环境能否为所有virtudenv启动?
你可以使用systemd实例。
比如说,假设你在同一个目录下创build了所有的virtualenvs(这将使得它更容易)。
然后你可以这样写一个单元文件:
WorkingDirectory=/home/myproject/%i ExecStart=/home/myproject/%i/bin/gunicorn ...
%i表示该单位的一个特定实例,其中不存在任何限制。 您通过使用@符号后跟实例名称来引用实例,如:
systemctl enable [email protected] systemctl start [email protected]
因此%i将被myprojectenv取代。 对每个要创build的实例重复此操作。
进一步阅读: