谈谈php中的fastcgi和php-fpm!

谈谈php中的fastcgi和php-fpm!

fastcgi 是一个与平台无关,与语言无关,任何语言只要按照它的接口来实现,就能实现自己语言的fastcgi能力和web server 通讯。

PHP-CGI就是PHP实现的自带的FastCGI管理器。

FastCGI 是一个协议,它是应用程序和 WEB 服务器连接的桥梁。Nginx 并不能直接与 PHP-FPM 通信,而是将请求通过 FastCGI 交给 PHP-FPM 处理。

php$ { try_files $uri /index.php =404; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_buffers 16 16k; fastcgi_buffer_size 32k; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }" title="" data-original-title="复制">

 location ~ \.php$ {
    try_files $uri /index.php =404;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_buffers 16 16k;
    fastcgi_buffer_size 32k;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
}

这里 fastcgi_pass 就是把所有 php 请求转发给 php-fpm 进行处理。通过 netstat 命令可以看到,127.0.0.1:9000 这个端口上运行的进程就是 php-fpm.

1.jpg

开启php-fpm方式:

php-fpm -R >/dev/null 2>&1 &" title="" data-original-title="复制">

# nohup /usr/sbin/php-fpm -R >/dev/null 2>&1 &

查看php运行目录命令:

php /usr/bin/php" title="" data-original-title="复制">

which php
/usr/bin/php

重启php-fpm:

php-fpm restart" title="" data-original-title="复制">

/etc/init.d/php-fpm restart

相关教程推荐:《PHP教程》

以上就是谈谈php中的fastcgi和php-fpm!的详细内容,更多请关注其它相关文章!