LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1234|回复: 3

请求nginx与PHP配置问题

[复制链接]
发表于 2009-10-11 02:25:06 | 显示全部楼层 |阅读模式
我这里也出现了这样的问题,

WEB目录我设置为/home/httproot   目录的权限是700,
drwx------  2 http  http   4096 10月 11 02:05 httproot

问题是这样的:在浏览器里访问静态文件时正常,但一访问php文件时就无任何显示,看access.log文件得知访问都是500请求,而访问像html这样的文件时是正常的200。

nginx.conf设置是这样的
  1. user http http;
  2. worker_processes  8;
  3. error_log  logs/error.log crit;
  4. #pid        logs/nginx.pid;
  5. #Specifies the value for maximum file descriptors that can be opened by this process.
  6. worker_rlimit_nofile 65535;
  7. events {
  8.         use epoll;
  9.     worker_connections  65535;
  10. }
  11. http {
  12.     include       mime.types;
  13.     default_type  application/octet-stream;
  14.         #charset utf-8;
  15.         server_names_hash_bucket_size 128;
  16.         client_header_buffer_size 32k;
  17.         large_client_header_buffers 4 32k;
  18.         client_max_body_size 8m;
  19.     #access_log  logs/access.log  main;
  20.     sendfile        on;
  21.     tcp_nopush     on;
  22.     #keepalive_timeout  0;
  23.     keepalive_timeout  65;
  24.     tcp_nodelay on;
  25.         fastcgi_connect_timeout 300;
  26.         fastcgi_send_timeout 300;
  27.         fastcgi_read_timeout 300;
  28.         fastcgi_buffer_size 64k;
  29.         fastcgi_buffers 4 64k;
  30.         fastcgi_busy_buffers_size 128k;
  31.         fastcgi_temp_file_write_size 128k;
  32.     gzip on;
  33.         gzip_min_length    1k;
  34.     gzip_buffers    4 16k;
  35.     gzip_http_version 1.0;
  36.     gzip_comp_level 2;
  37.     gzip_types    text/plain application/x-javascript text/css application/xml;
  38.     gzip_vary on;
  39.         #vhosts settings
  40.         include vhosts.conf;
  41. }
复制代码

vhosts.conf文件配置是这样的:
  1. server {
  2.         listen       80;
  3.         server_name  localhost;
  4.         index index.html index.php;
  5.         root   /home/httproot;
  6.         autoindex on;
  7.        
  8.         #error_page  404              /404.html;
  9.         location / {
  10.                 root /home/httproot;
  11.                 index index.html index.php;
  12.         }
  13.         location ~ .*\.php?$ {
  14.                 root /home/httproot;
  15.                 include fastcgi_params;
  16.                 fastcgi_pass 127.0.0.1:9000;
  17.                 fastcgi_index index.php;
  18.         }
  19.         location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
  20.                 expires      30d;
  21.         }
  22.         location ~ .*\.(js|css)?$ {
  23.                 expires      1h;
  24.         }   
  25.         log_format main '$remote_addr - $remote_user [$time_local] "$request" '
  26.                 '$status $body_bytes_sent "$http_referer" '
  27.                 '"$http_user_agent" $http_x_forwarded_for';
  28.         access_log /var/log/nginx/access.log main;
  29. }
复制代码

看日志中error.log中没有任何输出,在access.log中的输出像这样的:
  1. 127.0.0.1 - - [11/Oct/2009:02:13:05 +0000] "GET /index.php HTTP/1.1" 500 5 "-" "Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/532.2 (KHTML, like Gecko) Chrome/4.0.221.8 Safari/532.2" -
复制代码

在启动nginx之前我使用过如下命令:
  1. spawn-fcgi -a 127.0.0.1 -p 9000 -c 16 -u http -f php-cgi
复制代码
并提示成功!

感觉问题还是出在nginx与PHP之间的通信上,但不知如何解决。请高人教我看看!
 楼主| 发表于 2009-10-12 20:29:56 | 显示全部楼层
没人知道吗?还真不好办啊
回复 支持 反对

使用道具 举报

发表于 2009-10-31 16:04:06 | 显示全部楼层
看你的配置,理论上没问题
include fastcgi_params;
这里面的内容也贴出来看看吧
回复 支持 反对

使用道具 举报

发表于 2009-11-6 15:54:18 | 显示全部楼层
如果没有猜错的话应该是在fastcgi_params里面把
fastcgi_param  SCRIPT_FILENAME    $fastcgi_script_name;
改成
fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
就可以了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表