红帽9中nginx-源码编译php

ops/2024/9/20 1:32:14/ 标签: nginx, php, 运维

        什么是PHP-FPM? PHP-FPM(FastCGI Process Manager: FastCGI进程管理器)是一个实现了Fastcgi的程序,并且提供进程管理的功能。 进程包括master进程和worker进程。master进程只有一个,负责监听端口,接受来自web server 的请求 worker进程一般会有多个,每个进程中会嵌入一个PHP解析器,进行PHP代码的处理。

1.先源码编译nginx,root底下存在最新版模块

2.进入nginx-1.26.1的目录,执行编译安装

./configure --prefix=/usr/local/nginx --user=nginx --group=nginx  --with-http_ssl_module --with-http_v2_module --with-http_realip_module  --with-http_gzip_static_module  --with-http_stub_status_module  --with-pcre --with-stream  --with-stream_ssl_module

3.安装文件

4.检测参数nginx安装是否成功

5.对php源码编译,对软件包进行解压

[root@nginx-node1 ~]# tar zxf php-8.3.9.tar.gz

4.利用yum解决php依赖

[root@Nginx ~]# yum install -y bzip2 systemd-devel libxml2-devel sqlite-devel libpng-devel libcurl-devel oniguruma-devel

但是缺失软件包

寻找软件包命令

[root@nginx-node1 ~]# yum search oniguruma
[root@nginx-node1 ~]# yum whatprovides */oniguruma*

如果代码搜索不到可以使用—阿里云开源软件镜像站进行搜索

5.进入php目录,对php进行源码安装

./configure --prefix=/usr/local/php --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --with-curl --with-iconv --with-mhash --with-zlib --with-openssl --enable-mysqlnd --with-mysqli --with-pdo-mysql --disable-debug --enable-sockets --enable-soap --enable-xml --enable-ftp --enable-gd  --enable-exif  --enable-mbstring --enable-bcmath --with-fpm-systemd

检测发现还缺失libsystemd包

安装libcurl-devel-7.76.1-19.el9.x86_64软件包

[root@localhost php-8.3.9]# yum install libcurl-devel-7.76.1-19.el9.x86_64 -y

使用源码再次安装,检测发现还缺失sqlite3包

./configure --prefix=/usr/local/php --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --with-curl --with-iconv --with-mhash --with-zlib --with-openssl --enable-mysqlnd --with-mysqli --with-pdo-mysql --disable-debug --enable-sockets --enable-soap --enable-xml --enable-ftp --enable-gd  --enable-exif  --enable-mbstring --enable-bcmath --with-fpm-systemd

安装 sqlite-devel.x86_64软件包

[root@localhost php-8.3.9]# yum install sqlite-devel.x86_64 -y

使用源码再次安装,检测发现还缺失libpng包

./configure --prefix=/usr/local/php --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --with-curl --with-iconv --with-mhash --with-zlib --with-openssl --enable-mysqlnd --with-mysqli --with-pdo-mysql --disable-debug --enable-sockets --enable-soap --enable-xml --enable-ftp --enable-gd  --enable-exif  --enable-mbstring --enable-bcmath --with-fpm-systemd

安装libpng-devel.x86_64软件包

[root@localhost php-8.3.9]# yum install libpng-devel.x86_64 -y

使用源码再次安装,检测发现还缺失oniguruma包

./configure --prefix=/usr/local/php --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --with-curl --with-iconv --with-mhash --with-zlib --with-openssl --enable-mysqlnd --with-mysqli --with-pdo-mysql --disable-debug --enable-sockets --enable-soap --enable-xml --enable-ftp --enable-gd  --enable-exif  --enable-mbstring --enable-bcmath --with-fpm-systemd

在阿里云开源软件镜像站获取软件包的下载地址

使用yum进行安装

[root@localhost ~]# yum install oniguruma-devel-6.9.6-1.el9.5.x86_64.rpm

再次使用源码进行编译

./configure --prefix=/usr/local/php --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --with-curl --with-iconv --with-mhash --with-zlib --with-openssl --enable-mysqlnd --with-mysqli --with-pdo-mysql --disable-debug --enable-sockets --enable-soap --enable-xml --enable-ftp --enable-gd  --enable-exif  --enable-mbstring --enable-bcmath --with-fpm-systemd

源码编译安装成功后,安装软件

[root@localhost php-8.3.9]# make && make install


http://www.ppmy.cn/ops/111989.html

相关文章

【重学 MySQL】三十、数值类型的函数

【重学 MySQL】三十、数值类型的函数 基本函数角度与弧度互换函数三角函数指数与对数进制间的转换示例 基本函数 MySQL提供了一系列基本的数值函数,用于处理数学运算和数值转换。以下是一些常用的基本函数及其用法: 函数用法ABS(x)返回x的绝对值。SIGN…

手机玩机常识____展讯芯片刷机平台ResearchDownload的一些基本常识与问题解决

展讯ResearchDownload工具 展讯芯片的刷机工具--ResearchDownload下载工具"是一款专为用户设计的高效、便捷的下载管理软件,它能够帮助用户快速、稳定地从互联网上获取各种文件。这款工具以其强大的功能和良好的用户体验,在众多展讯芯片下载工具中脱…

springboot+security为什么@ControllerAdvice自定义的异常处理没有生效

意外遇到一个无语的bug。项目架构差不多,为什么本项目的ControllerAdvice自定义的异常处理没有生效,其他的就可以。 调试如下: 在捕获异常的位置debug ControllerAdvice 标注的类是否被 Spring 容器正确管理。 很明显,没有。找到…

QT --- 初识QT

