当前位置: 首页 > news >正文

源码编译方式安装htppd软件

一.源码编译安装httpd软件

1.安装阿帕奇的依赖,安装apr软件,阿帕奇正常运行的环境这个环境就是apr。

2.安装apr-util软件,主要提供针对apr环境的管理工具,

3.安装阿帕奇软件即httpd软件。

如上图所示,就是三个软件的源码安装包

1.安装apr软件

如上图所示,是对apr软件的一系列操作。

如上图所示,这个apr的目录中有这个configure程序,现在我们需要再当前目录下运行这个configure程序,然后去配置相应的参数,比如使用--prefix去指定一下软件的安装路径。

如上图所示,发现安装apr软件的时候,缺少相应的gcc依赖

如上图所示,安装缺少的gcc依赖。

随后去重新安装apr软件,

如上图所示,随后去执行make命令去编译这个软件。

随后使用make install去真正安装这个软件。

2.安装apr-util软件

如上图所示,解压缩这个软件apr-util软件,随后进入这个软件的目录,

然后去运行./configure程序,随后使用--prefix=指定软件的安装路径,--with-apr=指定apr软件的安装路径。

如上图所示,随后使用make去编译这个软件

最后使用make install 去正式安装这个软件。

3.安装httpd软件

--enable-so用来启动阿帕奇动态加载模块的功能,

--enable-rewrite表示的是这个阿帕奇软件的url地址跳转功能。

--enable-ssl让阿帕奇支持https协议。

--enable-cgi 

--enable-cgid

也就是说能让阿帕奇能够调用其他的应用程序去解析动态网页的代码。

--enable-modules=most

--enable-mods-shared=most

也就是说为阿帕奇安装所有的功能模块。

--enable-mpm-shared=all

让阿帕奇支持所有的MPM模型

--with-mpm=event

用来指定阿帕奇的MPM模型

--with-apr=apr软件的安装路径

--with-apr-util=apr-util软件的安装路径

如上图所示,是在执行configure程序的时候系统报出的错误。

显示需要pcre的依赖,所以需要去安装这个软件

这个pcre是用来进行正则表达式支持的,主要用于url地址重写。

如上图所示,我们去安装这个pcre-devel去解决pcre的问题。

如上图所示,当解决完pcre的错误的时候,就需要去重新支持configure的程序。

如上图所示,要解决这个报错就需要去安装openssl-devel软件,去使得httpd软件支持https协议。

随后使用make对这个软件进行编译,

最后使用make install 正式安装这个软件

二.httpd启动管理

systemctl 这个命令只能用来管理系统服务,如果这个软件是用rpm软件安装包的方式安装的,

那么就可以使用systemctl命令来进行管理。

但是源码编译的httpd软件,

想要启动的话,

如上图所示,可以用httpd这个命令加上相关的选项来启动httpd服务。

如上图所示,可以用这个httpd加上-h选项来查看这个命令相关的帮助信息。

如上图所示,此时是提示我们在httpd.conf这个主配置文件中,有一行ServerName的配置,我们没有进行配置,这并不是报错。

如上图所示,阿帕奇启动默认监听80端口,

并且这个阿帕奇服务默认启动三个子进程,

如上图所示,此时证明这个httpd服务启动成功,

怎么设置服务开机自启动?

如上图所示,这个是机器自带的脚本文件,机器每一次开机都会自动执行脚本中的命令

如上图所示,就是给这个脚本文件进行的一系列编辑操作,这就能保证源码编译安装的httpd脚本软件可以开机自启动。

三.httpd相关文件介绍

如上图所示,在httpd软件的安装目录下的bin目录中,存放着关于httpd软件的命令。

如上图所示,httpd.conf就是这个源码软件httpd的主配置文件。

如上图所示,这些文件都是源码软件httpd的子配置文件。

如上图所示,这个文件保存的是httpd软件的日志信息,

如上图所示,是源码编译的httpd软件默认的网页目录,默认存放着一个用于测试的首页。

相关文章:

源码编译方式安装htppd软件

一.源码编译安装httpd软件 1.安装阿帕奇的依赖,安装apr软件,阿帕奇正常运行的环境这个环境就是apr。 2.安装apr-util软件,主要提供针对apr环境的管理工具, 3.安装阿帕奇软件即httpd软件。 如上图所示,就是三个软件的…...

MES制造执行系统原型图动端 Axure原型 交互设计 Axure实战项目

