系统相关
首页 > 系统相关> > 12.04 – Nginx / PHP-FPM“访问被拒绝.”错误

12.04 – Nginx / PHP-FPM“访问被拒绝.”错误

作者:互联网

我正在尝试设置一个新安装的Ubuntu(12.04)服务器,但我无法通过php-fpm运行PHP文件.无论我做什么,我总是得到“拒绝访问”.页面(纯文本,而不是HTML或任何东西).

安装包:

nginx
nginx-common
nginx-full
php5
php5-cli
php5-common
php5-fpm

配置细节:

PHP-FPM:

user = www-data
group = www-data
listen = /var/run/php5-fpm.sock

Nginx的:

user www-data;
worker_processes 3;
events { worker_connections 1024; }

默认/测试域:

server {
    listen       80;
    server_name  localhost;
    root         /extra/htdocs/default;
    index        index.html index.php

    access_log   /extra/logs/default/access.log;
    error_log    /extra/logs/default/error.log;

    location / {
        try_files  $uri $uri/ /index.html;
    }

    location ~ \.php
    {
        fastcgi_split_path_info  ^(.+\.php)(/.+)$;

        include fastcgi_params;

        fastcgi_index   index.php;
        fastcgi_pass    unix:/var/run/php5-fpm.sock;
        fastcgi_param   PATH_INFO         $fastcgi_path_info;
        fastcgi_param   PATH_TRANSLATED   $document_root$fastcgi_path_info;
        fastcgi_param   SCRIPT_FILENAME   $document_root$fastcgi_script_name;
    }
}

/extra/htdocs/default/index.php:

<?php
phpinfo();

其他一切都是默认的. Nginx和php-fpm日志都没有显示错误.然而,当我加载http://< server-ip> /index.php时,我得到了“拒绝访问”页面.

故障排除:

> index.html文件工作得很好.因此它必须是php-fpm,或Nginx和php-fpm之间的fastcgi绑定.
>我已经将整个/额外目录的所有权(包括用户和组)设置为www-data,并将所有权设置为777,这是肯定的(当然,我会在它工作时将其调低).所以它肯定不是权限问题
>这不是我看到的security.limit_extensions问题:默认设置为.php,这正是我要求的.我明确地将它设置为.php .html,结果相同.

我真的厌倦了这个,我已经安装了两次这个设置(尽管在OSX机器上),一切都运行得很完美.有什么我可以忽略的吗?

日志内容:

Nginx错误日志为空.

Nginx访问日志(删除ip):

<ip> - - [17/Jul/2012:11:21:25 +0200] "GET /favicon.ico HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.57 Safari/536.11"
<ip> - - [17/Jul/2012:11:21:28 +0200] "GET /index.php HTTP/1.1" 403 46 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.57 Safari/536.11"
<ip> - - [17/Jul/2012:11:21:34 +0200] "-" 400 0 "-" "-"

php-fpm日志:

[17-Jul-2012 10:44:14] NOTICE: fpm is running, pid 4969
[17-Jul-2012 10:44:14] NOTICE: ready to handle connections

解决方法:

最后修好了.

罪魁祸首是我的配置中的这一行:

fastcgi_param   PATH_TRANSLATED     $document_root$fastcgi_path_info;

如果我评论这一行,一切都很好.但是我几乎在每一篇关于Nginx配置的帖子中都看到了这一点,所以它让我感到困扰.在第一百万次查看我的配置时,我看到cgi.fix_pathinfo(在php.ini中)设置为0,它应该是1. PHP使用的默认值也是1,所以我必须在我的调试时间,因为我记得读过这个值,并认为它设置正确.

无论如何,也许它可以帮助任何人谷歌搜索这个问题.

标签:php,nginx,12-04
来源: https://codeday.me/bug/20190808/1616435.html