2013-05-31 3 views
1

Я предполагаю, что есть очень простое решение этой проблемы, но я искал каждый форум и руководство по настройке и не могу понять:Локальный сайт Django не загружается в браузере

Я построил Джанго/CentOS -6.3 на моем локальном сервере (с использованием VirtualBox и Vagrant). Когда я запускаю свой сервер в бродячем терминале с помощью «python manage.py runningerver [::]: 8000», он запускается без ошибок.

Validating models... 

0 errors found 
May 31, 2013 - 13:56:15 
Django version 1.5.1, using settings 'mysitename.settings' 
Development server is running at http://[::]:8000/ 
Quit the server with CONTROL-C. 

Однако, когда я пытаюсь перейти к «http://127.0.0.1:8001» в моем браузере (я настроить перенаправление портов из порта 8000 на порт 8001 в моей Vagrantfile), браузер просто зависает в течение 5 минут, пока время ожидания, то он возвращает сообщение:

> The connection was reset 
> The connection to the server was reset while the page was loading. 
> ... 

Это точно такое же сообщение я получаю из браузера, даже после того, как я закрыл свой локальный сервер. Мой компьютер, очевидно, распознает это как перенаправленный порт, потому что любой другой порт, который я пытаюсь (например, 8000), мгновенно возвращает ошибку, заявляя, что не может установить соединение с сервером на 127.0.0.1:8000.

Что касается файлов сервера, то в прошлом я делал много подобных настроек с Django/Ubuntu и никогда не имел никаких проблем, но должно быть что-то другое в Django/CentOS, которое вызывает это (или, возможно, Я допустил ошибку в одном из файлов моего сервера). Я следил за инструкциями по настройке Django & PostgreSQL на CentOS, но безрезультатно. Я прокомментирую некоторые из файлов, которые я создал/отредактировал ниже.

Если у кого-то есть решение или даже есть рекомендации по поводу того, где: start Ищет ошибки, я бы очень признателен.

+0

Вот файлы сервера, которые я проверил/отредактировал, а также некоторые тесты, которые я сделал, которые, можно надеяться, помогут пролить свет на причину текущей проблемы: - 'django.wsgi' (in dir above project) - '/etc/httpd/conf.d' (содержит 'wsgi.conf') - Протестировано 'import django' в терминале python - перезапустил apache и vagrant - Создал файл '/ etc/httpd/conf. d/django.conf 'и добавлена ​​строка WSGIScriptAlias ​​ - добавлено к этим 8 строкам в файл /etc/httpd/conf/httpd.conf: (docs.djangoproject.com/en/1.5/howto/deployment/wsgi/modwsgi/# basic-configuration) - Перезапущенный Apache и MySQL – jball037

+0

Что происходит, когда вы выполняете 'python manage.py runserver [: :]: 8001'? – karthikr

+0

Это тоже не работает - тот же результат. – jball037

ответ

3

Я пишу это как ответ, потому что по какой-то причине я не могу комментировать.

У меня ТОЧНАЯ такая же проблема. Страница загрузки проблемы на 127.0.0.1:8000

Для меня, однако, приложение работает на 0.0.0.0:8000.

4

«127.0.0.1» хоста не совпадает с «127.0.0.1» гостя. По умолчанию команда

python manage.py runserver 

слушает только локальный хост гостя. Вы должны быть в состоянии проверить его внутри виртуальной машины (используйте «бродячий» SSH для входа) и запустить

curl -I http://127.0.0.1:8000/ 

хост как другой IP. Для того, чтобы получить доступ к серверу разработки от хоста вы должны запустить его без ограничений IP:

python manage.py runserver 0.0.0.0:8000 

Да:

python manage.py runserver [::]:8000 

должен быть одинаковым. Но это синтаксис IPv6 AFAIK. Вы уверены, что команда «manage.py runningerver» поддерживает IPv6 по умолчанию? Я никогда не использовал адреса ipv6 w/django, но, глядя на источник (https://github.com/django/django/blob/master/django/core/management/commands/runserver.py), там швы должны быть флагом по умолчанию для False («--ipv6»). Возможно, это «настоящая» проблема?

С уважением,

1

Для подобной задачи,

Эта команда работала как шарм для меня

python manage.py runserver [::]:8001 
0

Проверьте IPTables, и остановить его. Ubuntu обычно не открывает iptables при его запуске.

3

Если ваша сеть настроена правильно и приложение Джанго с

питона manage.py runserver 0.0.0.0:8000

и вы все еще не можете получить доступ к Джанго приложения от хоста VM есть почти безусловно, проблема с брандмауэром. Решение выше хорошо, если вы используете iptables.

Я развернул CentOS 7 на виртуальной виртуальной машине с хоста Windows 7. Я не знал, что этот дистрибутив использует firewalld, а не iptables для контроля доступа.

если

пс -п.в | GREP брандмауэр

возвращает что-то вроде

602? 00:00:00 firewalld

Ваша система работает firewalld, а не iptables. Они не бегут вместе.

Чтобы исправить вас VM, так что вы можете получить доступ к Джанго сайта от хоста использовать команды:

брандмауэр-CMD --zone = общественного --add-порт = 8000/TCP --permanent

брандмауэр-CMD --reload

Большое спасибо PABLO V указывают на это в пост «сервер Джанго доступа на виртуальной машине».

+0

спасибо. действительно помогли. ++ – gordon33

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