MES制造执行系统原型移动端 Manufacturing Execution System prototype MES制造执行系统原型图移动端是专门为制造执行系统设计的移动端是一个可视化的设计。用于展示和演示该系统在移动设备上的功能和界面。通过原型图,可以清晰地了解制造执行系统在移动端的各个…...

flutter 仿淘宝推荐二级分类效果

先看效果 一开始 用的PageView 做的, 然后重写PageScrollPhysics一顿魔改, 最后发现还是有一些小bug。 后面又想到pageview 能做,listview肯定也能做,最后用ListView加GridView 把功能实现了。 listview 实现pageview 的分页滑动…...

报错 - LangChain AgentExecutor - ‘function‘ object has no attribute ‘get‘

使用 AgentExecutor 调用了使用两个 tool 的agent,报一下错误: 如果 agent 只使用 一个tool,没有报错 File "/Users/xx/miniconda3/envs/env1/lib/python3.11/site-packages/pydantic/_internal/_validators.py", line 44, in sequ…...

【DIY小记】通过降低电压和Process Lasso工具优化CPU超频表现

又到了创作纪念日,秉承着笔耕不辍的理念,笔者还是继续分享一下DIY日常。 在上一篇文章当中,笔者介绍了一些作为新手小白超频CPU和NVIDIA显卡的经验。今天又有了更新,笔者通过降低CPU工作电压,并且结合Process Lasso对…...

3、Docker搭建MQTT及Spring Boot 3.x集成MQTT

一、前言 本篇主要是围绕着两个点,1、Docker 搭建单机版本 MQTT(EMQX),2、Spring Boot 3.x 集成 MQTT(EMQX); 而且这里的 MQTT(EMQX)的搭建也只是一个简单的过程&#x…...

六种定时任务记录

