php-fpm重启

部署nginx后无法访问数据库,查看www-error.log日志报错Class 'mysqli' not found in /usr/local/nginx/html/mysql.php on line 2

↘锁芯ラ 提交于 2020-01-07 02:00:13
检查你的php-mysql包是否安装 [root@localhost nginx]# rpm -qa php-mysql 没有任何输出则没有安装,接下来用yum安装php-mysql yum -y install php-mysql 重启php-fpm再验证 systemctl restart php-fpm 来源: https://www.cnblogs.com/guarding/p/12150061.html

CGI、FastCGI和php-fpm的区别

瘦欲@ 提交于 2020-01-05 10:09:21
参考网上的描述,将网上的描述内容,整理进来: 首先,CGI是干嘛的?CGI是为了保证web server传递过来的数据是标准格式的,方便CGI程序的编写者。 web server(比如说nginx)只是内容的分发者。比如,如果请求/index.html,那么web server会去文件系统中找到这个文件,发送给浏览器,这里分发的是静态数据。好了,如果现在请求的是/index.php,根据配置文件,nginx知道这个不是静态文件,需要去找PHP解析器来处理,那么他会把这个请求简单处理后交给PHP解析器。Nginx会传哪些数据给PHP解析器呢?url要有吧,查询字符串也得有吧,POST数据也要有,HTTP header不能少吧,好的,CGI就是规定要传哪些数据、以什么样的格式传递给后方处理这个请求的协议。仔细想想,你在PHP代码中使用的用户从哪里来的。 当web server收到/index.php这个请求后,会启动对应的CGI程序,这里就是PHP的解析器。接下来PHP解析器会解析php.ini文件,初始化执行环境,然后处理请求,再以规定CGI规定的格式返回处理后的结果,退出进程。web server再把结果返回给浏览器。 好了,CGI是个协议,跟进程什么的没关系。那fastcgi又是什么呢?Fastcgi是用来提高CGI程序性能的。 提高性能,那么CGI程序的性能问题在哪呢?

了解Nginx与PHP的交互?

霸气de小男生 提交于 2020-01-05 08:37:08
Nginx可以接收请求并转发给PHP-FPM。 1.开始深入Nginx与FastCGI协议 通过对Nginx新增Server配置实现了nginx与PHP的一次通信,配置文件非常简单。 从上图的Nginx配置中可以注意到 fastcgi* 开头的一些配置,以及引入的 fastcgi.conf 文件。其实在fastcgi.conf中,也是一堆fastcgi*的配置项,只是这些配置项相对不常变,通常单独文件保管可以在多处引用。 CGI是通用网关协议,FastCGI则是一种常住进程的CGI模式程序。 PHP-FPM的全称是PHP FastCGI Process Manager,即PHP-FPM会通过用户配置来管理一批FastCGI进程。 例如:在PHP-FPM管理下的某个FastCGI进程挂了,PHP-FPM会根据用户配置来看是否要重启补全,PHP-FPM更像是管理器,而真正衔接Nginx与PHP的则是FastCGI进程。 介绍FastCGI在请求流中的位置,如下图所示: 如上图所示,FastCGI的下游, 是CGI-APP ,在我们的LNMP架构里,这个 CGI-APP就是PHP程序 。而 FastCGI的上游是Nginx ,他们之间有 一个通信载体 ,即图中的 socket 。fastcgi_pass也常配置为一个http接口地址。 图中的Pre-fork ,则对应着我们 PHP

CGI、FastCGI和PHP-FPM关系详解

馋奶兔 提交于 2020-01-05 08:36:25
在搭建 LAMP/LNMP 服务器时,会经常遇到 PHP-FPM、FastCGI和CGI 这几个概念。如果对它们 一知半解 ,很难搭建出高性能的服务器。接下来我们就以图形方式,解释这些概念之间的关系。 基础 在整个网站架构中,Web Server(如Apache)只是内容的分发者。举个栗子,如果客户端请求的是 index.html,那么Web Server会去文件系统中找到这个文件,发送给浏览器,这里分发的是静态数据。 如果请求的是 index.php,根据配置文件,Web Server知道这个不是静态文件,需要去找 PHP 解析器来处理,那么他会把这个请求简单处理,然后交给PHP解析器。 当Web Server收到 index.php 这个请求后,会启动对应的 CGI 程序,这里就是PHP的解析器。接下来PHP解析器会解析php.ini文件,初始化执行环境,然后处理请求,再以规定CGI规定的格式返回处理后的结果,退出进程,Web server再把结果返回给浏览器。这就是一个完整的动态PHP Web访问流程,接下来再引出这些概念,就好理解多了, CGI:是 Web Server 与 Web Application 之间数据交换的一种协议。 FastCGI:同 CGI,是一种通信协议,但比 CGI 在效率上做了一些优化。同样,SCGI 协议与 FastCGI 类似。 PHP-CGI

