Nginx

Django、nginx、FastCGI - 通過 unix 套接字執行,權限問題

  • October 8, 2014

我已經將 nginx 配置為通過套接字執行 django 站點:

fastcgi_pass unix:/tmp/django.socket;

現在我(手動)執行

./manage.py runfcgi socket=/tmp/django.socket

http請求導致502 bad gateway,錯誤如下:

connect() 到 unix:/tmp/django.socket 連接到上游失敗(13:權限被拒絕),

我應該設置什麼權限才能輕鬆重啟 django fcgi?

Nginx 在某個使用者下執行(在 Debian 上通常是 www-data),您可以通過以下方式檢查它:

ps aux | grep nginx | grep worker

使用者將位於第一列。

該使用者必須有權訪問 /tmp/django.socket 才能進行讀寫。您可以通過在執行 nginx 的同一使用者下執行 django 來解決它(即 Debian 上的 www-data ),或者您必須將 nginx 使用者添加到與執行 django 的使用者相同的組中,並且套接字必須具有組的讀寫權限。

第一個解決方案更簡單(對我來說)更好。

引用自:https://serverfault.com/questions/346105