◀ 25.

【django】runserverでポートを指定する方法

▶

開発用のポート変更:自分のPCで試すなら python manage.py runserver 8080 で、通常は http://127.0.0.1:8080/ にアクセスします。Djangoの開発サーバーであり、公開サービスの本番配備には使いません。

127.0.0.1でPC内だけに待受する場合と、0.0.0.0で全IPv4インターフェースに待受する場合の違い

ポートだけ変える場合と、待受先も変える場合

プロジェクトの manage.py があるディレクトリで、そのプロジェクト用のPython/仮想環境から実行します。ポートを省略した既定値は8000です。待受アドレスを省略した既定値は127.0.0.1で、別のPCからはそのまま接続できません。

python manage.py runserver 8080
python manage.py runserver 127.0.0.1:8080
# Trusted LAN testing only; stop afterwards. Never a production server.
python manage.py runserver 0.0.0.0:8080

0.0.0.0 は接続先のURLではなく待受の指定です。別端末のブラウザでは、開発PCの実際のLANアドレスと8080番を使います。別端末の 127.0.0.1 は、その別端末自身を指します。

スマートフォンなどから確認するときの条件

  1. 信頼できる検証用ネットワークでだけ、待受を一時的に広げます。インターネットからの転送・公開は行いません。
  2. ALLOWED_HOSTS には実際に使う開発PCのホスト名またはIPを個別に設定します。ポート番号や http:// は含めず、エラーを消すために ["*"] へ広げません。
  3. OSのファイアウォール、同じLAN/VPN内の経路、端末間通信の制限を確認します。FWを全面無効化するのではなく、必要な接続元とポートだけを検討します。
  4. 確認後はCtrl+Cで停止し、一時的な公開範囲の設定も元に戻します。実際の認証情報・個人データを使う検証とは分けます。

起動できない・接続できない場合の切り分け

症状確認すること
ポートが使用中既存の利用プロセスを確認し、別ポートを選びます。未知のプロセスを強制終了しません。
Permission denied80等の特権ポートを避けます。別のアクセス権の問題もあるので、番号だけで原因を断定しません。
自分のPCでも開けない起動ログ、実際の待受先とポート、URL、起動時エラーを確認します。
PCでは開けるがスマホでは開けない実IP、待受先、LAN経路、FW、Host検証を順に確認します。
DisallowedHostリクエストのHostと開発用ALLOWED_HOSTSの不一致を確認します。接続できたことと、Host検証の通過は別です。

内容確認:2026年10月26日。Python 3.12 / Django 5.2系でコマンドの解釈とloopback接続を検査しています。スマホ実機・LAN機器・本番公開の動作保証ではありません。出典:Django公式 runserver。本番構成はApache/mod_wsgiでの配備、静的ファイルは静的ファイルの読み込みを参照してください。

この記事の要点
  • Django の runserver でポートを指定する方法
  • 基本: python manage.py runserver 8080
  • バインドアドレスも指定: python manage.py runserver 0.0.0.0:8080
  • 0.0.0.0 は全IPv4インターフェースで待受します。LAN接続にはHost設定・ファイアウォール・通信経路の確認も必要です。本番公開には使いません。

 

旧例の80番ポートについて

以下は元の記事の記録です。Unix系OSでは80番の待受に追加権限が必要になることがあります。権限エラーを避けるために開発サーバーをroot/sudoで起動せず、通常は8080等を選びます。既存のWebサーバーと同じポートも使用できません。

python manage.py runserver 80

 

子ページ

子ページはありません

同階層のページ
  1. 環境構築とプロジェクト/アプリの作成
  2. MVC(MVT)のそれぞれの使い方と説明
  3. データベースへの接続と操作
  4. Django Administration
  5. git管理
  6. エラー一覧
  7. バージョンの確認方法
  8. ログ出力方法
  9. SQLのログ出力方法
  10. ログのローテート設定
  11. settings.pyの定数にアクセスする方法
  12. 本番環境へのインストールとアプリのデプロイ(apache編)
  13. 本番環境へのインストールとアプリのデプロイ(nginx編)
  14. djangoアプリの本番の開始URLを変更する
  15. 静的(static)ファイルの置き場所と読み込み(画像、css、js )
  16. CSRFトークンをAjaxで使用する方法
  17. ajaxの使用例(POST編)
  18. ファイルのアップロードとファイルの名前
  19. クイックスタート/チュートリアル
  20. ログイン機能
  21. テンプレート側のログイン判定
  22. ビュー側のログイン判定
  23. 管理者ユーザーの作成/判定と管理画面
  24. モデルのjson化とレスポンス
  25. runserverでポートを指定する方法
  26. cronによるバッチ実行
  27. テンプレートで利用する共通のcontextを定義する方法
  28. プログラムが本番サーバーで反映されない場合の対処法
  29. APIの作成
  30. cron用コマンド・ファイルの作成

最近更新/作成されたページ