php-fpm

Centos7之LNMP环境编译安装

被刻印的时光 ゝ 提交于 2019-12-06 10:34:18
##只做流程熟悉参考,安装过程太耗时间!!! 一、系统环境准备 1、系统信息 [root@localhost ~]# uname -r 3.10.0-957.el7.x86_64 [root@localhost ~]# uname -a Linux localhost.localdomain 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux [root@localhost ~]# cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core) 2、关闭防火墙 vim /etc/selinux/config 将SELINUX的值改为如下: SELINUX=disabled systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall开机启动 注:此处是测试环境,在生产环境中,按需开启对应应用端口,不能直接关闭防火墙!! 3、配置地址信息 [root@localhost src]# cat /etc/sysconfig/network-scripts/ifcfg-ens32 TYPE

阻塞和非阻塞模型

不想你离开。 提交于 2019-12-06 08:35:35
1.PHP-FPM是阻塞模型,假设你用 php-fpm,你的 php 程序中需要向外部提供接口请求。那么每一个 Worker 进程在执行这些网络 I/O 的时候,是不是都阻塞了?假设你的 php-fpm 最大进程数有 500 个,那么同时进来了 500 个请求,是不是都阻塞在了网络 I/O 上了?那么接下来,php-fpm 已经无法处理第 501 个请求了。可是此时,由于在等待网络 I/O 响应,CPU 实际上并没有做什么工作,你会发现,CPU 很闲,但是却无法处理请求了。 swoole是非阻塞模型,例如Swoole,我们在网络 I/O 的时候,让它去等待响应,与此同时,处理下一个请求。那么,我们会发现,并发数上去了,CPU 的利用率变高了。 如果只有一个套接字的情况下,使用阻塞IO是极好的,读到数据就返回。 但是如果在有很多套接字的情况下,比如有100个套接字: 如果使用阻塞IO,可能因为读取一个没有数据的套接字而阻塞剩下的99个套接字的数据处理,那么就会造成服务器的响应性很差。 如果使用非阻塞IO,那么就需要轮询这一百个套接字到底可不可以读取到数据,这个轮询操作会浪费CPU时间片,照样也不是一个高效的方式,套接字多了,照样性能很差。 那有没有一种比较好的方式来同时检测多个套接字是否可读可写,并且不浪费CPU时间片呢?那就是要用IO多路复用了

linux下查看php-fpm是否开启?如何开启?

孤者浪人 提交于 2019-12-06 03:24:20
1、查看php-fpm是否开启 命令:ps -ef|grep php 结果如下: 这是没有开启。 2、查看php-fpm的位置 命令:whereis php-fpm 3、开启php-fpm 命令:/usr/local/bin/php-fpm 4、再次输入命令ps -ef|grep php,查看是否已经开启 这是已经开启了。 来源: https://www.cnblogs.com/qichao123/p/11960216.html

PHP-FPM详解

a 夏天 提交于 2019-12-06 01:42:24
目录 作用 安装 全局配置 配置进程池 参考Company开发环境 转发请求给PHP-FPM 思考 作用 PHP-FPM(PHP FastCGI Process Manager)意:PHP FastCGI 进程管理器,用于管理PHP 进程池的软件,用于接受web服务器的请求。 PHP-FPM提供了更好的PHP进程管理方式,可以有效控制内存和进程、可以平滑重载PHP配置。 (1). 为什么会出现php-fpm fpm的出现全部因为php-fastcgi出现。为了很好的管理php-fastcgi而实现的一个程序 (2). 什么是php-fastcgi php-fastcgi 只是一个cgi程序,只会解析php请求,并且返回结果,不会管理(因此才出现的php-fpm)。 (3)为什么不叫php-cgi 其实在php-fastcgi出现之前是有一个php-cgi存在的,只是它的执行效率低下,因此被php-fastcgi取代。 (4)那fastcgi和cgi有什么区别呢? 亲们,这区别就大了,当一个服务web-server(nginx)分发过来请求的时候,通过匹配后缀知道该请求是个动态的php请求,会把这个请求转给php。 在cgi的年代,思想比较保守,总是一个请求过来后,去读取php.ini里的基础配置信息,初始化执行环境,每次都要不停的去创建一个进程,读取配置,初始化环境,返回数据

zibbx 安装

蓝咒 提交于 2019-12-06 00:28:50
创建环境记得mysql的文本性质是utf8 配置主机群组 配置脚本 配置触发器和自动化 baagent复制过去 配置脚本路径 配置服务器文件路径 大约在490行 自动脚本 sed -i '109 izabbix ALL=(ALL) NOPASSWD: /sbin/runuser,/bin/su' /etc/sudoers sed -i 's/Defaults requiretty/#Defaults requiretty/g' /etc/sudoers sed -i '57 iDefaults:zabbix !requiretty' /etc/sudoers sed -i '58 iDefaults:zabbix visiblepw' /etc/sudoers ~ 在被监控的服务器 agent 配置文件 LogRemoteCommands=1 user打开 sudo runuser - root -c "sh /zabbix/service/autostart.sh" sudo runuser -root -c ''sh /zabbix/service/autostart.sh PHP 下载 http://www.php.net/downloads.php 安装 yum -y install libxml2-devel libcurl-devel libjpeg-devel

php+nginx中的php.ini,php-fpm.conf,nginx.conf【php】

