增加fast cgi进程数 php7,使用 FastCGI 模式运行 PHP7 教程
【摘要】
PHP即“超文本預處理器”,是一種通用開源腳本語言。PHP是在服務器端執行的腳本語言,與C語言類似,是常用的網站編程語言。PHP獨特的語法混合了C、Java、Perl以及 PHP 自創的語法。下面是使用 FastCGI 模式運行 PHP7 教程,讓我們一起來看看使用 FastCGI 模式運行 PHP7 教程的具體內容吧!
眾所周知,常用的跟php搭配的web server 有兩個,apache 和nginx,編譯完server之后需要配置下才可以正常解析php文件。下面我們來看下兩種服務器是如何解析php文件。
Nginx
一、主流的nginx+php的運行原理如下:
1、nginx的worker進程直接管理每一個請求到nginx的網絡請求。
2、對于php而言,由于在整個網絡請求的過程中php是一個cgi程序的角色,所以采用名為php-fpm的進程管理程序來對這些被請求的php程序進行管理。php-fpm程序也如同nginx一樣,需要監聽端口,并且有master和worker進程。worker進程直接管理每一個php進程。
3、關于fastcgi:fastcgi是一種進程管理器,管理cgi進程。市面上有多種實現了fastcgi功能的進程管理器,php-fpm就是其中的一種。再提一點,php-fpm作為一種fast-cgi進程管理服務,會監聽端口,一般默認監聽9000端口,并且是監聽本機,也就是只接收來自本機的端口請求,所以我們通常輸入命令netstat -nlpt|grep php-fpm 會得到:
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 1078/php-fpm
4、關于fastcgi的配置文件,目前fastcgi的配置文件一般放在nginx.conf同級目錄下,配置文件形式,一般有兩種:fastcgi.conf 和 fastcgi_params。不同的nginx版本會有不同的配置文件,這兩個配置文件有一個非常重要的區別:fastcgi_parames文件中缺少下列配置:fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
我們可以打開fastcgi_parames文件加上上述行,也可以在要使用配置的地方動態添加。使得該配置生效。
5、當需要處理php請求時,nginx的worker進程會將請求移交給php-fpm的worker進程進行處理,也就是最開頭所說的nginx調用了php,其實嚴格得講是nginx間接調用php。
二、nginx 配置
來看一個host的簡單配置:server {
listen 80;
server_name example.com;
location ~ \.php?.*$ {
root /home/mark/www;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
1、第一個大括號 server{ }不必多說,代表一個獨立的server
2、listen 80代表該server監聽8011端口
3、location ~ \.php?.*${ }代表一個能匹配對應uri的location,用于匹配一類uri,并對所匹配的uri請求做自定義的邏輯、配置。這里的location,匹配了所有帶.php的uri請到該location內的uri請求看做是cgi程序,并將請求發送到9000端口,交由php-fpm處理。
6、fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 動態添加了一行fastcgi配置,配置內容為SCRIPT_FILENAME,告知管理進程,cgi腳本名稱。由于我的nginx中只有fastcgi_params文件,沒有fastcgi.conf文件,所以要使php-fpm知道SCRIPT_FILENAME的具體值,就必須要動態的添加這行配置。
7、include fastcgi_params 引入fastcgi配置文件
以上就是使用 FastCGI 模式運行 PHP7 教程的內容,對PHP感興趣的小伙伴們可以關注考必過,獲取更多PHP前沿資訊和最新技術。最新消息小編會第一時間發布,助力大家考試,加油!
總結
以上是生活随笔為你收集整理的增加fast cgi进程数 php7,使用 FastCGI 模式运行 PHP7 教程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 桌面图标变大了怎么办 win7 Win7
- 下一篇: php分页样式,thinkphp分页样式