我正在尝试设置新安装的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绑定。
- 我已经将整个
/extra
目录的所有权(用户和组)设置为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