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 特殊文字変換表

キャラクター小数点文字番号エンティティ名---未使用空間---スペースバー! ! ---感嘆符「 」...

Linux で docker-compose を使用したソフトウェア構成の詳細な説明

序文この記事では、docker-compose の構成をいくつか紹介します。これらを参考にして、独自...

VMware 仮想マシン (CentOS7 イメージ) を使用して Linux をインストールする

1. VMwareのダウンロードとインストールリンク: https://www.jb51.net/s...

Linux オペレーティング システムの概要と紹介

目次1. オペレーティングシステムとは何か2. Linuxの起源3. Linuxの基本機能4. Li...

検証例 MySQL | 同じ値を持つフィールドを更新すると、binlog に記録されます

1. はじめに数日前、開発仲間から、フィールドを同じ値に更新すると binlog が記録されるかどう...

CSS3 box-shadow プロパティの詳細な例

CSS3 - 影の追加(ボックスシャドウの使用) CSS3 - div またはテキストに影を追加する...

フェッチネットワークリクエストのカプセル化例の詳細な説明

エクスポートデフォルト({ URL、 メソッド = 'GET'、 データ = nu...

CentOS7.4 に MySQL 5.7.26 をインストールするための詳細なチュートリアル

CentOS にはデフォルトで MariaDB がインストールされていますが、これは MySQL の...

MySQLの手順を完全に削除する

目次1. まずMySQLサーバーを停止する2. MySQLサーバーをアンインストールする3. MyS...

Vue ログインページでクッキーを使用してパスワードを 7 日間記憶する方法

問題の説明プロジェクトのログインページでは、7日間パスワードを記憶する必要がある機能があります。この...

JavaScript WebAPI、DOM、イベント、操作要素例の詳しい説明

目次ウェブAPI DOM DOMツリーDOM要素取得方法ドキュメントオブジェクトのプロパティイベント...

ミニマルなウェブサイトデザインの例

Web アプリケーション クラス1. みんなのためにダウンまたは私だけのためにこのウェブサイトは、ウ...

自動ヘルスレポートを実現するDocker+Selenium方式

この記事では、ある大学の健康報告システムを例に、Web 側の自動化操作を完成させます。使用したテクノ...

OneProxy に基づいて MySQL の読み取り/書き込み分離と負荷分散を実装する

導入パート1: 冒頭に書いたOneProxy は、民間ソフトウェアによって完全に独立して開発された分...

CentOS6.5にpython3.7をインストールする詳細な手順

1. Python 3をダウンロードする https://www.python.org/ftp/py...