uwsgi uid 和 gid 設定什麼?

uwsgi uid 和 gid 設定什麼?

我正在嘗試讓 nginx 連接到 FreeBSD 上的 uwsgi 套接字。我已將套接字設定為 666,但每當我在瀏覽器中發出請求時,我都可以在 nginx 日誌中看到以下內容:

2017/12/12 11:34:04 [crit] 1051#100213: *5 connect() to unix:/home/dashboard/dashboard/dashboard.sock failed (13: Permission denied) while connecting to upstream, client: <IP address>, server: <IP address>, request: "GET / HTTP/1.1", upstream: "uwsgi://unix:/home/dashboard/dashboard/dashboard.sock:", host: "<IP address>"

我的 nginx 流程:

root       1050   0.0  1.5  25496  7280  -  Is   11:11    0:00.00 nginx: master process /usr/local/sbin/nginx
www        1051   0.0  1.6  25496  7756  -  I    11:11    0:00.01 nginx: worker process (nginx)

我相信這是由於我的 uwsgi 進程(emeror、master 和工人)以 root 身份運行,而 nginx 以www.

我嘗試設定 uwsgi 的giduidtowww但 uwsgi 工作程序將失敗並出現以下錯誤:

*** Starting uWSGI 2.0.15 (64bit) on [Tue Dec 12 11:43:44 2017] ***
compiled with version: 4.2.1 Compatible FreeBSD Clang 4.0.0 (tags/RELEASE_400/final 297347) on 08 December 2017 10:41:56
os: FreeBSD-11.1-RELEASE-p4 FreeBSD 11.1-RELEASE-p4 #0: Tue Nov 14 06:12:40 UTC 2017     [email protected]:/usr/obj/usr/src/sys/GENERIC
nodename: newyork
machine: amd64
clock source: unix
pcre jit disabled
detected number of CPU cores: 1
current working directory: /usr/home/ruipacheco
detected binary path: /usr/local/bin/uwsgi-2.7
chdir() to /home/dashboard/dashboard
chdir(): Permission denied [core/uwsgi.c line 2591]
chdir(): Permission denied [core/uwsgi.c line 1613]
Tue Dec 12 11:43:44 2017 - [emperor] curse the uwsgi instance /home/ruipacheco/uwsgi.ini (pid: 967)
Tue Dec 12 11:43:44 2017 - [emperor] removed uwsgi instance /home/ruipacheco/uwsgi.ini

另一方面,如果我讓它以 root 身份運行,nginx 將無法連接到 root 擁有的套接字。

在 FreeBSD 上讓 nginx 與 uwsgi 套接字對話的正確步驟是什麼?

相關內容