旗下导航:搜·么
当前位置:网站首页 > PHP教程 > 正文

nginx和php实行要求的道理引见【php教程】

作者:搜搜PHP网发布时间:2019-11-26分类:PHP教程浏览:86


导读:本篇文章给人人带来的内容是关于nginx和php实行要求的道理引见,有肯定的参考价值,有须要的朋侪能够参考一下,愿望对你有所协助。起首先相识下常据说的cgi,php-cgi...
本篇文章给人人带来的内容是关于nginx和php实行要求的道理引见,有肯定的参考价值,有须要的朋侪能够参考一下,愿望对你有所协助。

起首先相识下常据说的cgi,php-cgi,fastcgi,php-fpm究竟是什么关系,协助相识php的事情道理

cgi协定

cgi协定用来肯定webserver(比方nginx),也就是内容分发服务器通报过来什么数据,什么样花样的数据

php-cgi历程诠释器

php-cgi是php的cgi协定历程诠释器,每次启动时,须要阅历加载php.ini文件->初始化实行环境->处置惩罚要求->返回内容给webserver->php-cgi历程退出的流程

fastcgi协定

fastcgi协定是对cgi协定效力提拔的补充,主假如针对每次要求过来时都须要启动一个cgi诠释器历程的优化,不再须要cgi诠释器历程每次收到webserver要求后都须要从新加载php.ini文件和初始化实行环境

php-fpm历程管理器

php-fpm是对fastcgi协定的完成,是历程管理器,启动时包含master和worker历程俩部份,master历程监听端口,吸收来自webserver要求,worker历程平常具有多个,每一个worker历程都有一个cgi历程诠释器,用来实行php代码

php启动和事情道理

启动phpfpm时,会启动master历程,加载php.ini文件,初始化实行环境,并启动多个worker历程。每次要求来时会将要求通报给worker历程举行处置惩罚

php腻滑重启道理

每次修正完php.ini设置并重启后,会启动新的worker历程加载新的设置,而之前已存在的历程会在事情完成以后烧毁,因而完成腻滑重启

nginx事情道理

假如想弄邃晓nginx和php合营的道理,还须要先相识nginx的设置文件中的server部份

server {
    listen       80; #监听80端口,吸收http要求
    server_name  www.example.com; #平常寄存网址,示意设置的哪一个项目
    root /home/wwwroot/zensmall/public/; # 寄存代码的根目录地点或代码启动进口
    index index.php index.html; #网站默认首页
    
    #当要求网站的url举行location的前缀婚配且最长婚配字符串是该设置项时,按递次搜检文件是不是存在,并返回第一个找到的文件
    location / {
          #try_files,按递次搜检文件是不是存在,返回第一个找到的文件
          #$uri代表不带要求参数的当前地点
          #$query_string代表要求照顾的参数
          try_files   $uri $uri/ /index.php?$query_string; #按递次搜检$uri文件,$uri地点是不是存在,假如存在,返回第一个找到的文件;假如都不存在,提议接见/index.php?$query_string的内部要求,该要求会从新婚配到下面的location要求
    }
    
     #当要求网站的php文件的时刻,反向代理到php-fpm去处置惩罚
    location ~ \.php$ {
          include       fastcgi_params; #引入fastcgi的设置文件
          fastcgi_pass   127.0.0.1:9000; #设置php fastcgi历程监听的IP地点和端口
          fastcgi_index  index.php; #设置首页文件
          fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name; #设置剧本文件要求的途径
    }
}

上面server设置的团体寄义是:每次nginx监听到80端口的url要求,会对url举行location婚配。假如婚配到/划定规矩时,会举行内部要求重定向,提议/index.php?$query_string的内部要求,而对应的location设置划定规矩会将要求发送给监听9000端口的php-fpm的master历程

总结

下面总结下最简朴的用户要求流程:

用户接见域名->域名举行DNS剖析->要求到对应IP服务器和端口->nginx监听到对应端口的要求->nginx对url举行location婚配->实行婚配location下的划定规矩->nginx转发要求给php->php-fpm的master历程监听到nginx要求->master历程将要求分配给个中一个闲置的worker历程->worker历程实行要求->worker历程返回实行效果给nginx->nginx返回效果给用户

以上就是nginx和php实行要求的道理引见的细致内容,更多请关注ki4网别的相干文章!

标签:phpnginx