Запуск автономного сервера Django runserver

Я создал VPS и установил на нем Django. Я установил Django в виртуальной среде, которую создал с помощью python3 -m venv env и активировал с помощью source env/bin/activate.

Для запуска встроенного веб-сервера Django мне нужно выполнить python3 manage.py runserver.

Веб-сервер работает, пока я не закрою сеанс SSH, так как же я могу запустить отдельный веб-сервер, не зависящий от сеанса SSH. (А также используя преимущества запуска внутри виртуальной среды)?

Один из самых простых способов сделать это - использовать docker. Пример того, как настроить docker с django: https://docs.docker.com/samples/django/

Или вы можете решить это с помощью экрана в системе linux, но помните, что это не для производственного использования: https://linuxhint.com/screen_command_ubuntu/

Запуск его как фонового процесса является быстрым решением.

nohup python3 manage.py runserver &

Если вы действительно хотите поднять его на новый уровень, то рассмотрите возможность запуска его с помощью одного из вариантов развертывания Django, которые очень хорошо документированы командой Django.

https://docs.djangoproject.com/en/4.0/howto/deployment/

Я использовал Gunicorn с запущенным сервером nginx, чтобы nginx мог обслуживать статический контент. подробности вы можете найти здесь.

https://docs.gunicorn.org/en/stable/deploy.html#using-virtualenv

Вернуться на верх