让 PHP 与 nginx 一起工作?

让 PHP 与 nginx 一起工作?

我正在尝试让 nginx 在我的 ubuntu 临时服务器上与 PHP 一起运行。Nginx 本身可以很好地处理静态*.html文件,但浏览器调用的任何 PHP 文件都会将代码输出为纯文本,这无疑意味着 PHP 无法正常工作。我正在调用http://192.168.1.100/test.php它输出 /var/www 文件夹中 test.php 的内容。

我尝试过各种解决方案,但本指南作为使 nginx 工作的主要方式,目前它还不支持如上所述的 PHP 文件。

我的/etc/nginx/sites-enabled/default样子如下:

server {

        listen   80; ## listen for ipv4
        listen   [::]:80 default ipv6only=on; ## listen for ipv6
        server_name  localhost;

        access_log  /var/log/nginx/localhost.access.log;

        location / {
                root   /var/www;
                index  index.html index.htm index.php;
                allow all;
        }

        location ~ .php$ {
          fastcgi_pass   127.0.0.1:9000;  # By all means use a different server$
          fastcgi_index  index.php;

          fastcgi_param  SCRIPT_FILENAME  /var/www$fastcgi_script_name;   # !! $
          fastcgi_param  QUERY_STRING     $query_string;
          fastcgi_param  REQUEST_METHOD   $request_method;
          fastcgi_param  CONTENT_TYPE     $content_type;
          fastcgi_param  CONTENT_LENGTH   $content_length;
        }


}

运行netstat -plan | grep :9000输出tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 1352/php5-cgi,显然 PHP 正在运行。

我做错了什么以及应该做哪些改变才能使其正常工作?

答案1

我不知道哪里出了问题。我将 VPS 重置为全新安装映像,尝试了一个完全不同的教程,http://www.howtoforge.com/installing-nginx-with-php5-and-php-fpm-and-mysql-support-on-ubuntu-10.10-p2,效果非常好!

相关内容