当前位置: 首页 >> 榆树网-系统 >> 文章正文

Nginx中PHP+FastCGI配置技巧

Nginx中通过FastCGI运行php的配置

location ~ .php$ {
fastcgi_pass   127.0.0.1:8888;
fastcgi_index  index.php;
root /var/www/html;
include fastcgi.conf;
}

其中fastcgi.conf文件内容:

#fastcgi.conf
fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
fastcgi_param  SERVER_SOFTWARE    nginx;
fastcgi_param  QUERY_STRING       $query_string;
fastcgi_param  REQUEST_METHOD     $request_method;
fastcgi_param  CONTENT_TYPE       $content_type;
fastcgi_param  CONTENT_LENGTH     $content_length;
fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
fastcgi_param  REQUEST_URI        $request_uri;
fastcgi_param  DOCUMENT_URI       $document_uri;
fastcgi_param  DOCUMENT_ROOT      $document_root;
fastcgi_param  SERVER_PROTOCOL    $server_protocol;
fastcgi_param  REMOTE_ADDR        $remote_addr;
fastcgi_param  REMOTE_PORT        $remote_port;
fastcgi_param  SERVER_ADDR        $server_addr;
fastcgi_param  SERVER_PORT        $server_port;
fastcgi_param  SERVER_NAME        $server_name;
# PHP only, required if PHP was built with –enable-force-cgi-redirect
#fastcgi_param  REDIRECT_STATUS    200;

但是这个配置存在一点点小问题,所有php脚本都必须放到/var/www/html目录下,即以/var/www/html为根,但是类似Apache的Alias功能,php脚本是可以放到任何httpd可访问的任何目录,经过试验,可以通过这个方法实现:

location ~ .php$ {
fastcgi_pass   127.0.0.1:8888;
fastcgi_index  index.php;
root /var/www/html;

if ( $uri ~ ^/cacti/ ) {
root /var/www;
}

include fastcgi.conf;

}
可以根据不同的条件来修改root的位置,从这点看来,Nginx的配置还是蛮自由的。

相关文章

发表评论