3

これには非常に簡単な解決策があると思いますが、すべてのフォーラムとセットアップガイドを検索しましたが、わかりません:

ローカルサーバーに Django/CentOS-6.3 環境を構築しました(VirtualBox と Vagrant を使用)。「python manage.py runserver [::]:8000」を使用してvagrantターミナルでサーバーを起動すると、エラーなしで起動します。

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(Vagrantfile でポート 8000 からポート 8001 へのポート転送を設定しました)、ブラウザはタイムアウトするまで 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には何か違うものがあるに違いありません(または、間違いを犯した可能性があります)私のサーバーファイルの1つに誰かがいます)。CentOS で Django と PostgreSQL をセットアップするためのガイドにも従いましたが、役に立ちませんでした。以下に、作成/編集したファイルのいくつかについてコメントします。

誰かが解決策を持っている場合、またはどこからエラーを探し始めるかについてのアドバイスさえあれば、私は非常に感謝しています.

4

4 に答える 4

4

ホストの「127.0.0.1」は、ゲストの「127.0.0.1」と同じではありません。デフォルトでは、コマンド

python manage.py runserver

ゲストのローカルホストのみをリッスンします。VM内からテストして(「vagrant 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 runserver」コマンドがデフォルトで IPv6 をサポートしていることは確かですか? 私はdjangoでipv6アドレスを使用したことはありませんが、ソース(https://github.com/django/django/blob/master/django/core/management/commands/runserver.py)を見ると、デフォルトで False ("--ipv6") に設定されているフラグ。おそらくそれは「本当の」問題ですか?

よろしく、

于 2013-07-24T09:03:11.480 に答える
3

同様の問題については、

このコマンドは私にとって魅力のように機能しました

python manage.py runserver [::]:8001
于 2013-08-19T03:49:18.697 に答える
0

iptables を確認し、停止します。Ubuntu は通常、起動時に iptables を開きません。

于 2015-04-04T05:56:28.267 に答える