Linux:http服务(Apache 2.4.57)源码编译——配置网站 || 入门到入土

news2024/12/28 5:11:33

目录

1.下载源码包

2.配置httpd运行环境

3.编译源码包安装apache软件

4.优化执行路径

5.添加httpd系统服务

正文

1.httpd服务器的基本配置

2.本章持续更新


我的服务器为centos7系统


1.下载源码包

访问官方网站↓↓↓

Welcome! - The Apache HTTP Server Project

↑↑↑

选择   Download 

 你可以选择

httpd-2.4.57.tar.bz2

也可以选择

httpd-2.4.57.tar.gz

他俩只是归档压缩的方式不一样,使用解归档的命令也有点差别外就没什么了

我这里选择的是httpd-2.4.57.tar.bz2

直接点击httpd-2.4.57.tar.bz2就会自动下载

 

 将这个文件传入Linux中


2.配置httpd运行环境

现在httpd-2.4.57.tar.bz2已经传入当前工作目录

tar xfj httpd-2.4.57.tar.bz2 -C /usr/src/

# 将他解归档解入/usr/src/

在开始配置编译他之前我们还要做一些准备工作!!!

 rpm -e httpd --nodeps

# 如果系统自带httpd这个软件要删除掉,两个软件不能同时运行

yum -y install apr apr-devel cyrus-sasl-devel expat-devel libdb-devel openldap-devel apr-util-devel apr-util pcre-devel pcre gcc make

# 安装一下需要的环境

 现在运行环境准备完成了 就可以去编译安装了


3.编译源码包安装apache软件

cd /usr/src/httpd-2.4.57/

在 /usr/src/httpd-2.4.57目录下使用

./configure --prefix=/usr/local/httpd --enable-so  --enable-rewrite  --enable-charset-lite  --enable-cgi

中途千万别切换目录,中途千万别切换目录,中途千万别切换目录 

# 把他安装到/usr/local/httpd 后面的参数意思如下

--prefix:指定将httpd服务程序安装到哪个目录,如/usr/local/httpd。

--enable-so:启用动态加载模块支持,使httpd具备进一步扩展功能的能力。

--enable-rewrite:启用网页地址重写功能,用于网站优化及目录迁移维护。

--enable-charset-lite:启动字符集支持,以便支持使用各种字符集编码的网页。

--enable-cgi:启用CGI脚本程序支持,便于扩展网站的应用访问能力。

 到这里还没完!!!! 接着使用make继续编译安装

make

 需要耐心等待

等到结束 还没有结束 !!!!中途千万别切换目录 使用make install继续安装

make install

 还需耐心等待  这次编译安装完成  就是真正的完成了

 

 现在就编译安装完成了

但是现在如果要开启服务还要跑到很远的路径下开启服务,别急,看下面的优化


4.优化执行路径

现在他只是安装到了系统上了,也是可以去启动他,去配置文件也能实现效果

但是启动他还是十分的费劲,总感觉他不是系统的一部分

而且他还没有写入环境变量所以直接输入

 在系统的bin环境里并没有他的东西

