nginx禁止访问文件,nginx反向代理后为什么访问php文件会提示404?

用户投稿 229 0

关于“nginx禁止执行php文件”的问题,小编就整理了【3】个相关介绍“nginx禁止执行php文件”的解答:

nginx反向代理后为什么访问php文件会提示404?

可能的原因:

nginx配置有误,没有将请求转发到正确的处理程序(如php-fpm等),转发到一个不存在着的路径

请求已经转发到php处理程序,但php处理程序配置没有找到对应的脚本

php已经处理了脚本,但代码里返回了一个404的状态码

window+nginx+php环境配置,附配置搭配说明?

1,下载PHP

  php下载版本比较多,其中,

  vc9=vs2008编译,推荐使用IIS+php搭配模式,

  vc6=vs6编译,推荐使用apache+php方式搭配,

  Thread Safe,线程安全,执行时会进行线程(Thread)安全检查,以防止有新要求就启动新线程的CGI执行方式而耗尽系统资源。Non Thread Safe是非线程安全,在执行时不进行线程(Thread)安全检查。

  Non Thread Safe,

  再来看PHP的两种执行方式:ISAPI和FastCGI。

  ISAPI执行方式是以DLL动态库的形式使用,可以在被用户请求后执行,在处理完一个用户请求后不会马上消失,所以需要进行线程安全检查,这样来提高程序的执行效率,所以如果是以ISAPI来执行PHP,建议选择Thread Safe版本;

  而FastCGI执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,所以,如果是以FastCGI来执行PHP,建议选择Non Thread Safe版本。

  官方并不建议你将Non Thread Safe 应用于生产环境,所以我们选择Thread Safe 版本的PHP来使用。

nginx反向代理403有哪些原因?

nginx代理出现403异常,可通过以下几个原因排查:

一、由于启动用户和nginx工作用户不一致所致

1.1查看nginx的启动用户,发现是nobody,而为是用root启动的

命令:ps aux | grep "nginx: worker process" | awk'{print $1}'

1.2将nginx.config的user改为和启动用户一致,

命令:vi conf/nginx.conf

二、缺少index.html或者index.php文件,就是配置文件中index index.html index.htm这行中的指定的文件。

1. server {

2. listen 80;

3. server_name localhost;

4. index index.php index.html;

5. root /data/www/;

6. }

如果在/data/www/下面没有index.php,index.html的时候,直接文件,会报403 forbidden。

三、权限问题,如果nginx没有web目录的操作权限,也会出现403错误。

解决办法:修改web目录的读写权限,或者是把nginx的启动用户改成目录的所属用户,重启Nginx即可解决

到此,以上就是小编对于“nginx禁止执行php文件”的问题就介绍到这了,希望介绍关于“nginx禁止执行php文件”的【3】点解答对大家有用。

抱歉,评论功能暂时关闭!