PHP中client和nginx简易交互步骤如下:
- step1:client发起http请求
 - step2:dns服务器解析域名得到主机ip
 - step3:默认端口为80,通过ip+port建立tcp/ip链接
 - step4:建立连接的tcp/ip三次握手,建立成功发送数据包
 - step5:nginx匹配请求
- case .html: 静态内容,分发静态内容响应
 - case .php: php脚本,转发请求内容到php-fpm进程,分发php-fpm返回的内容响应
 
 - step6:断开连接的tcp/ip四次握手,断开连接
 
nginx和php简易交互过程
背景:web server和服务端语言交互依赖的是cgi(Common Gateway Interface)协议,由于cgi效率不高,后期产生了fastcgi协议(一种常驻型的cgi协议),php-cgi实现了fastcgi,但是相比php-cgi,php-fpm提供了更好的PHP进程管理方式,可以有效控制内存和进程、可以平滑重载PHP配置
流程:
- step1:nginx接收到一条http请求,会把环境变量,请求参数转变成php能懂的php变量
// nginx 配置资料location ~ \.php$ {include snippets/fastcgi-php.conf; //step1fastcgi_pass unix:/run/php/php7.0-fpm.sock;}
 - step2:nginx匹配到.php结尾的访问通过fastcgi_pass命令传递给php-fpm.sock文件,其实这里的ngnix发挥的是反向代理的角色,把http协议请求转到fastcgi协议请求
// nginx 配置资料location ~ \.php$ {include snippets/fastcgi-php.conf;fastcgi_pass unix:/run/php/php7.0-fpm.sock;// step2}
 - step3:php-fpm.sock文件会被php-fpm的master进程所引用,这里nginx和php-fpm使用的是linux的进程间通信方式
unix domain sock,是一种基于文件而不是网络底册协议的通信方式 - step4:php-fpm的master进程接收到请求后,会把请求分发到php-fpm的子进程,每个php-fpm子进程都包含一个php解析器
 - step5:php-fpm进程处理完请求后返回给nginx
 
搜索
标签
        
                                            
                     study
                
                            
                    ab
                
                            
                    amap
                
                            
                    apache
                
                            
                    apahe
                
                            
                    awk
                
                            
                    aws
                
                            
                    bat
                
                            
                    centos
                
                            
                    CFS
                
                            
                    chrome
                
                            
                    cmd
                
                            
                    cnpm
                
                            
                    composer
                
                            
                    consul
                
                            
                    crontab
                
                            
                    css
                
                            
                    curl
                
                            
                    cygwin
                
                            
                    devops
                
                            
                    di
                
                            
                    docker
                
                            
                    docker,docker-compose
                
                            
                    ethereum
                
                            
                    excel
                
                            
                    fiddler
                
                            
                    fluentd
                
                            
                    framework
                
                            
                    front-end
                
                            
                    git
                
                            
                    gitgui
                
                            
                    github
                
                            
                    glide
                
                            
                    go
                
                            
                    golang
                
                            
                    gorm
                
                            
                    grafana
                
                            
                    gzip
                
                            
                    ioc
                
                            
                    item2
                
                            
                    iterm2
                
                            
                    javascript
                
                            
                    jenkins
                
                            
                    jsonp
                
                            
                    kafka
                
                            
                    laradock
                
                            
                    laravel
                
                            
                    larval
                
                            
                    linux
                
                            
                    liunux
                
                            
                    log
                
                            
                    mac
                
                            
                    mac, wi-fi
                
                            
                    macos
                
                            
                    magento
                
                            
                    mariaDB
                
                            
                    minikube
                
                            
                    mongoDB
                
                            
                    msp
                
                            
                    mysql
                
                            
                    netbeans
                
                            
                    nginx
                
                            
                    nodejs
                
                            
                    nohup
                
                            
                    npm
                
                            
                    nsq
                
                            
                    php
                
                            
                    php-fpm
                
                            
                    php7
                
                            
                    phpstorm
                
                            
                    php扩展
                
                            
                    Protobuf
                
                            
                    python
                
                            
                    redis
                
                            
                    scp
                
                            
                    server
                
                            
                    shell
                
                            
                    soap
                
                            
                    socket
                
                            
                    socket5
                
                            
                    sql
                
                            
                    sre
                
                            
                    ssdb
                
                            
                    ssh
                
                            
                    ssl
                
                            
                    study
                
                            
                    sublime
                
                            
                    swift
                
                            
                    system
                
                            
                    td-agent
                
                            
                    uml
                
                            
                    v2ray
                
                            
                    vagrant
                
                            
                    vagrnat
                
                            
                    vim
                
                            
                    vpn
                
                            
                    vue
                
                            
                    vue.js
                
                            
                    webpack
                
                            
                    webrtc
                
                            
                    websocket
                
                            
                    webtatic
                
                            
                    windows
                
                            
                    windows7
                
                            
                    word
                
                            
                    wps
                
                            
                    xdebug
                
                            
                    yarn
                
                            
                    yii2
                
                            
                    yum
                
                            
                    zookeeper
                
                            
                    世界国家
                
                            
                    互联网
                
                            
                    以太坊
                
                            
                    分类
                
                            
                    前端
                
                            
                    小程序
                
                            
                    打印机
                
                            
                    排序算法
                
                            
                    搞笑
                
                            
                    权限
                
                            
                    粤语
                
                            
                    缓存
                
                            
                    网络
                
                            
                    虚拟机
                
                            
                    视频
                
                            
                    设计模式
                
                            
                    项目管理
                
                        
热门文章
    
        
    
友情链接