Назад | Перейти на главную страницу

Может ли какая-нибудь виртуальная среда запустить systemd gunicorn.service для всех virtuenenv?

Если вы не работаете в среде, Gunicorn будет установлен глобально (т. Е. Доступен для всей системы). Это не рекомендуется. Всегда выбирайте virtualenv. Но если у вас несколько виртуальных машин, сколько файлов gunicorn.service вам нужно, чтобы запускать gunicorn при запуске системы? Например ниже

WorkingDirectory=/home/myproject...
ExecStart==/home/myproject/myprojectenv/bin/gunicorn...

Может ли в любой виртуальной среде его запустить для всех virtuenenv?

Для этого вы можете использовать экземпляры systemd.

Например, предположим, что вы создаете все виртуальные виртуальные машины в одном каталоге (в любом случае это упростит задачу).

Затем вы можете написать такой юнит-файл:

WorkingDirectory=/home/myproject/%i
ExecStart=/home/myproject/%i/bin/gunicorn ...

% I представляет собой конкретный экземпляр модуля, для которого не может быть ограничений. Вы ссылаетесь на экземпляр, используя @ знак, за которым следует имя экземпляра, например:

systemctl enable gunicorn@myprojectenv.service
systemctl start gunicorn@myprojectenv.service

Таким образом %i будет заменен на myprojectenv. Повторите это для каждого экземпляра, который хотите создать.

Дальнейшее чтение: