Skip to main content

Yaf Nginx with php-fpm socket

Nginx+Php-fpm socket+Yaf

折腾了很久Yaf+Nginx在php-fpm的socket模式下的配置,总结如下:

PHP设置

为了在nginx下使用,Php需要使用fix path info。打开php配置,加上如下配置:

cgi.fix_pathinfo=1  

Nginx设置

Nginx下的Server节点中配置如下:

if (!-e $request_filename) {  
    rewrite ^/(.*)$ /index.php/$1 last;
}
location / {  
    include /etc/nginx/conf.d/fastcgi_params;
    fastcgi_pass unix:/var/php-nginx/14774481332305.sock/socket;
}

Nginx php-fpm设置

在/etc/nginx/conf.d/中创建fastcgi_params:

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;