nginx默认是哪种模式运行PHP?底层原理是什么?

简介: nginx默认是哪种模式运行PHP?底层原理是什么?

Nginx 默认情况下不会运行 PHP,需要借助第三方模块来实现。

常见的运行 PHP 的方式是使用 FastCGI 模式,这种模式下,Nginx 会将 PHP 脚本交给外部的 FastCGI 进程来处理,然后将处理结果返回给客户端。

具体来说,Nginx 通过 FastCGI 协议与 FastCGI 进程进行通信,将 HTTP 请求转发给 FastCGI 进程,然后等待 FastCGI 进程处理完毕后将结果返回给客户端。在 FastCGI 模式下,Nginx 会启动一个或多个 FastCGI 进程,用于处理 PHP 脚本,这些进程可以运行在同一台机器上,也可以运行在不同的机器上。

通常情况下,Nginx 会使用 FastCGI 模块来与 FastCGI 进程进行通信,并通过配置文件将 PHP 脚本和 FastCGI 进程进行绑定。例如:

location ~ \.php$ {
    fastcgi_pass   unix:/var/run/php-fpm.sock;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    include        fastcgi_params;
}

这段配置代码将以正则表达式匹配所有以 .php 结尾的请求,将请求交给 FastCGI 进程处理。其中,fastcgi_pass 指令指定了 FastCGI 进程监听的地址,这里使用的是 Unix 套接字;fastcgi_index 指令指定了默认的 PHP 文件名,即 index.php;fastcgi_param 指令指定了 PHP 脚本的路径;include 指令用于引入 FastCGI 参数配置。

总之,Nginx 默认不会运行 PHP,但可以通过借助第三方模块来实现运行 PHP 的功能,常见的方式是使用 FastCGI 模式,通过与 FastCGI 进程进行通信来处理 PHP 脚本。

相关文章
|
1月前
|
自然语言处理 编译器 应用服务中间件
PHP在服务器上的运行过程
PHP在服务器上的运行过程
45 7
|
1月前
|
数据库连接 PHP Apache
PHP在Apache中如何运行?
PHP在Apache中如何运行?
42 5
|
3月前
|
域名解析 关系型数据库 MySQL
基于PHPEnv的本地环境搭建—PHP第一个项目:HelloWorld(从安装到运行)
该文章指导如何使用PHPEnv搭建本地PHP开发环境,并通过一个简单的"Hello World"程序演示从安装到运行的全过程。
基于PHPEnv的本地环境搭建—PHP第一个项目:HelloWorld(从安装到运行)
|
2月前
|
tengine 应用服务中间件 Linux
Tengine、Nginx安装PHP命令教程
要在阿里云Linux上安装PHP,请先更新YUM源并启用PHP 8.0仓库,然后安装PHP及相关扩展。通过`php -v`命令验证安装成功后,需修改Nginx配置文件以支持PHP,并重启服务。最后,创建`phpinfo.php`文件测试安装是否成功。对于CentOS系统,还需安装EPEL源和Remi仓库,其余步骤类似。完成上述操作后,可通过浏览器访问`http://IP地址/phpinfo.php`测试安装结果。
|
2月前
|
中间件 应用服务中间件 nginx
Nginx+uWSGI+Django原理
Nginx+uWSGI+Django原理
|
3月前
|
设计模式 SQL 安全
PHP中的设计模式:单例模式的深入探索与实践在PHP的编程实践中,设计模式是解决常见软件设计问题的最佳实践。单例模式作为设计模式中的一种,确保一个类只有一个实例,并提供全局访问点,广泛应用于配置管理、日志记录和测试框架等场景。本文将深入探讨单例模式的原理、实现方式及其在PHP中的应用,帮助开发者更好地理解和运用这一设计模式。
在PHP开发中,单例模式通过确保类仅有一个实例并提供一个全局访问点,有效管理和访问共享资源。本文详细介绍了单例模式的概念、PHP实现方式及应用场景,并通过具体代码示例展示如何在PHP中实现单例模式以及如何在实际项目中正确使用它来优化代码结构和性能。
52 2
|
2月前
|
Java 应用服务中间件 API
nginx线程池原理
nginx线程池原理
41 0
|
3月前
|
安全 Shell Linux
从命令行界面运行交互式PHP Shell
从命令行界面运行交互式PHP Shell
|
4月前
|
应用服务中间件 Linux PHP
Linux搭建tengine2.0<Nginx>+php7环境
本文介绍了在Linux系统上搭建Tengine 2.0(一个Nginx的增强版本)和PHP 7环境的详细步骤,包括创建安装目录、下载源码包及依赖库、编译安装Nginx、配置Nginx、安装PHP及其依赖、设置PHP-FPM、配置环境变量、安装Git和Composer,以及服务管理和日志查看等。
100 0
|
关系型数据库 应用服务中间件 Linux
Nginx和php安装及配置:mysql安装教程
Nginx和php安装及配置:mysql安装教程http://www.bieryun.com/3052.html 一、mysql简介 说到数据库,我们大多想到的是关系型数据库,比如mysql、oracle、sqlserver等等,这些数据库软件在windows上安装都非常的方便,在Linux上如果要安装数据库,咱不得不首先推荐的是mysql数据库了,而且Mysql数据库的第一个版本就是发行在Linux系统上的。
1976 0