前提是你 提交于 2019-12-05 22:58:33
一、解释一下 1.php-fpm.conf: 是PHP-FPM特有的配置文件,是PHP-FPM进程管理器的配置文件 2.php.ini: 是php模式中必须的配置文件, 是PHP解析器的配置文件 3.nginx.conf: nginx的配置文件。Nginx不只有处理http请求的功能,还能做反向代理。Nginx通过反向代理功能将动态请求转向后端Php-fpm。 4.php-fpm.conf的官方配置说明: https://www.php.net/manual/zh/install.fpm.configuration.php 二、有哪些历程 1.早期的webserver只处理html等静态文件,但是随着技术的发展,出现了像php等动态语言。 webserver处理不了了,怎么办呢?那就交给php解释器来处理吧! 交给php解释器处理很好,但是,php解释器如何与webserver进行通信呢? 2.为了解决不同的语言解释器(如php、python解释器)与webserver的通信,于是出现了cgi协议。只要你按照cgi协议去编写程序,就能实现语言解释器与webwerver的通信。如php-cgi程序。 3.有了cgi协议,解决了php解释器与webserver通信的问题,webserver终于可以处理动态语言了。 但是,webserver每收到一个请求,都会去fork一个cgi进程

Centos php 扩展方式安装gd库的方法

自古美人都是妖i 提交于 2019-12-05 22:05:59
网站的第二台服务器跑的的环境主要是Python/Ruby,有时也需要简单跑跑PHP脚本,所以也安装了PHP,环境是Nginx+php-fpm,PHP是源码编译安装的,所以是最小化安装,甚至连mysqli扩展都没有。今天需要用到GD库,才发现没GD库环境,所以需要安装这个扩展。对付单个扩展,单独编译动态加载是比较方便快捷的。安装过程也比较繁杂,这个记录一下,方便后来者。 首先说明,我的PHP是源码编译安装的,可以参看 以源码编译的方式安装PHP与php-fpm。 先安装 gd 前置库 : freetype ,jpegsrc,libpng。 1. freetype 代码如下: wget "http://download.savannah.gnu.org/releases/freetype/freetype-2.4.0.tar.bz2" tar jxvf freetype-2.4.0.tar.bz2 cd freetype-2.4.0 ./configure --prefix=/usr/local/freetype && make && make install 2. jpegsrc 代码如下: wget "http://www.ijg.org/files/jpegsrc.v9.tar.gz" tar zxvf jpegsrc.v9.tar.gz cd jpeg-9 CFLAGS="

构建memcached服务

风流意气都作罢 提交于 2019-12-05 19:51:33
构建memcached服务 案例 1 :构建 memcached 服务 案例 2 : LNMP+memcached 案例 3 : PHP 的本地 Session 信息 案例 4 : PHP 实现 session 共享 1 案例 1 :构建 memcached 服务 1.1 问题 本案例要求先快速搭建好一台 memcached 服务器,并对 memcached 进行简单的增、删、改、查操作: 安装 memcached 软件,并启动服务 使用 telnet 测试 memcached 服务 对 memcached 进行增、删、改、查等操作 1.2 方案 使用 1 台 RHEL7 虚拟机作为 memcached 服务器( 192.168.4.5 )。 在 RHEL7 系统光盘中包含有 memcached ,因此需要提前配置 yum 源,即可直接使用 yum 安装,客户端测试时需要提前安装 telnet 远程工具。 验证时需要客户端主机安装 telnet ,远程 memcached 来验证服务器的功能: add name 0 180 10// 变量不存在则添加 set name 0 180 10// 添加或替换变量 replace name 0 180 10// 替换 get name// 读取变量 append name 0 180 10// 向变量中追加数据 delete name//

构建LNMP

时间秒杀一切 提交于 2019-12-05 19:36:57
构建LNMP 案例 1 :部署 LNMP 环境 案例 2 :构建 LNMP 平台 案例 3 :地址重写 1 案例 1 :部署 LNMP 环境 1.1 问题 安装部署 Nginx 、 MariaDB 、 PHP 环境 安装部署 Nginx 、 MariaDB 、 PHP 、 PHP-FPM ; 启动 Nginx 、 MariaDB 、 FPM 服务; 并测试 LNMP 是否工作正常。 1.2 方案 在 RHEL7 系统中,源码安装 Nginx ,使用 RPM 包安装 MariaDB 、 PHP 、 PHP-FPM 软件。 操作过程中需要安装的软件列表如下: nginx mariadb 、 mariadb-server 、 mariadb-devel php 、 php-fpm 、 php-mysql 1.3 步骤 实现此案例需要按照如下步骤进行。 步骤一:安装软件 1 )使用 yum 安装基础依赖包 [root@proxy~]#yum -y install gcc openssl-devel pcre-devel zlib-devel 2 )源码安装 Nginx [root@proxy~]#useradd -s /sbin/nologin nginx [root@proxy~]#tar -xvf nginx-1.12.2.tar.gz [root@proxy~]#cd nginx-1

Brew 安装PHP软件

折月煮酒 提交于 2019-12-05 15:13:01
Brew 安装PHP软件 搜索php软件,方便安装自己想要的版本 brew search php 安装 brew install php@7.2 安装时间,根据网络环境不同,请耐心等待。 ... 安装完成后,注意查看信息,如: # 这里是 Apache 环境需要修改的信息 To enable PHP in Apache add the following to httpd.conf and restart Apache: LoadModule php7_module /usr/local/opt/php@7.2/lib/httpd/modules/libphp7.so <FilesMatch \.php$> SetHandler application/x-httpd-php </FilesMatch> Finally, check DirectoryIndex includes index.php DirectoryIndex index.php index.html The php.ini and php-fpm.ini file can be found in: /usr/local/etc/php/7.2/ php@7.2 is keg-only, which means it was not symlinked into /usr/local, because this