Лакальны сайт Django не адлюструецца ў браўзэры

Я мяркую, што ёсць вельмі простае рашэнне гэтай праблемы, але я шукаў кожны форум і кіраўніцтва па наладзе і не магу зразумець:

Я пабудаваў сераду Django/CentOS-6.3 на мой <�ет> лакальнага сервер (з дапамогай VirtualBox і Валацуга). Калі я запуск майго сервера ў бадзяжных тэрмінале з «пітон manage.py runserver [::]: 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.

With regard to the server files, I have done many similar setups with Django/Ubuntu in the past and have never had any issues, but there must be something different about Django/CentOS that is causing this to happen (or maybe I made a mistake someone in one of my server files). I have followed guides for setting up Django & PostgreSQL on CentOS, too, but to no avail. I'll comment some of the files I have created/edited below.

Калі хто-небудзь мае рашэнне, ці нават ёсць парады аб тым, дзе <�ет> старт шукае памылкі, я б вельмі ўдзячны.

1
Вось серверныя файлы я праверыў/адрэдагаваныя, разам з некаторымі тэстаў, якія я зрабіў, што можа спадзявацца, дапаможа праліць святло на прычыны гэтага выпуску: - «django.wsgi» (у дырэкторыі над праектам) - «/ і г.д. /httpd/conf.d»("содержит wsgi.conf ") - Tested" імпарт Джанго "у пітона тэрмінале - перазапуску Апач і валацуга - Створаны файл" /etc/httpd/conf.d/django.conf "і дадаў лінія WSGIScriptAlias ​​- Паведамленні ў гэтых 8 ліній '/etc/httpd/conf/httpd.conf': (docs.djangoproject.com/en/1.5/howto/deployment/wsgi/modwsgi‌/# базавага configuratio & ZWNJ; п ) - адноўленая Apache і MySQL
дададзена аўтар jball037, крыніца
Гэта не працуе, альбо - той жа вынік.
дададзена аўтар jball037, крыніца
Гэта не працуе, альбо - той жа вынік.
дададзена аўтар jball037, крыніца
Я пішу гэта як адказ «прычына чаму я не магу каментаваць. У мяне дакладна такая ж праблема. Праблема пры загрузцы старонкі на 127.0.0.1:8000 Для мяне, аднак, прыкладанне працуе на 0.0.0.0:8000.
дададзена аўтар user1349663, крыніца
Я пішу гэта як адказ «прычына чаму я не магу каментаваць. У мяне дакладна такая ж праблема. Праблема пры загрузцы старонкі на 127.0.0.1:8000 Для мяне, аднак, прыкладанне працуе на 0.0.0.0:8000.
дададзена аўтар user1349663, крыніца
што адбываецца, калі вы робіце пітона manage.py runserver [::]: 8001 ?
дададзена аўтар karthikr, крыніца
што адбываецца, калі вы робіце пітона manage.py runserver [::]: 8001 ?
дададзена аўтар karthikr, крыніца

12 адказы

Калі ваша сетка настроена правільна і дадатак Джанго з

пітон manage.py runserver 0.0.0.0:8000

і вы ўсё яшчэ не можаце атрымаць доступ да Джанго прыкладання ад хаста VM ёсць амаль напэўна пытанне брандмаўэра. Рашэнне вышэй гэта добра, калі вы працуеце IPTables.

Я разгортваецца CentOS 7 на VirtualBox VM ад хаста Windows 7. Я не ведаў, што такое размеркаванне выкарыстоўвае firewalld, ня IPTables для кантролю доступу.

калі

<�Р> пс -п.в | Grep брандмаўэр

вяртае нешта накшталт

<�Р> 602? 00:00:00 firewalld </р>

ваша сістэма працуе firewalld, ня IPTables. Яны не працуюць разам.

Для таго, каб выправіць вас VM, так што вы можаце атрымаць доступ да Джанго сайта ад хаста выкарыстоўваць наступныя каманды:

<�Р> брандмаўэр-CMD --zone = грамадскі --add-порт = 8000/TCP --permanent      <�Р> брандмаўэр-CMD --reload

Вялікі дзякуй Пабла V паказваюць на гэта ў пост «Джанго доступу сервера на віртуальнай машыне».

5
дададзена
Эканоміць шмат часу ...
дададзена аўтар muazfaiz, крыніца
дзякуй. сапраўды дапамагло. ++
дададзена аўтар gordon33, крыніца

Калі ваша сетка настроена правільна і дадатак Джанго з

пітон manage.py runserver 0.0.0.0:8000

і вы ўсё яшчэ не можаце атрымаць доступ да Джанго прыкладання ад хаста VM ёсць амаль напэўна пытанне брандмаўэра. Рашэнне вышэй гэта добра, калі вы працуеце IPTables.

Я разгортваецца CentOS 7 на VirtualBox VM ад хаста Windows 7. Я не ведаў, што такое размеркаванне выкарыстоўвае firewalld, ня IPTables для кантролю доступу.

калі

<�Р> пс -п.в | Grep брандмаўэр

вяртае нешта накшталт

<�Р> 602? 00:00:00 firewalld </р>

ваша сістэма працуе firewalld, ня IPTables. Яны не працуюць разам.

Для таго, каб выправіць вас VM, так што вы можаце атрымаць доступ да Джанго сайта ад хаста выкарыстоўваць наступныя каманды:

<�Р> брандмаўэр-CMD --zone = грамадскі --add-порт = 8000/TCP --permanent      <�Р> брандмаўэр-CMD --reload

Вялікі дзякуй Пабла V паказваюць на гэта ў пост «Джанго доступу сервера на віртуальнай машыне».

5
дададзена
Эканоміць шмат часу ...
дададзена аўтар muazfaiz, крыніца
дзякуй. сапраўды дапамагло. ++
дададзена аўтар gordon33, крыніца

Калі ваша сетка настроена правільна і дадатак Джанго з

пітон manage.py runserver 0.0.0.0:8000

і вы ўсё яшчэ не можаце атрымаць доступ да Джанго прыкладання ад хаста VM ёсць амаль напэўна пытанне брандмаўэра. Рашэнне вышэй гэта добра, калі вы працуеце IPTables.

Я разгортваецца CentOS 7 на VirtualBox VM ад хаста Windows 7. Я не ведаў, што такое размеркаванне выкарыстоўвае firewalld, ня IPTables для кантролю доступу.

калі

<�Р> пс -п.в | Grep брандмаўэр

вяртае нешта накшталт

<�Р> 602? 00:00:00 firewalld </р>

ваша сістэма працуе firewalld, ня IPTables. Яны не працуюць разам.

Для таго, каб выправіць вас VM, так што вы можаце атрымаць доступ да Джанго сайта ад хаста выкарыстоўваць наступныя каманды:

<�Р> брандмаўэр-CMD --zone = грамадскі --add-порт = 8000/TCP --permanent      <�Р> брандмаўэр-CMD --reload

Вялікі дзякуй Пабла V паказваюць на гэта ў пост «Джанго доступу сервера на віртуальнай машыне».

5
дададзена
Эканоміць шмат часу ...
дададзена аўтар muazfaiz, крыніца
дзякуй. сапраўды дапамагло. ++
дададзена аўтар gordon33, крыніца

«127.0.0.1» гаспадар не тое ж самае, як госць «127.0.0.1». Па-змаўчанню камандаванне

python manage.py runserver

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

curl -I http://127.0.0.1:8000/

Гаспадар як іншы IP. Для таго, каб атрымаць доступ да сервера распрацоўкі ад хаста вы павінны запусціць яго без внутрибрюшинно абмежаванні:

python manage.py runserver 0.0.0.0:8000

ды:

python manage.py runserver [::]:8000

павінны быць аднолькавымі. Але гэта IPv6 сінтаксіс AFAIK. Вы ўпэўненыя, што каманда «manage.py runserver» падтрымлівае IPv6 па змаўчанні? Я ніколі не выкарыстоўваў ipv6 адрасу W/Джанго, але, гледзячы на ​​крыніцу ( https://github.com/django/django/blob/master/django/core/management/commands/runserver.py ) ёсць швы, каб быць сцяг, які па змаўчанні ў значэнне False ( "--ipv6"). Магчыма, што гэта «рэальная» праблема?

З павагай,

4
дададзена

«127.0.0.1» гаспадар не тое ж самае, як госць «127.0.0.1». Па-змаўчанню камандаванне

python manage.py runserver

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

curl -I http://127.0.0.1:8000/

Гаспадар як іншы IP. Для таго, каб атрымаць доступ да сервера распрацоўкі ад хаста вы павінны запусціць яго без внутрибрюшинно абмежаванні:

python manage.py runserver 0.0.0.0:8000

ды:

python manage.py runserver [::]:8000

павінны быць аднолькавымі. Але гэта IPv6 сінтаксіс AFAIK. Вы ўпэўненыя, што каманда «manage.py runserver» падтрымлівае IPv6 па змаўчанні? Я ніколі не выкарыстоўваў ipv6 адрасу W/Джанго, але, гледзячы на ​​крыніцу ( https://github.com/django/django/blob/master/django/core/management/commands/runserver.py ) ёсць швы, каб быць сцяг, які па змаўчанні ў значэнне False ( "--ipv6"). Магчыма, што гэта «рэальная» праблема?

З павагай,

4
дададзена

«127.0.0.1» гаспадар не тое ж самае, як госць «127.0.0.1». Па-змаўчанню камандаванне

python manage.py runserver

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

curl -I http://127.0.0.1:8000/

Гаспадар як іншы IP. Для таго, каб атрымаць доступ да сервера распрацоўкі ад хаста вы павінны запусціць яго без внутрибрюшинно абмежаванні:

python manage.py runserver 0.0.0.0:8000

ды:

python manage.py runserver [::]:8000

павінны быць аднолькавымі. Але гэта IPv6 сінтаксіс AFAIK. Вы ўпэўненыя, што каманда «manage.py runserver» падтрымлівае IPv6 па змаўчанні? Я ніколі не выкарыстоўваў ipv6 адрасу W/Джанго, але, гледзячы на ​​крыніцу ( https://github.com/django/django/blob/master/django/core/management/commands/runserver.py ) ёсць швы, каб быць сцяг, які па змаўчанні ў значэнне False ( "--ipv6"). Магчыма, што гэта «рэальная» праблема?

З павагай,

4
дададзена

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

Гэтая каманда працавала як шарм для мяне

python manage.py runserver [::]:8001
1
дададзена

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

Гэтая каманда працавала як шарм для мяне

python manage.py runserver [::]:8001
1
дададзена

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

Гэтая каманда працавала як шарм для мяне

python manage.py runserver [::]:8001
1
дададзена

Праверце IPTables, і спыніць яго. Ubuntu звычайна не адкрывае IPTables пры запуску.

0
дададзена

Праверце IPTables, і спыніць яго. Ubuntu звычайна не адкрывае IPTables пры запуску.

0
дададзена

Праверце IPTables, і спыніць яго. Ubuntu звычайна не адкрывае IPTables пры запуску.

0
дададзена