一、通过代码构建helloworld界面 一般通过代码来构造界面的时候,通常会把构造界面的代码放到Widget/MainWindow的构造函数中。 Qt中每个类都有对应同名的头文件 上古时期,Qt用的是这种风格的文件。1998年之后,C标准成立了,C98标准…

《深度学习》深度学习 框架、流程解析、动态展示及推导

目录 一、深度学习 1、什么是深度学习 2、特点 3、神经网络构造 1)单层神经元 • 推导 • 示例 2)多层神经网络 3)小结 4、感知器 神经网络的本质 5、多层感知器 6、动态图像示例 1)一个神经元 相当于下列状态&…

软件工程知识点总结(7):软件项目管理

目录 1 软件项目管理 2 进度计划 2.1 WBS 2.2 WBS 工作分解结构 2.3 制定进度计划 ——Gantt 1 软件项目管理 软件项目管理是指软件生命周期中软件管理者所进行的一系列活动,其目的是在 一定的时间和预设范围内有效的利用人力、资源、技术和工具,使…

[数据集][目标检测]智慧交通铁路异物入侵检测数据集VOC+YOLO格式802张7类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):802 标注数量(xml文件个数):802 标注数量(txt文件个数):802 标注类别…

F12抓包11:UI自动化 - Recoder(记录器)

课程大纲 使用场景(导入和导出): ① 测试的重复性工作,本浏览器录制并进行replay; ② 导入/导出录制脚本,移植后replay; ③ 导出给开发进行replay复现bug; ④ 进行前端性能分析。 1、录制脚…

Eureka原理与实践:构建高效的微服务架构

Eureka原理与实践:构建高效的微服务架构 引言 随着微服务架构的日益普及,服务的数量和复杂性不断增加,如何有效地管理这些服务成为了一个重要的挑战。Eureka,作为Netflix开源的服务发现组件,凭借其简单、健壮的特性&…

SpringBoot 消息队列RabbitMQ使用延迟消息插件 接收延迟消息

介绍 需要确保MQ已经安装好了延迟插件。 创建延迟交换机与队列 RabbitListener(bindings QueueBinding(value Queue(value "test.queue",durable "true"),exchange Exchange(value "test.fanout",delayed "true"),key {&quo…

23ai DGPDB,Oracle资源池战略的最后一块拼图

Oracle对资源池是有执念的! 在我看来,这种执念一方面是应用架构的微服务化,数据库被拆分的越来越小,而服务器的硬件能力是不断提升的,CPU核心数、内存和存储的容量都按照摩尔定律在不断增加,这就使得数据库…

QUIC的loss detection学习

PTO backoff backoff 补偿 /ˈbkɒf/PTO backoff 是QUIC(Quick UDP Internet Connections)协议中的一种机制,用于处理探测超时(Probe Timeout, PTO)重传策略 它逐步增加探测超时的等待时间,以避免网络拥塞…

P1056 [NOIP2008 普及组] 排座椅(模拟)

1.用x,y数组存放切了几对学生,用数组的下标记录切的位置 2.按照题目要求k和l依次取出最大的数组的值,并将其变为-1, 再次循环取出第二大的值,之后所有下标为-1的的下标就是切的学生对多的 3.切的意思是把两个学生分开 #includ…

初学Linux(学习笔记)

初学Linux(学习笔记) 前言 本文跳过了Linux前期的环境准备,直接从知识点和指令开始。 知识点: 1.目录文件夹(Windows) 2.文件内容属性 3.在Windows当中区分文件类型是通过后缀,而Linux是通过…

如何理解BCEWithLogitsLoss()

1.示例1 logit[0.5 -1.0 2.0] targets[1 0 1]# δsigmoid(x) pδ(logits)[δ(0.5) δ(-1.0) δ(2.0)][0.6225 0.2689 0.8808]loss1 -[1 log(0.6225) 0 log(1 - 0.6225)] ≈ 0.4744 loss2 -[0 log(0.2689) 1 log(1 - 0.2689)] ≈ 0.3133 loss3 -[1 log(0.8808) 0 …

Linux tr命令

参考资料 【 tr 】コマンド――テキストファイルの文字を置換する/削除する【Linux】trコマンド使ってみた【trコマンド】 目录 一. 基本语法二. 替换2.1 匹配模式进行替换2.2 只支持字符的替换 三. 选项3.1 -d 删除指定字符3.2 -s 替换多个重复出现的字符为单个字…

new/delete和malloc/free到底有什么区别

new和malloc 文章目录 new和malloc前言一、属性上的区别二、使用上的区别三、内存位置的区别四、返回类型的区别五、分配失败的区别六、扩张内存的区别七、系统调度过程的区别总结 前言 new和malloc的知识点,作为一个嵌入式工程师是必须要了解清楚的。new和malloc的…

【从问题中去学习k8s】k8s中的常见面试题(夯实理论基础)(二十九)

本站以分享各种运维经验和运维所需要的技能为主 《python零基础入门》:python零基础入门学习 《python运维脚本》: python运维脚本实践 《shell》:shell学习 《terraform》持续更新中:terraform_Aws学习零基础入门到最佳实战 《k8…

python画图|极坐标下的3D surface

前述学习过程中,我们已经掌握了3D surface的基本绘制技巧,详见链接: python画图|3D surface基础教程-CSDN博客 基础教程中的3D surface绘制位于笛卡尔坐标系,但有时候会用到极坐标绘图。虽然我们已经学过简单的极坐标绘图技巧&a…

基于paddleocr的批量图片缩放识别

说明 在进行ocr文字识别的时候,有时候我们需要使用批量测试的功能,但是有些图片会识别失败或者个别根本识别不出来,这时候我们可以通过对原图片进行缩放,提高图像的分辨率,然后再次识别,这样可以大大提高图…