2016-02-25 4 views
1

С этой точкой, я только что создал и играл мой сервер Django в моем локальном хосте, как создание основного сервера Linux дистрибутива на моем другое устройство и тестирование и т.д.Действительно ли мне нужно использовать серверное приложение для Django?

Однако, я также слышал, серверные приложения, как apache2 или nginx , Я задаюсь вопросом: действительно ли мне нужно использовать один из них в производстве? Я хочу купить (или арендовать?) Услугу VPS, а затем развернуть (или опубликовать?) Мой проект на этом сервере. Вопросы на моей голове:

  • Запуск сервера с manage.py runserver 0.0.0.0:80 означает, что он не является моей заявкой по всему миру? Серверное приложение (или что-то еще) делает его доступным снаружи?
  • Или серверное приложение просто необходимо для лучшей производительности, оптимизации и т. Д.?

Просто, почему мне нужно использовать apache2 или nginx развернуть свой проект?

ответ

0

Это долгая история. В нескольких словах:

  1. Запуск проекта на локальном хосте наверняка не сделает его доступным во всем мире, поскольку по крайней мере вам нужен публичный адрес для вашего сервера, но не локальный.
  2. Говоря честно, не стоит запускать сайт в профи, используя встроенный сервер django. Но, как вы можете прочитать в docs, это настоятельно НЕ рекомендуется. Зачем? Потому что он был разработан специально для тестирования. Он написан на python (достаточно медленный для веб-сервера) и не подходит для обработки нескольких запросов на сервер, и это всего лишь вопрос времени, когда он сработает. Конечно, есть много других причин, таких как настройки кеша и доступа, перенаправления и другие.
+0

Да. Однако одно недоразумение: я хотел сказать, делает ли серверное приложение глобально доступным проект. Я не был уверен, что его собственная работа с сервером Django делает ее открытой. Мне было интересно, купил ли я VPS и не установил серверное приложение, даже если бы у меня был общедоступный IP-адрес, я бы был не поддается. Тем не менее, ваш второй момент просто заставил меня понять немного. –

+1

Несомненно, можно запустить проект django без использования apache или nginx, но только встроенный сервер. – chem1st

+2

Маленькая нить в вашем ответе номер 1: использование 'startserver 0.0.0.0: 80' откроет сервер, чтобы прослушивать все доступные адреса, а не localhost. До тех пор, пока у машины есть публично указанный IP-адрес, тогда 'runningerver 0.0.0.0: 80' действительно сделает его общедоступным. – Joseph

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