2013-05-12 30 views
9

私はdjangoの組み込みサーバーを使ってサイトを開発しています。私はローカルIPアドレスを使用してサーバーにアクセスできるようにするために同じネットワーク内の他のコンピュータを使用します。 私はこれについて多くの記事を見てきましたが、すべての提案を試しても、ネットワーク上の他のコンピュータがサイトにアクセスすることはできません。他のマシンからDjango devserverにアクセスする同じネットワーク

私は

python manage.py runserver 0.0.0.0:8000 

を使用してサーバを実行し、次の画像で見ることができるよう、既にポート8000を開きました。

enter image description here

私はすべてのヘルプは高く評価されたカーネル3.8.11-200

にDjangoの1.4.2、Pythonの2.7.3、Fedoraの18を実行していますよ。ありがとう。

答えて

11

使用python manage.py runserver <ip>:<port>

例えば、私のIPは192.168.0.100であると私はポート80でDjangoのアプリを実行したい、私は多分理由

[sudo] python manage.py runserver 192.168.0.100:80 

マイポート80のに必要なroot権限を、しなければなりません私はそれにアクセスする他のアプリケーションがあります。 192.168.0ネットワーク内のすべてのクライアントが必要に応じてあなたがジャンゴを開始している192.168.0.100

+0

ありがとうRajeev。しかし、これは私のローカルApacheがポート80を使用しているので動作しません。ポート8000​​はほとんどのdjango開発者が使用するものなので、私は何か新しいものに行きたくありませんでした。また、0.0.0.0:8000はポート8000​​上の任意のIPを示しているため、特定のポートに与えるのに大きな違いはありません。 – Paulo

4

でサイトにアクセスすることができますこれにより

- それは、すぐに接続が得るとしてどこからでも接続を受け入れますそれに。

ファイアウォールを確認し、8000ポートの接続が許可されていることを確認します。このような何か作業をする必要があります:https://docs.djangoproject.com/en/dev/ref/settings/#internal-ips

iptables -I INPUT -p tcp -m tcp --dport 8000 -j ACCEPT 

はオプションで、リモートデバッグを許可するように設定してINTERNAL_IPS変数を拡張する必要があります。

2

skarapが正しい。ネットワークが正しく設定されていて、pytho9n manage.py runserver 0.0.0.0:8000でdjangoアプリケーションを実行しても、VMホストからdjangoアプリケーションにアクセスできない場合、ファイアウォールの問題はほぼ確実です。上記のイラストは、iptablesを実行している場合に適しています。

Windows 7ホストから仮想ボックスVMにCentOS 7を導入しました。私はこのディストリビューションがiptablesではなくfirewalldを使ってアクセスを制御していることを知らなかった。

のps -ae場合| grepファイアウォール は 602のような何かを返しますか? 00:00:00 firewalld

システムはiptablesではなくfirewalldを実行しています。彼らは一緒に走っていない。

ファイアウォール-CMD --zone =公共--add-ポート= 8000/tcpの--permanent ファイアウォール:あなたはコマンドを使用するホストから自分のDjangoのサイトにアクセスできるように

はあなたのVMを修正するには-cmd --reload

これを指摘するためのhttp://www.scriptscoop.netサイトのpablo vに感謝します。

関連する問題