Linux[高级管理]——使用源码包编译安装Apache网站
🏡作者主页:点击!
👨💻Linux高级管理专栏:点击!
⏰️创作时间:2024年5月31日14点20分
🀄️文章质量:96分
在Linux系统上编译和安装Apache HTTP Server是管理员和开发人员常用的一项技能。这种方法提供了更大的灵活性和控制权,允许你根据特定需求自定义配置和模块。通过从源代码编译安装Apache,可以确保使用最新的功能和修复,同时优化服务器性能和安全性。本文将详细介绍如何从源码包下载、解压、配置、编译和安装Apache HTTP Server,并进行基本配置以启动和运行一个Apache网站。
目录
💯趣站💯
↘️1.下载安装所需的包
🔙上传/解压安装包
↕️2.编译安装软件
↔️查看httpd版本号
↖️启动服务
↗️编辑配置文件
↙️查看端口
↙️主机名映射
↙️测试
完成效果
↘️1.下载安装所需的包
缺失安装包之后 会导致后续安装出错
yum install -y gcc gcc-c++ make apr apr-devel apr-util-devel pcre pcre-devel
各个软件包的作用
gcc
:GNU Compiler Collection的C编译器。用于编译C语言程序。
gcc-c++
:GNU Compiler Collection的C++编译器。用于编译C++语言程序。
make
:一个构建工具,用于自动化编译软件程序的过程,主要根据Makefile
文件的指令进行编译。
apr
:Apache Portable Runtime库,提供了一组跨平台的编程接口,用于实现高性能的服务器应用程序。
apr-devel
:APR库的开发文件,包括头文件和静态库,供编写使用APR库的程序时使用。
apr-util-devel
:APR Utility库的开发文件,提供了一些APR库的辅助功能和扩展功能。
pcre
:Perl Compatible Regular Expressions库,提供了一套与Perl语言兼容的正则表达式功能。
pcre-devel
:PCRE库的开发文件,包含头文件和静态库,供编写使用PCRE库的程序时使用。
下载vim和上传工具(你的电脑可能已经安装,再敲一编也没事)
🔙上传/解压安装包
上传文件(Apache的安装包)
zxf
:tar
命令的选项:
z
:使用gzip解压缩。x
:提取文件。f
:指定要处理的文件名(在这里是httpd-2.4.59.tar.gz
)。
httpd-2.4.59.tar.gz
:要解压的tar.gz文件名。
-C /usr/src/
:指定解压缩的目标目录(/usr/src/
)。-C
选项告诉tar
将文件解压到指定目录,而不是当前目录。
↕️2.编译安装软件
进入你解压后的目录 也就是/usr/src/httpd.... 可以TAB出来
./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enablecharset-lite --enable-cgi && make && make install
命令解释
./configure
:这是一个配置脚本,用于检查系统环境并设置编译选项。它生成一个适合系统的Makefile文件。
--prefix=/usr/local/httpd
:指定安装路径。这里表示将软件安装到/usr/local/httpd
目录下。
--enable-so
:启用DSO(动态共享对象)支持,允许使用动态加载的模块。
--enable-rewrite
:启用URL重写模块(mod_rewrite),用于重写请求的URL。
--enable-charset-lite
:启用轻量级字符集转换支持。
--enable-cgi
:启用CGI(Common Gateway Interface)支持,允许运行CGI脚本。
&&
:逻辑AND操作符,确保前一条命令成功执行后才执行下一条命令。
make
:根据configure
生成的Makefile文件,编译源代码生成可执行文件和库。
make install
:将编译生成的文件安装到指定的目录(--prefix
指定的路径)。
编译安装完成之后查看
[root@localhost httpd-2.4.59]# ls /usr/local/httpd/
bin cgi-bin error icons logs manual
build conf htdocs include man modules
创建软连接
ln /usr/local/httpd/bin/* /usr/local/bin/
这条命令用于创建符号链接,将/usr/local/httpd/bin
目录下的所有文件链接到/usr/local/bin
目录中。这样可以方便地从命令行调用这些可执行文件,而不必输入完整路径。
好处
-
方便使用:现在可以直接运行
apachectl
和httpd
等命令,而不需要指定完整路径
↔️查看httpd版本号
root@localhost ~]# httpd -v
Server version: Apache/2.4.59 (Unix)
Server built: May 31 2024 11:42:35
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
将/usr/local/httpd/bin/apachectl
复制到/etc/init.d/
目录并命名为httpd
,是一种将Apache HTTP Server配置为系统服务的方式。这可以让你使用标准的服务管理命令来启动、停止和管理Apache HTTP Server。
↖️启动服务
[root@localhost ~] service httpd start
↗️编辑配置文件
[root@localhost ~] vim /usr/local/httpd/conf/httpd.conf
开启ServerName
[root@localhost ~] service httpd restart
↙️查看端口
[root@localhost ~] netstat -nultp | grep 80
tcp6 0 0 :::80 :::* LISTEN
19699/httpd
编辑网页文件(这里我随意写了个htmll测试使用)
[root@localhost ~] cd /usr/local/httpd/htdocs/
[root@localhost htdocs] ls
index.html
[root@localhost htdocs] vim index.html
[root@localhost htdocs] systemctl stop firewalld
↙️主机名映射
[root@localhost ~] vim /etc/hosts
将你的IP地址和你的主机名关联起来
↙️测试
打开浏览器访问主机名或者IP地址都是可以的
我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=2r5gehowo8isg
相关文章:

Linux[高级管理]——使用源码包编译安装Apache网站
🏡作者主页:点击! 👨💻Linux高级管理专栏:点击! ⏰️创作时间:2024年5月31日14点20分 🀄️文章质量:96分 在Linux系统上编译和安装Apache HTTP Server是…...

Docker+JMeter+InfluxDB+Grafana 搭建性 能监控平台
JMeter原生报告的缺点: 无法实时共享 报告信息的展示不美观 需求方案 为了解决上述问题,可以通过 InfluxDB Grafana解决 : InfluxDB :是一个开源分布式指标数据库,使用 Go 语言编写,无需外部依赖 应用&am…...

NoSQL实战(MongoDB搭建主从复制)
什么是复制集? MongoDB复制是将数据同步到多个服务器的过程; 复制集提供了数据的冗余备份并提高了数据的可用性,通常可以保证数据的安全性; 复制集还允许您从硬件故障和服务中断中恢复数据。 保障数据的安全性 数据高可用性 (2…...
【讯为Linux驱动开发】3.内核空间和用户空间
【问】内存空间的组成部分?? 内存空间分为内核空间和用户空间 1.内核空间控制硬件资源,提供系统调用接口,保护系统自身安全稳定 2.用户空间实现业务逻辑 【问】如何进入内核空间使用硬件资源? 1.系统调用 2.软中断 3.…...

AI论文:一键生成论文的高效工具
说到这个问题,那真的得看你对“靠谱”的定义是怎样的啦? 众所周知,写论文是一项极其耗时间的事情,从开始的选题到文献资料搜索查阅,大纲整理等等一大堆的繁杂工作是极艰辛的。用AI写论文就不一样了,自动化…...

申请医疗设备注册变更时,需要补充考虑网络安全的情况有哪些?
在申请医疗器械设备注册变更时,需要补充网络安全的情况主要包括以下几点: 网络安全功能更新:如果医疗器械的自研软件发生网络安全功能更新,或者合并网络安全补丁更新的情形,需要单独提交一份自研软件网络安全功能更新…...
打对钩的方式做人机验证(vue+javascript)
要实现一个通过打对钩方式的人机验证,并且让它不容易被破解,可以考虑以下几点: 动态生成选项和题目:每次生成的验证选项和题目都不一样,防止简单的脚本通过固定的答案绕过验证。使用图像和文字混合验证:增…...
可视化脚本用于使用MMDetection库进行图像的目标检测
# Copyright (c) OpenMMLab. All rights reserved. import asyncio from argparse import ArgumentParserfrom mmdet.apis import (async_inference_detector, inference_detector,init_detector, show_result_pyplot) import denseclip# 解析命令行参数 def parse_args():pars…...

React-组件通信
组件通信 概念:组件通信就是组件之间的数据传递,根据组件嵌套关系的不同,有不同的通信方法 父传子 基础实现 实现步骤: 1.父组件传递数据-在子组件标签上绑定属性 2.子组件接收数据-子组件通过props参数接收数据 props说明 1.…...

低代码选型要注意什么问题?
低代码选型时,确实需要从多个角度综合考虑,以下是根据您给出的角度进行的分析和建议: 公司的人才资源: 评估团队中是否有具备编程能力的开发人员,以确保能够充分利用低代码平台的高级功能和进行必要的定制开发。考察实…...

fpga入门 串口定时1秒发送1字节
一、 程序说明 FPGA通过串口定时发送数据,每秒发送1字节,数据不断自增 参考小梅哥教程 二、 uart_tx.v timescale 1ns / 1psmodule uart_tx(input wire sclk,input wire rst_n,output reg uart_tx);parameter …...
总结一下自己,最近三年,我做了哪些工作
简单总结下吧,我算是业务架构师,确实对得起这个名字,经常冲在一线,业务和架构相关的东西都有做,系统比较复杂,不过逐步了解谁都会熟悉的 下面简单列一列我这三年的工作情况吧,也算是给自己一个交…...

SpringCloud Gateway基础入门与使用实践总结
官网文档:点击查看官网文档 Cloud全家桶中有个很重要的组件就是网关,在1.x版本中都是采用的Zuul网关。但在2.x版本中,zuul的升级一直跳票,SpringCloud最后自己研发了一个网关替代Zuul,那就是SpringCloud Gateway一句话…...

TensorBoard在pytorch训练过程中如何使用,及数据读取问题解决方法
TensorBoard 模块导入日志记录文件的创建训练中如何写入数据如何提取保存的数据调用TensorBoard面板可能会遇到的问题 模块导入 首先从torch中导入tensorboard的SummaryWriter日志记录模块 from torch.utils.tensorboard import SummaryWriter然后导入要用到的os库࿰…...

【Vue】普通组件的注册使用-全局注册
文章目录 一、使用步骤二、练习 一、使用步骤 步骤 创建.vue组件(三个组成部分)main.js中进行全局注册 使用方式 当成HTML标签直接使用 <组件名></组件名> 注意 组件名规范 —> 大驼峰命名法, 如 HmHeader 技巧…...

爬虫之反爬思路与解决手段
阅读时间建议:4分钟 本篇概念比较多,嗯。。 0x01 反爬思路与解决手段 1、服务器反爬虫的原因 因为爬虫的访问次数高,浪费资源,公司资源被批量抓走,丧失竞争力,同时也是法律的灰色地带。 2、服务器反什么…...

2.1.4 采用配置类与注解方式使用MyBatis
实战概述:采用配置类与注解方式使用MyBatis 创建MyBatis配置类 在net.huawei.mybatis.config包中创建MyBatisConfig类,用于配置MyBatis核心组件,包括数据源、事务工厂和环境设置。 配置数据源和事务 使用PooledDataSource配置MySQL数据库连接…...

微信小程序云开发实现利用云函数将数据库表的数据导出到excel中
实现目标 将所有订单信息导出到excel表格中 思路 1、在页面中bindtap绑定一个导出点击事件daochu() 2、先获取所有订单信息,并将数据添加到List数组中 3、传入以List数组作为参数,调用get_excel云函数 4、get_excel云函数利用node-xlsx第三方库&#…...

python 字符串(str)、列表(list)、元组(tuple)、字典(dict)
学习目标: 1:能够知道如何定义一个字符串; [重点] 使用双引号引起来: 变量名 "xxxx" 2:能够知道切片的语法格式; [重点] [起始: 结束] 3:掌握如何定义一个列表; [重点] 使用[ ]引起来: 变量名 [xx,xx,...] 4:能够说出4个列表相关的方法; [了解] ap…...

Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动
一、前言说明 在2011版本的gb28181协议中,拉取视频流只要求udp方式,从2016开始要求新增支持tcp被动和tcp主动两种方式,udp理论上会丢包的,所以实际使用过程可能会出现画面花屏的情况,而tcp肯定不丢包,起码…...
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...

IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)
文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...

从 GreenPlum 到镜舟数据库:杭银消费金融湖仓一体转型实践
作者:吴岐诗,杭银消费金融大数据应用开发工程师 本文整理自杭银消费金融大数据应用开发工程师在StarRocks Summit Asia 2024的分享 引言:融合数据湖与数仓的创新之路 在数字金融时代,数据已成为金融机构的核心竞争力。杭银消费金…...
基于鸿蒙(HarmonyOS5)的打车小程序
1. 开发环境准备 安装DevEco Studio (鸿蒙官方IDE)配置HarmonyOS SDK申请开发者账号和必要的API密钥 2. 项目结构设计 ├── entry │ ├── src │ │ ├── main │ │ │ ├── ets │ │ │ │ ├── pages │ │ │ │ │ ├── H…...

算法打卡第18天
从中序与后序遍历序列构造二叉树 (力扣106题) 给定两个整数数组 inorder 和 postorder ,其中 inorder 是二叉树的中序遍历, postorder 是同一棵树的后序遍历,请你构造并返回这颗 二叉树 。 示例 1: 输入:inorder [9,3,15,20,7…...

内窥镜检查中基于提示的息肉分割|文献速递-深度学习医疗AI最新文献
Title 题目 Prompt-based polyp segmentation during endoscopy 内窥镜检查中基于提示的息肉分割 01 文献速递介绍 以下是对这段英文内容的中文翻译: ### 胃肠道癌症的发病率呈上升趋势,且有年轻化倾向(Bray等人,2018&#x…...

河北对口计算机高考MySQL笔记(完结版)(2026高考)持续更新~~~~
MySQL 基础概念 数据(Data):文本,数字,图片,视频,音频等多种表现形式,能够被计算机存储和处理。 **数据库(Data Base—简称DB):**存储数据的仓库…...

开源项目实战学习之YOLO11:12.6 ultralytics-models-tiny_encoder.py
👉 欢迎关注,了解更多精彩内容 👉 欢迎关注,了解更多精彩内容 👉 欢迎关注,了解更多精彩内容 ultralytics-models-sam 1.sam-modules-tiny_encoder.py2.数据处理流程3.代码架构图(类层次与依赖)blocks.py: 定义模型中的各种模块结构 ,如卷积块、残差块等基础构建…...