1、java自带的Timer Timer是java中自带的类。 优点:使用简单,缺点是当添加并执行多个任务时,前面任务的执行用时和异常将影响到后面任务。 Timer timer new Timer();timer.schedule(new TimerTask() {int i 0;Overridepublic void run() …...

Dos下编译环境搭建和C运行程序生成

文章目录 前言一、需要准备的Tool二、搭建步骤 前言 因为工作需要,需要搭建个Dos下的编译环境来进行Code App开发,如下记录下搭建过程。 一、需要准备的Tool 编译环境:Win10/win11 编译工具: DOSBox0.74 Turboc2.7z 二、搭建步骤 1.双击压…...

【MySQL】入门篇—SQL基础:数据查询语言(DQL):复杂的SELECT语句

在实际应用中,复杂的SELECT语句可以帮助我们从多个表中提取相关信息,进行数据分析,生成报告,甚至进行数据挖掘。 掌握复杂的SELECT语句对于数据分析师、数据库管理员和开发者来说是必不可少的技能。 应用场景: 多表查…...

Appium环境搭建、Appium连接真机

文章目录 一、安装Android SDK二、安装Appium-desktop三、安装Appium Inspector 一、安装Android SDK 首先需要安装jdk,这里就不演示安装jdk的过程了 SDK下载地址:Android SDK 下载 1、点击 Android SDK 下载 -> SKD Tools 2、选择对应的版本进行下…...

【X线源】关于滨松MCS2软件的说明

【X线源】关于滨松MCS2软件的说明 1.软件背景2.MCS2界面3.MCS2操作4.常见问题 1.软件背景 滨松为了方便客户将滨松MFX集成进自己的系统,滨松提供了MFX二次开发相关的信息和Demo代码。参考博客说明: 【X线源】关于滨松MFX二次开发demo示例简介 https://…...

【深度学习代码调试2】环境配置篇(中) -- 列出conda环境中所有env的pytorch版本

【深度学习代码调试2】环境配置篇(中) -- 列出conda环境中所有env的pytorch版本 写在最前面如何检查所有 Conda 环境中的 PyTorch 版本(并重点提示 PyTorch 1.7.1 版本)1. 列出所有 Conda 环境2. 检查每个环境中的 PyTorch 版本方…...

C语言运算符和表达式

1.C语言赋值运算符实例讲解 C 使用运算符(operator)来代表算术运算。例如,运算符可以使它两侧的值加在一起。如果您觉得术语“运算符”听起来比较奇怪,那么请您记住那些东西总得有个名称。与其被称之为“那些东西”或“数学符号”,被称之为“…...

RetinaNet 分类头和回归头的网络结构分析

RetinaNet 是由 Facebook AI Research(FAIR)在 2017 年提出的一种高效的一阶段(one-stage)目标检测算法。相比于两阶段(two-stage)方法,RetinaNet 通过引入 Focal Loss 解决了类别不平衡问题&am…...

app测试有哪些内容?广东深圳软件测试机构推荐

随着智能手机的普及,手机应用app越来越多,因此,企业为了更好的保证用户留存率,开发完app之后必须进行app测试。一个成功的app,软件测试是必不可少的一步,那么app测试需要进行哪些测试内容呢?深圳又有哪些靠…...

新乡医学院第一附属医院启动巨额医疗设备整体维保招标

鉴于项目本身金额巨大,又恰逢省委巡视组进驻期间,该项目备受瞩目,在业内和省内医疗圈引起了极大轰动。全国影响力最大、实力最强的企业全部参与其中,民营企业上海柯渡医疗、上海昆亚医疗以其创新的服务模式和高效的管理机制备受关注;央企通用技术集团凯思轩达医疗科技凭借雄厚的…...

Linux——综合实用操作

目录 IP与主机 ping命令 wget命令 curl命令 端口:设备与外界通讯交流的出入口 进程管理 Linux top命令Windows 任务管理器 磁盘信息监控 df iostat 网络状态监控 sar -n DEV命令 环境变量 上传,下载 压缩 解压tar,zip&#xff…...

一个Idea:爆改 T480

爆改 T480 准备大改 T480,家里有一台闲置很久的 T480,不舍得扔,打算升级一下。看了几位up主的视频后,决定动手改造。 计划如下 网卡:加装4G网卡硬盘:更换为 1T 的 NVMe 2280 固态硬盘内存:升…...

网络编程(21)——通过beast库快速实现http服务器

目录 二十一、day21 1. 头文件和作用域重命名 2. reponse时调用的一些函数 3. http_connection a. 构造函数 b. start() c. process_request() d. create_response() e. create_post_response() f. write_response() 4. Server 5. 主函数 6. 测试 1)测…...

Logback

Logback 简介 SpringBoot 内置日志框架 用来自定义控制台日志输出样式、生成日志文件 使用 由于是内置所以不需要引入,稍加配置就可以直接使用。 内置源头查看 配置application.yml # 日志配置 logging:level:com.ruoyi: logging.levelorg.springframework: war…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例

使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件,常用于在两个集合之间进行数据转移,如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model:绑定右侧列表的值&…...

线程与协程

1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...

解锁数据库简洁之道:FastAPI与SQLModel实战指南

在构建现代Web应用程序时,与数据库的交互无疑是核心环节。虽然传统的数据库操作方式(如直接编写SQL语句与psycopg2交互)赋予了我们精细的控制权,但在面对日益复杂的业务逻辑和快速迭代的需求时,这种方式的开发效率和可…...

ETLCloud可能遇到的问题有哪些?常见坑位解析

数据集成平台ETLCloud,主要用于支持数据的抽取(Extract)、转换(Transform)和加载(Load)过程。提供了一个简洁直观的界面,以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...

土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等

🔍 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术,可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势,还能有效评价重大生态工程…...

【python异步多线程】异步多线程爬虫代码示例

claude生成的python多线程、异步代码示例,模拟20个网页的爬取,每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程:允许程序同时执行多个任务,提高IO密集型任务(如网络请求)的效率…...

关于 WASM:1. WASM 基础原理

一、WASM 简介 1.1 WebAssembly 是什么? WebAssembly(WASM) 是一种能在现代浏览器中高效运行的二进制指令格式,它不是传统的编程语言,而是一种 低级字节码格式,可由高级语言(如 C、C、Rust&am…...

Unit 1 深度强化学习简介

Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库,例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体,比如 SnowballFight、Huggy the Do…...

C++:多态机制详解

目录 一. 多态的概念 1.静态多态(编译时多态) 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1).协变 2).析构函数的重写 5.override 和 final关键字 1&#…...

MinIO Docker 部署:仅开放一个端口

MinIO Docker 部署:仅开放一个端口 在实际的服务器部署中,出于安全和管理的考虑,我们可能只能开放一个端口。MinIO 是一个高性能的对象存储服务,支持 Docker 部署,但默认情况下它需要两个端口:一个是 API 端口(用于存储和访问数据),另一个是控制台端口(用于管理界面…...