ln -s /usr/local/httpd/bin/* /usr/local/bin/

# 把他的bin文件链接到bin下,这时再去 httpd -v

让他真正变成系统的一部分


5.添加httpd系统服务

cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd 

# 把他启动程序复制到 init.d 下实现开机自启

 

 vi /etc/init.d/httpd

# 配置一下他 只需要修改他的前三行

 这个是他默认文档,修改为

#!/bin/bash
# chkconfig: 35 85 15
# description: Startup script for the Apache HTTP Server

# chkconfig--- 服务识别参数,在运行级别3,5中启动。服务启动和关闭顺序分别为85、15.

# description----服务描述信息

chkconfig --add httpd

#将其改为开机自启

 开机自启


正文

1.httpd服务器的基本配置

修改你的主机名,因为等会配置文件要用(默认的也可以,只要不输入错误就行)

我这里使用的永久修改的命令,配文件也是一样的效果

hostnamectl set-hostname + 你的主机名

hostname

查看当前主机名

 vim /usr/local/httpd/conf/httpd.conf

 

201 行 (如果你的版本是以前的,可以:200 跳转到第200行,基本就离200不是很远)

在202行写入

ServerName 你的主机名

我的主机名是 www.tarro.com所以写入

ServerName www.tarro.com

/usr/local/httpd/bin/apachectl -t 

检测文件是否出错

 /etc/init.d/httpd start

开启成功 

 

 这里如果没有访问成功。那就要关闭你系统的防火墙和selinux

systemctl stop firewalld

setenforce 0

 你可以对html进行简易的编辑查看效果

vi /usr/local/httpd/htdocs/index.html

 

 


2.本章持续更新

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

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

相关文章

ONLYOFFICE Docs 7.4 版本大大增强了图形编辑功能!

ONLYOFFICE Docs 7.4 版本大大增强了图形编辑功能! 书接上文: 北冰洋汽水我的最爱https://mp.weixin.qq.com/s?__bizMzI2MjUyNzkyNw&mid2247493734&idx1&sn416c4ee5756ea59883591d3c2c4a6ae4&chksmea4b66bedd3cefa89050e25b661e0be16…

malloc 背后的虚拟内存 和 malloc实现原理

面试的时候经常会被问到 malloc 的实现。从操作系统层面来说,malloc 确实是考察面试者对操作系统底层的存储管理理解的一个很好的方式,涉及到虚拟内存、分页/分段等。下面逐个细说。 1. 虚拟内存 首先需要知道的是程序运行起来的话需要被加载的物理内存…

spark 和 flink 的对比

一、设计理念 Spark 的数据模型是 弹性分布式数据集 RDD(Resilient Distributed Dattsets),这个内存数据结构使得spark可以通过固定内存做大批量计算。初期的 Spark Streaming 是通过将数据流转成批 (micro-batches),即收集一段时间(time-window)内到达的…

【计算机组成原理】——知识点复习(期末不挂科版)

课本: 考试题型: 题型一、计算题(30分) 1、定点数表示:用原码、反码、补码、移码表示十进制数(5分) 2、浮点数表示:十进制数↔单精度浮点数(5分) 3、加减运…

行业报告 | AI+制造业赋能,机器视觉开启掘金新大陆(上)

原创 | 文 BFT机器人 01 核心要点 Al制造业赋能,META 发布 SAM 助力机器视觉迎来 GPT 时刻。 机器视觉技术使得工业设备能够“看到”它正在进行的操作并进行快速决策,完整机器视觉系统由硬件软件组成,分别进行成像和图像处理工作。 目前,以“…

全网超全,接口自动化测试实战总结详全,这几个阶段你知道吗?

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 接口自动化根本目…

【深入浅出 Spring Security(十)】权限管理的概述和使用详情

权限管理 一、授权的核心概念二、权限管理策略权限表达式(SpEL Spring EL)1. 基于 URL 的权限管理(过滤器)基本用法 2. 基于 方法 的权限管理(AOP)EnableGlobalMethodSecurity基本用法 三、权限管理之版本问…

游戏中用脚开飞机实现方案

看看这个图片,有人用脚开飞机,用几个踏板去控制,在游戏中,开飞机的操作比较简单,上升,下降,加减油门,方向左,方向右。 android设备中,使用模拟点击就可以实现…

好用的电容笔有哪些推荐?apple pencil的平替笔测评

随着平板电脑在校园、办公室中的应用越来越广泛,需要一种具有良好性能的电容笔。苹果品牌原装的这支电容笔,虽然功能很强,但因为其的价格实在是太贵了,所以只是用来学习记笔记,实在是太浪费了。所以,哪个电…

python接口自动化(一)--什么是接口、接口优势、类型(详解)

简介 经常听别人说接口测试,接口测试自动化,但是你对接口,有多少了解和认识,知道什么是接口吗?它是用来做什么的,测试时候要注意什么?坦白的说,笔者之前也不是很清楚。接下来先看一下…

计算机网络——自顶向下方法(第一章学习记录)

什么是Internet? 可以从两个不同的方面来理解Internet。(它的构成。它的服务) 1.因特网的主要构成 处在因特网的边缘部分就是在因特网上的所有主机,这些主机又称为端系统(end system),端系统通过因特网服…

openEuler+Linaro合作成果展示|2023开放原子全球开源峰会

2023年6月11~13日,2023年开放原子全球开源峰会(OpenAtom)在北京经济开发区北人亦创国际会展中心召开,本届峰会旨在搭建全球开源生态发展合作交流平台,聚焦开源生态建设发展,并组织了openEuler、…

STL容器——unordered_set的用法

0、概述 unordered_set容器,可直译为无序 set 容器。即 unordered_set容器和 set 容器很像,唯一的区别就在于 set容器会自行对存储的数据进行排序,而 unordered_set 容器不会。下面是set、multiset和unordered_set之间的差别。 注意这三种集…

计算机网络管理 SNMP协议实用工具MIB Browser的安装和使用

⬜⬜⬜ 🐰🟧🟨🟩🟦🟪(*^▽^*)欢迎光临 🟧🟨🟩🟦🟪🐰⬜⬜⬜ ✏️write in front✏️ 📝个人主页:陈丹宇jmu &am…

qt常用基本类

文章目录 点直线时间相关的类 qt里面打印log或者打印东西&#xff0c;自带打印函数qDebug 里面<<插入操作符可以写任意类型 qDebug()<<"im ssss"<<520; //默认给你带换行//也能加endl&#xff0c;那就多换一行并不是说printf或者cout就不能用了…

[进阶]Java:阶段项目02——首页、登录、客户操作页

代码演示&#xff1a; public class MovieSystem {/*** 定义系统的数据容器用户存储数据* 1.存储很多用户&#xff08;客户对象&#xff0c;商家对象&#xff09;*/public static final List<User> ALL_USERS new ArrayList<>();/*** 2.存储系统全部商家和其排片…

Zebec Protocol 与 PGP 深度合作,将流支付更广泛的应用于薪资支付领域

Zebec Protocol 与 PGP 深度合作&#xff0c;将流支付更广泛的应用于薪资支付领域 随着传统机构的入局&#xff0c;以及相关加密合规法规的落地&#xff0c;加密支付正在成为一种备受欢迎的全新支付方式。加密支付基于区块链底层&#xff0c;不受地域、时间等的限制&#xff0c…

网络安全 log4j漏洞复现

前言&#xff1a; log4j被爆出“史诗级”漏洞。其危害非常大&#xff0c;影响非常广。该漏洞非常容易利用&#xff0c;可以执行任意代码。这个漏洞的影响可谓是重量级的。 漏洞描述&#xff1a; 由于Apache Log4j存在递归解析功能&#xff0c;未取得身份认证的用户&#xff…

Gof23设计模式之简单工厂/静态工厂模式

在java中&#xff0c;万物皆对象&#xff0c;这些对象都需要创建&#xff0c;如果创建的时候直接new该对象&#xff0c;就会对该对象耦合严重&#xff0c;假如我们要更换对象&#xff0c;所有new对象的地方都需要修改一遍&#xff0c;这显然违背了软件设计的开闭原则。如果我们…

工地临边防护缺失识别检测算法 opencv

工地临边防护缺失识别检测系统通过opencvpython网络模型技术&#xff0c;工地临边防护缺失识别检测算法检测到没有按照要求放置临边防护设备时&#xff0c;将自动发出警报提示现场管理人员及时采取措施。Python是一门解释性脚本语言&#xff0c;是在运行的时候将程序翻译成机器…