2015-12-17 2 views
1

Я запускаю веб-приложение на сервере. Я сделал все настройки, используя Django & apache2. Когда я запускаю свое приложение с помощью IP:PORT (x.x.x.x:9000), он отлично работает.Django: Запустить приложение django на сервере без порта?

Я попытался запустить приложение с server ip & port, он отлично работает.

Но я просто хочу запустить свое приложение только на IP. Может быть, я ошибаюсь, потому что я новичок в django. Если возможно, кто-то может дать некоторые идеи.

+2

Запрос Http должен получить доступ к службе на вашем компьютере, а службе нужен порт. IP-адрес определяет только тот компьютер, на котором работает служба, но вам также нужен порт для работы в качестве конечной точки для связи. Пожалуйста, посмотрите на wikipedia для определения порта. https://en.wikipedia.org/wiki/Port_(computer_networking) –

+1

Пожалуйста, разместите конфигурацию Apache. – Alasdair

+0

Я настоятельно рекомендую вам использовать django + nginx + gunicorn. И используйте unix-сокеты NOT ports. Я использовал эту настройку снова и снова, никогда не сработал. –

ответ

0

Согласно обсуждению в комментарии, похоже, что вы путаетесь, почему вам нужно явно указать порт. Для службы HTTP порт по умолчанию - 80, для службы https - порт по умолчанию - 443. Когда вы обращаетесь к домену без порта, запрос по умолчанию пытается поразить любой из них, зависит от того, какой метод вы используете. Вы должны в настройке apache указать порт, который должен быть 80 для http или 443 https. Надеюсь, это поможет.

+0

Я хочу запустить приложение django в сети без порта, который берет по умолчанию 8000. Я не говорю о запросах http или https , Можете ли вы дать мне некоторую идею? – parker

+0

Как если бы конечный пользователь обращался к URL-адресу. В этом случае пользователь не дает никакого порта? Просто предоставление IP или DNS. – parker

+0

Нет, когда пользователь посещает URL-адрес, ваш браузер сначала откроет TCP-соединение, а затем отправит http-запрос через соединение. Поскольку django размещен на веб-сервере, который является apache в вашем случае, браузер должен указать порт, который он мог бы подключиться к веб-серверу. Когда вы обращаетесь к 'http: // somesite.com', это то же самое, что и набирать' http: //somesite.com: 80'. Пожалуйста, ознакомьтесь с некоторыми основными статьями, чтобы узнать больше об этом: http://www.jmarshall.com/easy/http/ –

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