源码编译方式安装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软件默认的网页目录,默认存放着一个用于测试的首页。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/882206.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

E38.【C语言】练习:数据结构时间复杂度的计算

目录 1.二分法的时间复杂度 解: 2.求阶乘的时间复杂度 解: 3.递归实现斐波那契数,求时间复杂度 解: 4.时间复杂度的排名 备注:有关时间复杂度的讲解参见80.【C语言】数据结构之时间复杂度 1.二分法的时间复杂度 (代码来自E7.【C语言】练习:在一个有序数组中…

RK3568笔记六十六:Live555推流

若该文为原创文章,转载请注明原文出处。 前面移植了live555,记录使用rk3568推流 一、流程 推流过程是在前面RTMP工程上修改的。RTMP推流是采集摄像头数据,AI推理,编码成H264通过FFMEPG推流,现在把FFMPEG改成使用Live555. 步骤: 1、使用opencv采集摄像头数据 2、初始化…

CentOS 7 yum失效的解决办法

文章目录 一、CentOS 7停止维护导致yum失效的解决办法解决方案 提示:以下是本篇文章正文内容,下面案例可供参考 一、CentOS 7停止维护导致yum失效的解决办法 020 年,CentOS 项目与红帽联合宣布将全部投资转向 CentOS Stream,这是…

SpringBoot项目热部署-devtools

DevTools 会使用两个类加载器&#xff08;一个用于加载不变的类&#xff0c;一个用于加载可能会变化的类&#xff09;&#xff0c;每次重启只重新加载管理变化的类的加载器&#xff0c;因此会快很多 1.导入依赖 <dependency> <groupId>org.springframework.boot&l…

第28周:Transformer 实现文本分类 - Embedding版

目录 前言 一、前期准备 1.1 环境安装 1.2 加载数据 二、数据预处理 2.1 构建词典 2.2 进行one-hot编码 2.3 自定义数据集类 2.4 定义填充函数 2.5 构建数据集 三、模型构建 3.1 定义位置编码器 3.2 定义Transformer模型 3.3 定义训练函数 3.4 定义测试函数 四、…

RabbitMQ高级特性详解

前言 RabbitMQ是一款广泛使用的开源消息队列软件&#xff0c;它基于AMQP&#xff08;Advanced Message Queuing Protocol&#xff09;标准实现。本文将带你深入了解RabbitMQ的一些高级特性&#xff0c;包括消息确认、死信队列、延迟队列、事务处理以及消息分发策略等&#xff…

HCIE-Datacom题库_01_防火墙【18道题】

一、单选题 1.相比较于路由器、交接机&#xff0c;防火墙转发独有的模块为? 交换网板 MPU LPU SPU 解析&#xff1a; SFU&#xff08;Switch Fabric Unit&#xff09;&#xff1a;交换网板&#xff0c;负责整个系统的数据平面数据平面提供高速无阻塞数据通道&#xff0…

关于SOCKS协议的常见误区有哪些?

代理协议在设备与代理服务器之间的数据交换中起到了关键作用。在这方面&#xff0c;SOCKS代理协议是常见的选择之一&#xff0c;被广泛应用于下载、传输和上传网络数据的场景。然而&#xff0c;关于SOCKS代理协议存在一些常见的误解&#xff0c;让我们来逐一了解。 一、使用SO…

爬虫逆向-js进阶(续写,搭建网站)

1.搭建简单网站1 from flask import Flask,render_template import requests import json app Flask(name)# **location**的温度是**temp**度&#xff0c;天气状况&#xff1a;**desc**app.route(/) # 绑定处理函数 def index_url():location 101010100data get_weather(lo…

Whisper 音视频转写

Whisper 音视频转写 API 接口文档 api.py import os import shutil import socket import torch import whisper from moviepy.editor import VideoFileClip import opencc from fastapi import FastAPI, File, UploadFile, Form, HTTPException, Request from fastapi.respons…

Android中的内存泄漏及其检测方式

Android中的内存泄漏及其检测方式 一、Android内存泄漏概述 在Android开发中&#xff0c;内存泄漏是一个常见且严重的问题。内存泄漏指的是在应用程序中&#xff0c;由于某些原因&#xff0c;已经不再使用的对象仍然被引用&#xff0c;导致垃圾回收器&#xff08;Garbage Col…

图书管理新纪元:Spring Boot进销存系统

1系统概述 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及&#xff0c;互联网成为人们查找信息的重要场所&#xff0c;二十一世纪是信息的时代&#xff0c;所以信息的管理显得特别重要。因此&#xff0c;使用计算机来管理图书进销存管理系统的相关信息成为必然。开…

使用 Elasticsearch Dump 工具进行生产环境到测试环境的数据迁移与备份

es-dump 是 Elasticsearch 的一个实用工具&#xff0c;专门用于从 Elasticsearch 集群中导出或导入数据&#xff0c;支持数据、映射、别名、模板等多种类型的数据操作。它在数据迁移、备份、恢复等场景中非常实用。本文将展示如何使用 es-dump 工具执行生产到测试环境的索引复制…

【学习】word保存图片

word中有想保存的照片 直接右键另存为的话&#xff0c;文件总是不清晰&#xff0c;截屏的话&#xff0c;好像也欠妥。 怎么办? 可以另存为 网页 .html 可以得到&#xff1a; 原图就放到了文件夹里面

Selenium 中定位元素操作集合

Selenium中元素的定位与操作 在 Selenium 中定位单个元素一般通过 find_element 方法来实现&#xff0c;一组数据则是 find_elements &#xff08;定位时应该元素加载完整再 再定位&#xff0c;否则可能会出现找不到对应元素的情况出现。这里可以使用 time.sleep() 来实现等待…

C++简易日志系统:打造高效、线程安全的日志记录工具

目录 引言&#xff1a; 1.日志的基本概念 1.1.什么是日志&#xff1f; 1.2.我们为什么需要日志&#xff1f; 2.自己实现一个简易日志 2.1.日志的等级 2.2日志的格式 2.3.获取时间的方法 2.4.日志的主体实现 参数&#xff1a; 代码解析&#xff1a; 问题&#xff1a…

【ssh 密钥生成】添加后提示无权限

记录下又一个感觉自己是菜菜的事件&#xff1b; 我根据教程在新电脑生成了 ssh 密匙&#xff0c;也在页面添加了ssh密匙&#xff1b; 但是下载代码的时候就提示权限不对&#xff0c;下载不下来&#xff1b; 百度了一堆办法&#xff0c;还是不行&#xff0c;然后大佬来&#…

solid wrok笔记记录

1.平移 crtl鼠标滚轮 2.放大缩小 鼠标滚轮滚动 3.旋转 按住鼠标滚轮 4.正视 右键 选择 5。多选 ctel 框选。。。 6. 选项卡 右上角空白处右键 7.草图&#xff0c;剪多余的线段(T),鼠标含住滑动去除 8.草图的线段掰直 选中线段后&#xff0c;左侧窗口的几…

【Scala入门学习】匹配模式match

1. match匹配 match 语句用在当需要从多个分支中进行选择的场景&#xff0c;类似于java 中的switch 语句。 语法&#xff1a; 变量 match{case "值" > 语句块1 // 语句块后不用加breakcase "值2" > 语句块2case _ > 语句块N // 类似于jav…

5、JavaScript(五)

28.jquery&#xff1a;js库 简化版本的js&#xff0c;封装了现成功能的js代码。 jquery就是一些封装好了的现成的方法&#xff0c;供我们直接使用。 jquery能实现的js都能实现。 在使用 记得先引入jquery&#xff1a;在菜鸟教程上直接用jquery的绝对路径引入&#xff0c;jq…