1 FastCGI发送到stderr: "Primary script unknown"

23 浏览
0 Comments

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权限,但仍然无法解决问题...

有人可以提供建议吗?

0