LNMP环境出现Access Denied 403错误

搭建好LNMP环境之后,出现了Access Denied错误,现已排除掉文件权限的问题也排除掉是Nginx的问题,而是无法解析PHP的问题。



发现网上的很多大牛都是通过Nginx的log来排查错误,但是打开nginx.conf发现其实我的log信息不够详细,于是希望能够配置一下log_format,于是找到这个链接http://www.pythontab.com/html/2013/linuxkaiyuan_0104/96.html来配置log_format


配置Nginx的 log_format
    ①打开nginx.conf
    ②将原来的log_format那一行删掉,用下面这部分替换  
log_format main '$remote_addr - $remote_user [$time_local] '
                     'fwf[$http_x_forwarded_for] tip[$http_true_client_ip] '
                     '$upstream_addr $upstream_response_time $request_time '
                     '$geoip_country_code '
                     '$http_host $request '
                     '"$status" $body_bytes_sent "$http_referer" '
                     '"$http_accept_language" "$http_user_agent" '

③保存退出







重启nginx

打开nginx的日志文件,找到error.log,tail -f error.log,发现如下错误


从第一行中可以发现是PHP报错,搜索问题,发现是因为php限定了php仅能运行的目录,现在只能在/tmp/文件夹下运行,所以在nginx的www-root文件夹下运行不了,所以发生了Access Denied错误



解决方案:
    ①打开php.ini文件
    ②找到open_basedir处
    ③将该行注释掉,注释掉的意思就是说php可以在任何文件夹下运行,如果希望能够在指定的文件夹下运行,则将open_basedir设定成相应的目录
    ④保存并退出

重启PHP-FPM service php-fpm restart

然后访问网页,发现解决了问题。



你可能感兴趣的:(Web,Server,Apache,PHP,Linux,Nginx)