欢迎来真孝善网,为您提供真孝善正能量书籍故事!

深入解析:Nginx与PHP的协同工作原理

时间:11-21 现代故事 提交错误

本篇文章给大家谈谈深入解析:Nginx与PHP的协同工作原理,以及对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

php-fpm是什么

如果你不了解php-fpm,请看我的这篇文章- CGI、FastCGI、PHP-FPM之间的关系

要了解nginx 和php-fpm 是如何组合的,我们首先要了解它们是如何配置在一起的。主要配置文件有3个。

1、首先看虚拟主机服务器的配置:

服务器{

听80; #监听80端口并接收http请求

服务器名称www.example.com; #是网站地址

root /usr/local/etc/nginx/www/huxintong_admin; # 准备存放代码项目的路径

#路由到网站根目录www.example.com时的处理

地点/{

索引index.php; #跳转到www.example.com/index.php

自动索引开启;

}

#请求网站下的php文件时,反向代理到php-fpm

位置~ .php$ {

包括fastcgi_params; #加载nginx fastcgi模块

fastcgi_pass 127.0.0.1:9000; #nginx Fastcgi进程监听IP地址和端口

}

}2.我们再看一下fastcgi.conf的配置。该配置主要用于将nginx中的变量解释为PHP可以理解的变量:

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

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_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 HTTPS $https if_not_empty;

fastcgi_param GATEWAY_INTERFACE CGI/1.1;

fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;

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,如果PHP 是使用--enable-force-cgi-redirect 构建的,则需要

fastcgi_param REDIRECT_STATUS 200;最后我们看一下php-fpm.conf的配置,主要看监听服务器IP和端口。其他配置项可以参考我的文章php-fpm进程数优化方法

Listen=127.0.0.1:9000 通过解读这三个配置文件,我们可以看到nginx通过fastcgi_pass指令调用了php-fpm的监听端口。一个完整的流程如下图

www.example.com

nginx

服务器,位置被路由到

www.example.com/index.php

加载nginx的fast-cgi模块

fast-cgi监听127.0.0.1:9000地址

www.example.com/index.php

请求转发到127.0.0.1:9000

此时php-fpm正在监听

127.0.0.1:9000

php-fpm收到请求

启用工作进程来处理请求

php-fpm 已处理请求

结果返回给nginx

用户评论

七夏i

我一直以为 nginx 和 php 分别工作啊,没想到能协作!

    有6位网友表示赞同!

若他只爱我。

这篇文章一定介绍了怎样配置 nginx 来处理 php 请求吧

    有11位网友表示赞同!

莫失莫忘

终于可以好好了解下nginx和php的协作机制了!

    有15位网友表示赞同!

回忆未来

我平时就使用 nginx 搭建网站,希望这篇文章能让我更深入了解它和 PHP 的结合。

    有18位网友表示赞同!

殃樾晨

学过一些基本 php 和 nginx 的知识,想看看这篇文章有没有更深入的内容。

    有6位网友表示赞同!

如梦初醒

感觉 nginx 作为前端代理服务器挺不错的,搭配 php 后端处理逻辑应该很强大。

    有8位网友表示赞同!

男神大妈

我的项目一直用Apache+PHP,想知道nginx的结合效果怎么样吧。

    有18位网友表示赞同!

ゞ香草可樂ゞ草莓布丁

这篇文章很有用啊,我最近在学习 web 开发方面的新知识。

    有5位网友表示赞同!

喜欢梅西

看起来nginx和php的组合效率很高,适合大型网站使用吧?

    有6位网友表示赞同!

剑已封鞘

希望能详细讲解如何配置 nginx 来支持 php 程序运行。

    有14位网友表示赞同!

闲肆

这篇文章应该会介绍一些常用的 php-fpm 配置技巧吧!

    有11位网友表示赞同!

花开丶若相惜

终于可以解决一下我关于 nginx 和 php 连接的问题了!”

    有9位网友表示赞同!

不相忘

期待能了解下 nginx 和 php 的优势互补之处!

    有17位网友表示赞同!

汐颜兮梦ヘ

看标题好像讲解了不少,很仔细介绍的话应该很有价值。

    有12位网友表示赞同!

迷路的男人

现在很多网站都用nginx 和 PHP 么?

    有5位网友表示赞同!

人心叵测i

希望能了解更多关于性能优化的技巧,让我的项目运行更快!

    有12位网友表示赞同!

艺菲

我比较好奇 nginx 和 php 的协作效率如何?

    有14位网友表示赞同!

迁心

学习这方面的内容应该很能够帮助我提升开发技能。

    有8位网友表示赞同!

早不爱了

希望这篇文章能深入浅出地介绍nginx和php的协作方式!

    有7位网友表示赞同!

情如薄纱

我会把这篇文章推荐给我的朋友,他也要学习 web 开发的知识!

    有17位网友表示赞同!

【深入解析:Nginx与PHP的协同工作原理】相关文章:

1.蛤蟆讨媳妇【哈尼族民间故事】

2.米颠拜石

3.王羲之临池学书

4.清代敢于创新的“浓墨宰相”——刘墉

5.“巧取豪夺”的由来--米芾逸事

6.荒唐洁癖 惜砚如身(米芾逸事)

7.拜石为兄--米芾逸事

8.郑板桥轶事十则

9.王献之被公主抢亲后的悲惨人生

10.史上真实张三丰:在棺材中竟神奇复活