2015-11-26 2 views
-1

Я построил приложение на своей локальной машине с Python и Django. Его работа прекрасна. Теперь я хотел бы автоматизировать процесс, чтобы запустить приложение Django на производственном сервере.Как запустить приложение Django автоматически на производственном сервере

Что я должен сделать, чтобы достичь этого?

+1

Документы для сервера-сервера имеют большой знак, говорящий, что не используют его для производства ... – Sayse

ответ

4

Документация Django не рекомендует использовать встроенный сервер Django при производстве.

НЕ ИСПОЛЬЗУЙТЕ ЭТОТ СЕРВЕР В НАСТРОЙКЕ ПРОИЗВОДСТВА. Он не прошел посредством проверок безопасности или проверок эффективности. (А вот как это хочу остаться. Мы находимся в бизнесе создания веб-структур, а не Web серверов, улучшая тем этот сервер, чтобы иметь возможность обрабатывать продукцию окружающей среды находится вне сферы Джанго.)

рекомендуется использовать gunicornuWSGI или для запуска WSGI приложения:
- How to use Django with gunicorn
- How to use Django with uWSGI

Еще одна хорошая практика, это использовать supervisord, чтобы начать процесс, Затем, если он по какой-то причине умирает или убивается, супервизор перезапустит этот процесс.

И закончить, используйте nginx или apache в качестве прокси-сервера, которые являются сильным сервером, который может обрабатывать заряд. Большинство учебников или документации рекомендуется использовать nginx, потому что это высокопроизводительный HTTP-сервер.

NGINX является свободным, открытым исходным кодом, высокопроизводительный HTTP-сервер и обратный прокси-сервер , а также прокси-сервер IMAP/POP3. NGINX известен своей высокоэффективной, стабильной, богатой функциональностью, , простой конфигурацией, и низким потреблением ресурсов.

Проверьте это, чтобы узнать, как настроить их:
- Deploying Gunicorn with nginx
- Deploying uWSGI with nginx

Кроме того, прежде чем развернуть приложение Django, прочитать этот контрольный список, чтобы убедиться, что все хорошо настроен: Django - Deployment checklist

С помощью этой архитектуры и инструментов вы сможете запустить свой процесс стрельбы с помощью простой команды supervisord. Это все. Затем пулемет будет запускать ваше приложение WSGI.

Смежные вопросы