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

推薦する

JSで実現したページサイドバーの効果に関する研究

目次発見: ディスプレイアニメーションの応用実装:記事の1行目を表示する効果を実現する方法実際、その...

Windows システムに mysql5.7.21 をインストールするための詳細なチュートリアル

MySQL インストーラーは、MySQL ソフトウェアのあらゆるニーズに対応する、使いやすいウィザー...

Vue2は応答性を提供するためにprovide injectを実装しています

1. vue2 での従来の書き方 // 親コンポーネントは 'foo' を提供します...

CSSインジェクションの知識の要約

最近のブラウザでは、CSS 内で JavaScript を実行することはできなくなりました。以前は、...

CocosCreator 入門チュートリアル: ネットワーク通信

ネットワーク通信の概要オンライン ゲームを開発する場合、必然的にネットワーク通信に対処する必要があり...

nginxとlvsのメリットとデメリット、そして適切な使用環境

まず最初に、ロード バランシングとは何かについて説明します。ロード バランシングとは、リクエストの内...

Ubuntu 18.04で国内ソースを変更する方法の例

Ubuntu はソースが中国からなのでダウンロード速度が比較的遅いです。CentOS と異なり、yu...

IDEA は Docker プラグインを使用します (初心者向けチュートリアル)

目次例示する1. Dockerリモートアクセスを有効にする2. Dockerに接続する3. イメージ...

私のCSSアーキテクチャのコンセプト - それは人によって異なり、ベストなものはなく、適切なものだけがある

はじめに<br />私はフロントエンド分野でかなり長い間働いており、CSS分野でも長い間...

JavaScript はスローモーションアニメーションのカプセル化と使用法を説明します

プロセス分析の実装(1)繰り返して電話をかけるには?答え: 関数をカプセル化して一度だけ呼び出すコー...

Javascript のスコープとクロージャの詳細

目次1. 範囲2. スコープチェーン3. 語彙の範囲5. 閉鎖の適用6. クロージャの欠陥7. 閉会...

Docker MQTT のインストールと使用のチュートリアル

MQTT の紹介MQTT (Message Queuing Telemetry Transport)...

JavaScript のフラット配列をツリー構造に変換する例

目次バックグラウンドで10,000個のデータが失われた再帰法非再帰的方法要約するバックグラウンドで1...

MySQLデータのグループ化の詳細な説明

グループを作成グループ化は、SELECT ステートメントの GROUP BY 句で設定されます。例:...

MySQLで時間別データと最後の時間別データの差をクエリするアイデアの詳細な説明

1. はじめに要件は、特定の時間範囲内で、1 時間ごとのデータと前の 1 時間ごとのデータの差と比率...