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のスレッド実行の急増とクエリの遅延の問題を解決する

推薦する

Linux のプロセスクラッシュの原因をコアダンプ技術を使用して追跡する簡単な分析

最近、プロジェクトで問題が発生しました。サーバー側のプログラムが突然クラッシュして終了しました。クラ...

JavaScriptのプリミティブ値とラッパーオブジェクトの詳細な紹介

目次序文文章プリミティブ型プリミティブ値ラッパーオブジェクト物体コンストラクタ通常機能(関数)プリミ...

異なるデータベースで DROP TABLE を書く方法

異なるデータベースで DROP TABLE を書く方法1.MySQL 存在する場合はテーブルを削除 ...

HTML におけるスクリプトの配置に関する簡単な説明

以前は、スクリプトは HTML 内のどこにでも配置できると思っていましたが、今日、要件に取り組んでい...

HTML 文法百科事典_HTML 言語文法百科事典 (必読)

ボリュームラベル、プロパティ名、説明002 <! - - ... - -> コメント00...

Angularルーティングの基礎の詳細な説明

目次1. ルーティング関連オブジェクト2. ルーティングオブジェクトの場所3. ルーティング構成4....

MySQL マスター/スレーブ ステータスを監視するシェル スクリプト

Linuxでシェルスクリプトを共有して、MySQLのマスタースレーブ状態を監視し、エンタープライズW...

MySQL のグループ分けの例

mysql のような php switch case ステートメント。 xxフィールドを選択、ケース...

MYSQLデータベースの最適化段階を簡単に理解する

導入面接官がこんな質問をしたことはありませんか?データベースをどのように最適化しますか?では、この質...

MySQL 5.7.21 解凍版インストール Navicat データベース操作ツールインストール

MySQL解凍版とNavicatデータベース操作ツールのインストールは、以下のとおりです。 1. M...

Django は Pillow を使用して検証コード機能を簡単に設定します (Python)

1. モジュールをインポートし、検証状態を定義する PIL から Image、ImageDraw、...

Kafka の Docker デプロイメントと Spring Kafka 実装

この記事は主にDockerによるKafkaのデプロイとSpring Kafkaの実装について紹介しま...

CocosCreator ユニバーサルフレームワークデザインネットワーク

目次序文Websocketの使用Websocketオブジェクトの構築Websocket ステータスW...

MySQLフィールド定義でnullを使用しない理由の分析

NULL が頻繁に使用されるのはなぜですか? (1)Javaのnull Java の NullPoi...

廃止された Docker は Podman に置き換えられますか?

Kubernetes チームは最近、最新バージョンの Docker でサポートされている機能を廃止...