nginx - Unable to open primary script

前端 未结 4 915
独厮守ぢ
独厮守ぢ 2020-12-31 00:22

I got error message:

FastCGI sent in stderr: \"Unable to open primary script: /home/messi/web/wordpress/index.php (No such file or directory)\" while reading r

4条回答
  •  孤城傲影
    2020-12-31 01:02

    It was SELinux in my case as well. I read some documentation found here:

    https://wiki.centos.org/HowTos/SELinux
    https://linux.die.net/man/1/chcon

    and ended up with the command:

    chcon -R -v --type=httpd_sys_content_t html/
    

    ....this changed the context of the files to the httpd type which is what my web server (Nginx) was running as.

    You can find what context your web server runs as using:

    ps axZ | grep nginx
    

    ....which in my case gave me:

    system_u:system_r:**httpd_t**:s0      6246 ?        Ss     0:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
    system_u:system_r:**httpd_t**:s0      6249 ?        S      0:00 nginx: worker process
    

    Seeing the context of the running service was httpd_t I changed the context of my web site's root folder to that (recursively)

    The point of SELinux is to only allow services and processes to access files of the same type as them. Since the web server ran as httpd_t than it made sense to set the context of the files/folder in the site to the same.

    I'm new at this by the way.... But this seemed to be the best approach to me. It kept SELinux enabled, didn't lessen the security of what it does, nad matched up context of the files with the process/service.

提交回复
热议问题