FastCGI与PHP-FPM

筅森魡賤 提交于 2020-01-05 08:36:07
要想弄清FastCGI和PHP-FPM,就需要先弄清一些基本的概念: CGI FastCGI PHP-FPM PHP-CGI 。 CGI 通用网关接口,描述的服务器和请求处理程序之间的数据传输的一种标准。 这可以简单的理解为 CGI 就是保证 web server 传过来的数据是标准的,能够方便的请求处理程序的编写。 在这一层面之上, web server 只是请求内容的分发者。比如,如果请求 index.html ,那么 web server 会去文件系统中查找这个文件,然后发送到浏览器,那么这里分发的就是静态资源。如果这个时候请求的不是 index.html 而是 index.php 的话,根据 web server (比如 nginx )的配置文件, server 判断出此次请求的不是静态文件,而是一个PHP的程序,需要去找PHP解析器来处理,那么server会简单处理这个请求后交给PHP解析器。 Nginx 会将请求的 URL 、 GET/POST数据 、 HTTP Header 等协议规定好的数据传递到处理请求的 CGI程序 中。 让我们在具体一点的分析。当 server 收到 index.php 这个请求后, server 会启动对应的CGI程序,本文中指的就是PHP的解析器。接下来PHP解析器会解析配置文件 php.ini ,初始化运行环境,然后处理请求

nginx和php-fpm调用方式

≯℡__Kan透↙ 提交于 2020-01-05 08:35:55
nginx和php-fpm调用方式 一.背景: 在开发中碰到一个问题,项目以nginx+php-fpm形式访问交互,结果访问项目时报错如下图: 二.分析: 提示很明确嘛,去看error.log(在nginx.conf或者vhost里头配置的,找到你对应路径即可) 错误信息如下: 1 2 3 2017/09/18 10:46:21 [error] 3880#0: *92 connect() failed (111: Connection refused) while connecting to upstream, client: 192.168.33.10, server: local.helios.com, request: "GET /v1/room/detail.json HTTP/1.1" , upstream: "fastcgi://127.0.0.1:9000" , host: "local.helios.com" 或 1 2 3 2017 /09/18 14:30:42 [crit] 5375 #0: *43 connect() to unix:/tmp/php-cgi.sock failed (2: No such file or directory) while connecting to upstream, client: 192.168.33.10,

Centos 7.3部署LAMP架构动静分离

回眸只為那壹抹淺笑 提交于 2020-01-03 12:09:55
博文大纲: 一、LAMP动静分离的概念 二、LAMP的安装与配置 三、web网站压力测试 四、部署PHP加速软件Xcache 五、部署bbs论坛 一、LAMP动静分离的概念 当需要搭建一个高效的web架构时,采用动静分离无疑是最好的选择,这篇博文将写下来LAMP的动静分离部署方式。 所谓LAMP?LAMP架构是目前最成熟的企业网站应用模式之一,指的是协同工作的一整套系统和相关软件,能够提供动态web站点服务及其应用开发环境。与之并肩的还有LNMP、LTMP等,LAMP说白了就是Linux操作系统上安装Apache网站服务,构建php/perl/Python运行环境来连接mysql数据库,四个组件合起来就简称“LAMP”。 LNMP只不过是用Nginx来搭建了这个httpd服务。 PHP在LAMP环境下共有三种工作模式:CGI 模式、apache 模块、FastCGI (FCGI)模式。CGI 模式下运行 PHP,性能不是很好。FastCGI 的方式和 apache 模块的不同点在于:FastCGI 方式 PHP 是一处独立的进程,所有 PHP 子进程都由 PHP 的一个叫做php-fpm 的组件负责管理;而 apache 模块化方式运行的 PHP,则是 apache 负责调用 PHP 完成工作。PHP 的 FastCGI 方式性能要比 apache模块化方式强很多。 这里将以

