简体   繁体   中英

Nginx stat() failed (13: Permission Denied)

Okay so there have been some previous posting of this yet no solution fixes my problem.

I have site configured which is just straight up HTML, CSS & JS and I'm trying to add a wordpress site. My config for the wordpress site is as follows.

#######################

server {
listen 80;

root /usr/share/nginx/threadtheatre/wordpress;
index index.php;
server_name threadtheatre.co.uk;

access_log   /var/log/nginx/thread.access.log;
    error_log    /var/log/nginx/thread.error.log;

location / {

            # try_files $uri $uri/ =404;
            try_files $uri $uri/ /index.php?q=$uri&$args;
}
    error_page 404 /404.html;

    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
            root /usr/share/nginx/html;
    }

    location ~ \.php$ {
            try_files $uri =404;
            fastcgi_split_path_info ^(.+\.php)(/.+)$;
            fastcgi_pass unix:/var/run/php-fpm.sock;
            fastcgi_index index.php;
            include fastcgi_params;
    }

}

This is the error thats in my logs

"/usr/share/nginx/threadtheatre/wordpress/index.php" failed (13: Permission denied), client: 109.155.53.189, server: threadtheatre.co.uk, request: "GET / HTTP/1.1", host: "threadtheatre.co.uk"

nginx is using the nginx user and likewise for php-fpm. The nginx directory and all its sub directories have the following permissions.

drwxrwxr-x.  3 root nginx  4096 Feb  8 18:23 ..

If I browse to threadtheatre.co.uk on the web i get 404.

hope someone can help with this.

Lee.

Do you still have this problem? This explanation worked for me: https://serverfault.com/a/170263/140684

basically nginx needs to have execution rights on every dir on the path to your app. Hope this helps.

for me this is because selinux enabled, check with

selinuxenabled && echo enabled || echo disabled

if enabled try to disable

nano /etc/sysconfig/selinux
SELINUX=disabled

then

reboot

Have you given permissions with -R?

chown -R nginx /usr/share/nginx/threadtheatre/wordpress/
chmod -R 644 /usr/share/nginx/threadtheatre/wordpress/

如果nginx托管在FedoraRedHat ,请更改SELinux策略并允许nginx从路径/ home / path / site提供服务

chcon -R -t httpd_sys_content_t /home/path/site

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM