Centos 7上的Nginx权限问题,Systemd中有Gunicorn套接字
我们已经搜索了无数个线程来解决这个问题,但似乎没有一个线程对我们有效。 有人能帮我解决这个nginx权限问题吗? 我已经按照本文中的建议使用非root用户安装了它 但是,我们无法访问套接字,也无法访问静态文件。 取自Centos 7上的Nginx权限问题,Systemd中有Gunicorn套接字,nginx,flask,centos,gunicorn,digital-ocean,Nginx,Flask,Centos,Gunicorn,Digital Ocean,我们已经搜索了无数个线程来解决这个问题,但似乎没有一个线程对我们有效。 有人能帮我解决这个nginx权限问题吗? 我已经按照本文中的建议使用非root用户安装了它 但是,我们无法访问套接字,也无法访问静态文件。 取自tail-f/var/log/nginx/error.log,它在访问套接字时总是产生502坏网关错误 *5 connect()到unix:/home/devops/article prod/article.sock失败(13:权限被拒绝) 并在访问静态文件时产生403禁止错误 *
tail-f/var/log/nginx/error.log
,它在访问套接字时总是产生502坏网关错误
*5 connect()到unix:/home/devops/article prod/article.sock失败(13:权限被拒绝)
并在访问静态文件时产生403禁止错误
*14 open()“/home/devops/article prod/assets/icons/types/article.png”失败(13:权限被拒绝)
这是我们的权限路径
/home/devops/article-prod/
/home/devops/article-prod/articles.sock
/home/devops/article-prod/assets
/home/devops/article-prod/assets/icons
/home/devops/article-prod/assets/icons/types
/home/devops/article-prod/assets/icons/types/article.png
drwxr-xr-x. 4 root root 34 Mar 15 03:57 home
drwxr-xr-x. 6 devops nginx 172 Mar 15 05:38 devops
drwxr-xr-x. 6 devops nginx 197 Mar 15 07:56 article-prod
srwxrwx---. 1 devops nginx 0 Mar 15 06:03 articles.sock
drwxr-xr-x. 3 devops nginx 19 Mar 15 04:56 assets
drwxr-xr-x. 4 devops nginx 36 Mar 15 04:56 icons
drwxr-xr-x. 2 devops nginx 25 Mar 15 04:56 types
-rwxr-xr-x. 1 devops nginx 1718 Mar 15 04:56 article.png
文件nginx.conf:
...
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
...
server {
listen 80;
server_name www.article.com;
location /assets/ {
root /home/devops/article-prod;
autoindex on;
}
location / {
proxy_pass http://unix:/home/devops/article-prod/articles.sock;
}
}
...
文件articles.service:
[Unit]
Description=Gunicorn instance to serve articles
After=network.target
[Service]
User=devops
Group=nginx
WorkingDirectory=/home/devops/article-prod
Environment="PATH=/home/devops/article-prod/venv/bin"
ExecStart=/home/devops/article-prod/venv/bin/gunicorn --workers 3 --bind unix:articles.sock -m 007 wsgi
[Install]
WantedBy=multi-user.target
我这样做也是为了确保devops用户在nginx组中
sudo usermod-a-G devops nginx
甚至相反
sudo usermod-a-G nginx devops
但还是不行
非常感谢您的帮助。您是否尝试禁用SELINUX?通过运行以下命令检查您的SELINUX状态:
$ sudo sestatus
$ sudo setenforce 0
如果状态为“已启用”,则可以通过运行以下命令禁用它(临时):
$ sudo sestatus
$ sudo setenforce 0
并编辑文件/etc/sysconfig/selinux
,然后将selinux=exforcing
更改为selinux=disabled
,以永久禁用它
如果需要,可以重新启动服务器
希望这将对您有所帮助我不认为对特定安全相关问题的“解决方案”是只禁用整个主机的安全性。