Skip to content

Instantly share code, notes, and snippets.

@vladmeh
Created August 1, 2023 10:40
Show Gist options
  • Save vladmeh/6c2204bb7363745ae26f36d12d86a683 to your computer and use it in GitHub Desktop.
Save vladmeh/6c2204bb7363745ae26f36d12d86a683 to your computer and use it in GitHub Desktop.

Revisions

  1. vladmeh created this gist Aug 1, 2023.
    31 changes: 31 additions & 0 deletions gunicorn.service
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,31 @@
    [Unit]
    # Это текстовое описание юнита, пояснение для разработчика.
    Description=gunicorn daemon

    # Условие: при старте операционной системы запускать процесс только после того,
    # как операционная система загрузится и настроит подключение к сети.
    # Ссылка на документацию с возможными вариантами значений
    # https://systemd.io/NETWORK_ONLINE/
    After=network.target

    [Service]
    # От чьего имени будет происходить запуск:
    # укажите имя, под которым вы подключались к серверу.
    User=yc-user

    # Путь к директории проекта:
    # /home/<имя-пользователя-в-системе>/
    # <директория-с-проектом>/<директория-с-файлом-manage.py>/.
    # Например:
    WorkingDirectory=/home/yc-user/taski/backend/

    # Команду, которую вы запускали руками, теперь будет запускать systemd:
    # /home/<имя-пользователя-в-системе>/
    # <директория-с-проектом>/<путь-до-gunicorn-в-виртуальном-окружении> --bind 0.0.0.0:8000 backend.wsgi
    ExecStart=/home/yc-user/taski/backend/venv/bin/gunicorn --bind 0.0.0.0:8000 backend.wsgi

    [Install]
    # В этом параметре указывается вариант запуска процесса.
    # Значение <multi-user.target> указывают, чтобы systemd запустил процесс,
    # доступный всем пользователям и без графического интерфейса.
    WantedBy=multi-user.target