Django が uwsgi+nginx プロキシで静的リソースにアクセスできない問題の解決方法

Django が uwsgi+nginx プロキシで静的リソースにアクセスできない問題の解決方法

uwsgi+nginx プロキシ Django をデプロイする場合、uwsgi を使用したアクセスは正常ですが、nginx プロキシ ポート アクセスを使用すると静的リソースにアクセスできません。

解決:

  • nginx の起動ユーザーを確認し、このユーザーに静的リソースへのアクセスを許可します。
  • たとえば、静的リソースディレクトリは次のようになります: /data/django/static
  • 強化: ch mod 755 /data/django/static -R

uwsgi 設定:

# uwsig は設定ファイル [uwsgi] を使用して起動します
# プロジェクトのルートディレクトリは chdir=/data/django/dailyfresh です
# 起動コマンドとは異なるプロジェクトのアプリケーションを指定します --wsgi-filemysite/wsgi.py
#logsquery 独自のアプリケーション名module=dailyfresh.wsgi:application
#Nginxと通信するローカルのUNIXソケットファイル
# sock のファイル パスを指定します。この sock ファイルは、nginx と uwsgi 間の通信用に nginx の uwsgi_pass に設定されます。# ip+port モードとソケット ファイル モードをサポートします #socket=/etc/uwsgi/uwsgi.sock
ソケット=127.0.0.1:9001
# プロセス数 = 8
# プロセスあたりのワーカー数 = 5
procname-prefix-spaced=dailyfresh # uwsgi プロセス名プレフィックス py-autoreload=1 # py ファイルの変更、自動読み込み # IP ポート、Web アクセス エントリの指定 http=0.0.0.0:9000
# uwsgi のユーザー名とユーザーグループ uid=root を起動します
gid=ルート
# マスタープロセスを有効にする master=true
# サービスが停止したときに自動的に UNIX ソケットと PID ファイルを削除するvacuum=true
# 受信したコンテンツをシリアル化します。可能な場合は thunder-lock=true にします。
# スレッドを有効にする enable-threads=true
# サーバーのリクエスト制限を超える追加リクエストを中断するためのタイムアウトを設定します harakiri=30
# post-buffering=4096 に設定
# ログディレクトリを設定します daemonize=/var/log/uwsgi/uwsgi.log
# uWSGI プロセス番号は pidfile = /etc/uwsgi/uwsgi.pid に保存されます

nginx の設定:

サーバー{
            9002を聴く;
            サーバー名 192.168.2.100;
            アクセスログ /var/log/test.log;
            エラーログ /var/log/test.log;
            文字セット utf-8;
            クライアントの最大ボディサイズは100Mです。
            場所 /static{
                    エイリアス /data/django/dailyfresh/static;
            }
            場所 /メディア{
                    エイリアス /data/django/dailyfresh/media;
            }
            位置 / {
                    uwsgi_params を含めます。
                    uwsgi_pass 127.0.0.1:9001;
            }
            エラーページ 500 502 503 504 /50x.html;
            場所 = /50x.html {
                ルートhtml;
            }
}

uwsgi+nginx proxy Django が静的リソースにアクセスできない問題の解決策に関するこの記事はこれで終わりです。uwsgi+nginx proxy Django がアクセスできないことに関する関連コンテンツの詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Nginx+Uwsgi+Djangoプロジェクトをサーバーにデプロイするアイデアの詳細な説明
  • Django プロジェクト uwsgi+Nginx ナニーレベル デプロイメント チュートリアル実装
  • Django uwsgi Nginx の実稼働環境への詳細な展開
  • uwsgi+nginx を使用した Django プロジェクトのデプロイ例
  • Django+Uwsgi+Nginxによる本番環境導入の徹底解説
  • Django2+uwsgi+nginxがUbuntu16.04サーバーにオンラインでデプロイされています
  • Django + Uwsgi + Nginx による本番環境の導入方法
  • nginx+uwsgi で Django をデプロイする際のすべての問題を解決する (要約)

<<:  曇り空のアイコン効果を実現する純粋な CSS

>>:  MySQLのスレッド実行の急増とクエリの遅延の問題を解決する

推薦する

画像プレビュー付きのアップロードフォームの完全な HTML

画像プレビュー機能付きのアップロードフォーム、完全なHTMLコードは次のとおりです。 <htm...

いくつかの面接の質問を使ってJavaScriptの実行メカニズムを調べる

目次前の単語同期と非同期前菜プレートを追加マクロタスク マイクロタスク約束しましょうタイマーを追加す...

Nginx リバース プロキシを使い始める

目次概要リバースプロキシの役割Nginx リバース プロキシ イントラネット侵入 8081 ポートの...

よく使用される Linux コマンドの完全なリスト (推奨コレクション)

目次1. システム情報2. シャットダウン(システムのシャットダウン、再起動、ログアウト) 3. フ...

DockerコンテナがSongtiなどのフォントを認識しない場合の解決策

問題の背景: docker を使用してプロジェクトをデプロイする場合、プロジェクト内で印刷コントロー...

JS正規RegExpオブジェクトについての簡単な説明

目次1. RegExpオブジェクト2. 文法2.1 定義2.2 修飾子2.3 角括弧2.4 メタ文字...

node.jsのコアモジュールとは

目次グローバルオブジェクトグローバルオブジェクトとグローバル変数プロセスコンソール一般的なツールユー...

CSS で高さが不明な垂直中央揃えを実装する

この記事では主に、高さが不明な垂直方向の中央揃えを CSS で実装する方法を紹介し、皆さんと共有しま...

Win10 での MySQL 8.0.15 のインストールと設定のチュートリアル

最近私が学んでいるのは MySQL の知識なので、MySQL をインストールすることが非常に重要です...

美しいHTMLコードの書き方

美しい HTML コードの外観 美しい HTML コードの書き方。外国人が書いた記事: 美しい HT...

vuexサードパーティパッケージを使用してデータの永続性を実装する方法

目的: vuex で管理されている状態データを同時にローカルに保存できるようにします。独自のストレー...

Node.js mysqlクライアントが認証プロトコルをサポートしていない問題を解決する

序文mysql モジュール (プロジェクト アドレスは https://github.com/mys...

JavaScriptクロージャの原理と機能の詳細な説明

目次導入クロージャの使用カレー作りパブリック変数の実装キャッシュカプセル化(属性のプライベート化)閉...

固定テーブル幅テーブルレイアウト: 固定

テーブルを画面全体(残りの空白領域)に表示するために、幅属性は 100% と定義されることが多く、セ...

MySql8 WITH RECURSIVE 再帰クエリ親子コレクションメソッド

背景コメントに似た機能を開発する場合は、必要に応じてすべてのコメントのサブセットをクエリする必要があ...