1 FastCGI发送到stderr: "Primary script unknown"
1 FastCGI发送到stderr: "Primary script unknown"
我第一次使用Nginx,但对于Apache和Linux我非常熟悉。我正在使用一个现有的项目,但每当我尝试查看index.php时,都会出现404文件未找到的错误。
这是access.log的条目:
2013/06/19 16:23:23 [error] 2216#0: *1 FastCGI在从上游读取响应头时发送了“未知的主要脚本”错误,客户端:127.0.0.1,服务器:localhost,请求:“GET /index.php HTTP / 1.1”,上游:“fastcgi://127.0.0.1:9000”,主机:“www.ordercloud.lh”
这是sites-available文件的内容:
server {
# 只有在不运行多个虚拟主机时,才建议监听端口80而不是IP地址
listen 80;
# 绑定到与您的域名绑定的公共IP
# listen 127.0.0.11:80;
# 指定此虚拟主机的域名
server_name www.ordercloud.lh;
root /home/willem/git/console/frontend/www;
index index.php index.html index.htm;
# 指定当前站点的日志位置
access_log /var/log/access.log;
error_log /var/log/error.log warn;
# 通常我会创建一个restrictions.conf文件,然后在所有的vhosts中进行包含
#include conf.d/restrictions.conf;
# 我已经将restrictions.conf的内容内联到了这个示例中
# BEGIN restrictions.conf
# 禁用favicon的日志记录
location = /favicon.ico {
log_not_found off;
access_log off;
}
# 禁用robots.txt的日志记录
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
# 拒绝访问隐藏文件,如.htaccess、.htpasswd、.DS_Store(Mac)
location ~ /\. {
deny all;
access_log off;
log_not_found off;
}
# END restrictions.conf
# 通常我会创建一个yiiframework.conf文件,然后在所有的yii vhost中进行包含
#include conf.d/yiiframework.conf;
# 我已经将yiiframework.conf的内容内联到了这个示例中
# BEGIN yiiframework.conf
# 阻止访问protected、framework和nbproject(Netbeans的产物)
location ~ /(protected|framework|nbproject) {
deny all;
access_log off;
log_not_found off;
}
# 阻止访问theme-folder views目录
location ~ /themes/\w+/views {
deny all;
access_log off;
log_not_found off;
}
# 尝试uri、uri+ /,然后回退到带有参数的yii的index.php
# 注意:旧示例使用IF语句,nginx认为IF语句是不好的,这种方法得到了更广泛的支持
location / {
try_files $uri $uri/ /index.php?$args;
}
# END yiiframework.conf
# 告诉浏览器缓存图像文件24小时,不记录丢失的图像
# 我通常将这个规则放在yii规则之后,这样就不会与Yii提供的内容产生冲突
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
expires 24h;
log_not_found off;
}
# 处理PHP文件的块
# 特别匹配以.php结尾的URI
location ~ \.php$ {
try_files $uri =404;
fastcgi_intercept_errors on;
# 修复在nginx/php-fpm下与通常预期的不同行为的服务器变量
#fastcgi_split_path_info ^(.+\.php)(/.+)$;
# 包含nginx附带的标准fastcgi_params文件
include fastcgi_params;
#fastcgi_param PATH_INFO $fastcgi_path_info;
#fastcgi_index index.php;
# 覆盖fastcgi_params设置的SCRIPT_FILENAME变量
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
# 传递给上游的PHP-FPM;这必须与您命名的上游连接相匹配
fastcgi_pass 127.0.0.1:9000;
}
}
我的/home/willem/git/console
的所有者是www-data:www-data(运行php等的web用户),我已经给它授予了777权限,但仍然无法解决问题...
有人可以提供建议吗?