Запуск автономного сервера 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