Nginx 权限拒绝连接到 .socket
Nginx perimission denied connecting to .socket
正在尝试使用 nginx 代理 gunicorn 套接字。
/etc/systemd/system/gunicorn.service
文件
[Unit]
Description=gunicorn daemon
After=network.target
[Service]
User=www-data
Group=www-data
WorkingDirectory=/root/PSite/blog
ExecStart=/root/PSite/blog/blog/venv/bin/gunicorn --access-logfile - --workers 3 --bind unix:/root/PSite/blog/blog.sock blog.wsgi:application
[Install]
WantedBy=multi-user.target
/etc/nginx/sites-available/blog
文件
server {
listen 80;
server_name server_domain_or_IP;
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /root/PSite/blog;
}
location / {
include proxy_params;
proxy_pass http://unix:/root/PSite/blog/blog.sock;
}
}
然后我启动守护进程:systemctl start gunicorn
在 运行 systemctl status gunicorn
之后抛出错误:
EXEC 生成/root/PSite/blog/blog/venv/bin/gunicorn:权限被拒绝
所有文件夹和文件归 www-data:www-data 所有。
如果我将 gunicorn 用户更改为 root
,它会创建代理,但 nginx 日志显示它没有权限。
有什么问题?
以非 root 用户身份 运行 您的服务非常安全。但是,您尝试将文件存储在“/root”下,这使问题变得复杂,这仅供 "root" 用户访问。
尝试将您的 "PSite" 站点文件夹从“/root”移动到一个中性位置,例如“/var/www/PSite”。
正在尝试使用 nginx 代理 gunicorn 套接字。
/etc/systemd/system/gunicorn.service
文件
[Unit]
Description=gunicorn daemon
After=network.target
[Service]
User=www-data
Group=www-data
WorkingDirectory=/root/PSite/blog
ExecStart=/root/PSite/blog/blog/venv/bin/gunicorn --access-logfile - --workers 3 --bind unix:/root/PSite/blog/blog.sock blog.wsgi:application
[Install]
WantedBy=multi-user.target
/etc/nginx/sites-available/blog
文件
server {
listen 80;
server_name server_domain_or_IP;
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /root/PSite/blog;
}
location / {
include proxy_params;
proxy_pass http://unix:/root/PSite/blog/blog.sock;
}
}
然后我启动守护进程:systemctl start gunicorn
在 运行 systemctl status gunicorn
之后抛出错误:
EXEC 生成/root/PSite/blog/blog/venv/bin/gunicorn:权限被拒绝
所有文件夹和文件归 www-data:www-data 所有。
如果我将 gunicorn 用户更改为 root
,它会创建代理,但 nginx 日志显示它没有权限。
有什么问题?
以非 root 用户身份 运行 您的服务非常安全。但是,您尝试将文件存储在“/root”下,这使问题变得复杂,这仅供 "root" 用户访问。
尝试将您的 "PSite" 站点文件夹从“/root”移动到一个中性位置,例如“/var/www/PSite”。