centos7下部署nginx与php

北城以北 提交于 2019-12-31 01:02:44
背景介绍 相信读者在看这篇文章之前已经fastcgi,php-fpm有所了解。大概来讲php语言需要fastcgi程序,即php解释器解释,而php解释器需要php-fpm管理器进行调度。 以下对CGI、FastCGI、php-fpm之间关系进行通俗解释(来源于知乎用户Journey Lin): 讲Fastcgi之前需要先讲CGI,CGI是为了保证web server传递过来的数据是标准格式的,它是一个协议,方便CGI程序的编写者。Fastcgi是CGI的更高级的一种方式,是用来提高CGI程序性能的。web server(如nginx)只是内容的分发者。比如,如果请求/index.html,那么web server会去文件系统中找到这个文件,发送给浏览器,这里分发的是静态资源。如果现在请求的是/index.php,根据配置文件,nginx知道这个不是静态文件,需要去找PHP解析器来处理,那么他会把这个请求简单处理后交给PHP解析器。此时CGI便是规定了要传什么数据/以什么格式传输给php解析器的协议。当web server收到/index.php这个请求后,会启动对应的CGI程序,这个程序就是PHP的解析器。接下来PHP解析器会解析php.ini文件,初始化执行环境,然后处理请求,再以CGI规定的格式返回处理后的结果,退出进程。web server再把结果返回给浏览器

linux下安装lnmp环境

做~自己de王妃 提交于 2019-12-30 17:53:59
安装nginx 1 检查是否安装该程序: which nginx #查看nginx是否存在 which php #查看php是否存在 which mysql #查看mysql是否存在 2 yum list nginx #列出nginx yum install nginx #安装nginx #看见{Complete! } 安装成功。 3 which nginx #查看nginx是否存在 service nginx start #启动nginx进程方法[1] /etc/init.d/nginx start #启动nginx进程方法[2] ps -ef | grep nginx #查看nginx进程 4 ifconfig #查看网卡信息 打开浏览器:http://182.92.73.109/ 看到 { 欢迎界面 } 说明安装成功! END 安装PHP 1 安装PHP: yum list php php-fpm #列出php 和php-fpm 是否存在 yum -y install php php-fpm #安装php 和php-fpm软件包 #看见{Complete! } 安装成功。 ------------------------------------ 启动php-fpm: /etc/init.d/php-fpm start #1 service php-fpm start #2 2

LAMP 搭建,wordpress.xcache,powerdns及poweradmin

别等时光非礼了梦想. 提交于 2019-12-30 16:58:03
一,概念 CGI: CGI全称是通用网关接口(Common Gateway Interface),是外部应用程序与与服务器之间的接口标准,是在CGI程序和web服务器之间传递信息的规程 CGI是一段程序,运行在服务器上。 CGI可以用任意语言编写,主要这种语言具有标准输入、输出和环境变量 原理: 每当客户请求CGI的时候,WEB服务器就请求操作系统读取配置文件,生成一个新的解释器进程(如php-cgi.exe),当CGI进程完成当前任务结束后,web服务器就会杀死这个进程 FastCGI: 一个可伸缩地、高速地在HTTP server和动态脚本语言间通信的接口, 接口方式采用C/S结构,可以将HTTP服务器和脚本解析服务器分开,同时在脚本解析服务器上启动一个或者多个脚本解析守护进程。当HTTP服务器每次遇到动态程序时,可以将其直接交付给FastCGI进程来执行,然后将得到的结果返回给浏览器。这种方式可以让HTTP服务器专一地处理静态请求或者将动态脚本服务器的结果返回给客户端,这在很大程度上提高了整个应用系统的性能。 原理: Web Server启动时载入FastCGI进程管理器(IIS ISAPI或Apache Module) FastCGI进程管理器自身初始化,启动多个CGI解释器进程(可见多个php-cgi)并等待来自Web Server的连接。 当客户端请求到达Web