Linux系统服务:Apache安装及配置应用

news2024/9/23 17:11:05

目录

一、Apache安装

1、Apache简介

2、Yum安装

3、编译安装

4、服务管理

5、编译安装实现systemctl服务管理

二、Apache配置应用

1、基础应用

2、隐藏版本号 

3、更改监听端口


一、Apache安装

1、Apache简介

  Apache即阿帕奇是一款开源的、世界使用排名第一的Web服务器软件,其特点是简单高效、稳定安全所以被广泛应用于计算机技术的各个领域,但现在由于其抗并发性问题现在新公司大部分都使用Nginx代替。

2、Yum安装

①yum安装与其他程序一样可以直接使用命令:yum install  httpd  -y。

②安装过程中注意查看提示信息,若无外网则需要配置本地yum源进行安装。

③出现以下提示即表示安装成功。注意:若出现error字样则表示安装出错!!!

④ yum安装默认的主配置文件位置: /etc/httpd/conf/httpd.conf。

⑤ yum安装默认的主页面配置文件夹位置: /var/www/html/。注:此文件夹为默认安装时该服务器httpd服务的根目录,即访问时如:https://192.168.30.12/  最后的/根目录表示为此文件夹!!!

⑥ yum安装默认的日志文件位置:/var/log/httpd/access_log此为正常日志记录,/var/log/httpd/error此为错误日志记录。

3、编译安装

①需要准备Apache的三个压缩包分别为:apr依赖包、apr-util依赖包以及httpd主包。本实验三个包在资源下载中即可下载名称为:编译安装Apache源码包。

②将源码包拖入到/opt目录中并解压,将apr和apr-util包剪切到httpd主包的srclib中并将版本号去掉

tar xf apr-1.6.2.tar.gz
#解压apr包
tar xf apr-util-1.6.0.tar.gz
#解压apr-util包
tar xf  httpd-2.4.29.tar.bz2
#解压httpd主包
mv /opt/apr-1.6.2 /opt/httpd-2.4.29/srclib/apr
#移动arp包到httpd主包的srclib中并重命名为apr
mv /opt/apr-util-1.6.0  /opt/httpd-2.4.29/srclib/apr-util
#移动arp-util包到httpd主包的srclib中并重命名为apr-util

 ③安装依赖环境顿编译工具等。

yum -y install gcc gcc-c++ make pcre pcre-devel expat-devel perl openssl-devel

#yum -y install \                yum安装,-y表示直接同意
#gcc \							 C语言的编译器
#gcc-c++ \						 C++的编译器
#make \							 源代码编译器(源代码转换成二进制文件)
#pcre \							 pcre是一个Perl函数库,包括perl 兼容的正则表达式库
#pcre-devel \                    perl的接口开发包
#expat-devel \                   用于支持网站解析HTML、XML文件
#perl \                          perl语言编译器
#openssl-devel                   ssl开发包

④环境准备完毕后进行编译安装三步曲:检测安装环境及工具、编译安装、写进磁盘。

⑤第一步:检测安装环境及工具,指定安装目录并开启基本功能。

cd /opt/httpd-2.4.29
#进入httpd主包中
./configure --prefix=/apps/httpd --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-included-apr --enable-modules=most --enable-mpms-shared=all --with-mpm=event

./configure \                    当前目录执行httpd包中的configure脚本
--prefix=/usr/local/httpd \		 指定将 httpd 服务程序的安装文件路径
--enable-so \					 启用动态加载模块支持,使 httpd 具备进一步扩展功能的能力
--enable-rewrite \				 启用网页地址重写功能,用于网站优化、防盗链及目录迁移维护
--enable-charset-lite \			 启动字符集支持,以便支持使用各种字符集编码的页面
--enable-cgi					 启用CGI(通用网关接口)脚本程序支持,便于网站的外部扩展应用访问能力

⑥第二步 :编译安装,此步骤是将包中源码转为二进制给服务器。

make -j  2

#make   编译安装
# -j 表示编译时指定几个cpu,注意:指定cpu时真机或虚拟机有几个指定几个不可超出,超出无效 

 ⑦第三步:写进磁盘,此步骤是将转为二进制的源码存进磁盘中至此编译安装Apache结束。

⑧编译安装主配置文件位置:/apps/httpd/conf/httpd.conf。/apps为安装是指定的安装目录,若安装在其他目录则在对应目录下的/httpd/conf/httpd.conf。

⑨编译安装主页面配置文件夹位置:/apps/httpd/htdocs。  /apps为安装是指定的安装目录,若安装在其他目录则在对应目录下的/httpd/htdocs。此文件夹为默认安装时该服务器httpd服务的根目录,即访问时如:https://192.168.30.12/  最后的/根目录表示为此文件夹!!!

⑩编译安装的日志文件位置:/apps/httpd/logs/access_log此为正常日志记录,/apps/httpd/logs/error此为错误日志记录。/apps为安装是指定的安装目录,若安装在其他目录则在对应目录下的/httpd/logs/access_log和/httpd/logs/error

4、服务管理

①yum安装的Apache服务自带systemctl管理。

systemctl start httpd
#开启服务
systemctl stop httpd
#关闭服务
systemctl status httpd
#查看服务状态

②编译安装可以使用绝对路径来开启关闭服务。/apps/httpd/bin/指定安装路径的bin中有apache服务管理的脚本。若指定的非/apps则在对应目录下的 /httpd/bin/中。

/apps/httpd/bin/apachectl  start
#绝对路径执行apachectl脚本开启服务
/apps/httpd/bin/apachectl  stop
#绝对路径执行apachectl脚本关闭服务

5、编译安装实现systemctl服务管理

vim /lib/systemd/system/httpd.service
#在lib/systemd/system/文件夹中创建一个.service结尾的文件,一般文件名与服务对应。
文件内容:

[Unit]
#软件描述
Description=The Apache HTTP Server
#服务的描述
[Service] 
#指定如何启动此程序
Type=forking
#类型
ExecStart=/apps/httpd/bin/apachectl start
#指定启动服务目录
ExecReload=/apps/httpd/bin/apachectl graceful
#指定热加动服务目录
ExecStop=/apps/httpd/bin/apachectl stop
#指定关闭服务目录
KillSignal=SIGCONT
PrivateTmp=true
[Install]
WantedBy=multi-user.target
#在图形界面开启
#保存退出后执行以下命令:

systemctl  daemon-reload 
#重新加载systemctl配置文件
systemctl start httpd
#开启服务
systemctl stop httpd
#关闭服务
systemctl reload httpd
#热加载服务,即不停止服务只加载发生过变化的内容
systemctl status httpd
#查看服务状态

二、Apache配置应用

1、基础应用

①httpd  -t  检查主配置文件是否有问题,有Syntax OK字样则表示无问题。

②httpd  -h 表示查看帮助。

③httpd  -v 表示查看版本。

④本机访问配置的httpd服务。

systemctl stop firewalld 
#关闭防火墙
setenforce 0
#关闭selinux

浏览器输入服务器地址即可

⑤修改页面内容为自己想看到的内容。

vim /apps/httpd/htdocs/index.html
#打开编译安装的主页面配置文件
修改文件内容:

successful

⑥在服务器上查看上传的图片,首先拖一张图片到/apps/httpd/htdocs/目录下。访问时只需要在服务器地址的httpd服务根目录后面加上文件名即可例如本机的:192.168.30.12/a.jpg。

2、隐藏版本号 

①默认情况下是可以在访问页面是查看到版本号,方法如下。

②若是yum安装隐藏版本号只需要在主配置文件最后一行中添加:ServerTokens Prod[uctOnly] :Server: Apache,然后重启服务即可。

③编译安装需要在主配置文件开启从配置:加入此行 Include conf/extra/httpd-default.conf
然后在此文件中将此配置修改为:ServerTokens Prod  重启服务即可。

3、更改监听端口

①yum安装和编译安装更改监听端口都是在主配置文件中找到Listen 80 将80改为自己想要监听的端口重启服务即可。

②例如更改为8080,访问时就需要服务器地址:端口号即192.168.30.12:8080

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

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

相关文章

2023 年腾讯云服务器CVM快速配置购买教程,新手上云必备!

腾讯云服务器快速配置购买教程是新手必备的上云教程。主机教程网在本文中以腾讯云服务器为例,给大家带来一个完整的、手把手教学的服务器购买流程。助力快速完成服务器的购买、配置、以及网站的搭建,给新手节省宝贵的时间,避免采坑&#xff0…

【软件测试】大厂测试开发你真的了解吗?测试开发养成记......

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

2D图像处理:2D ShapingMatching_缩放_旋转_ICP_显示ROI

文章目录 调试结果参考调试说明问题0:并行运行问题问题1:模板+Mask大小问题问题2:组合缩放和旋转问题3:可以直接将计算边缘的代码删除问题4:如何在原始图像上显示匹配到的ROI问题5:计算的原始旋转角度不需要判断,直接可以在ICP中使用问题6:绘制坐标轴问题7:绘制ROI调试…

Nginx - 深入理解nginx的处理请求、进程关系和配置文件重载

概述 Nginx的系统学习整理的第三篇博客,主要介绍nginx的应用场景和架构基础,以便更好的理解,再生产环境中进行性能调优。 Nginx的三个主要应用场景 1.静态资源服务,通过本地文件系统提供服务 2.反向代理服务,强大的性…

AOSP Android11系统源码和内核源码

推荐阅读 商务合作 安全产品 安全服务 2023年招聘 安全培训服务 软件定制服务 Android系统定制服务 安全/软件开发的课程列表 1.下载repo工具 (1).创建bin,并加入到PATH中 mkdir ~/binPATH~/bin:$PATH (2).安装依赖库 sudo apt-get install bison g-mult…

leetcode练习一:数组(二分查找、双指针、滑动窗口)

文章目录一、 数组理论基础二、 二分查找2.1 解题思路2.2 练习题2.2.1 二分查找(题704)2.2.2 搜索插入位置(题35)2.2.3 查找排序数组元素起止位置(题34)2.2.4 有效的完全平方数(题367)2.2.5 x 的平方根&…

MySQL——单表、多表查询

一、单表查询 素材: 表名:worker-- 表中字段均为中文,比如 部门号 工资 职工号 参加工作 等 CREATE TABLE worker ( 部门号 int(11) NOT NULL, 职工号 int(11) NOT NULL, 工作时间 date NOT NULL, 工资 float(8,2) NOT NULL, 政治面貌 varcha…

Mask-RCNN(2) : 代码使用

Mask- RCNN原理及网络详解,参见:Mask- RCNN网络详解 1. Mask-RCNN代码使用 该项目参考自pytorch官方torchvision模块中的源码(使用pycocotools处略有不同) 环境配置 Python3.6/3.7/3.8Pytorch1.10或以上pycocotools(Linux:pip install pycocotools; …

直面原理:5 张图彻底了解 Android TextToSpeech 机制

ChatGPT 如此火爆,但它的强悍在于 NLU(自然语言理解)、DM(对话管理)和 NLG (自然语言生成)这三块,而 Recognition 识别和 TTS 播报这两块是缺失的。假使你的 App 接入了 ChatGPT&…

rar压缩文件暴力破解

1. 简介 rar 压缩文件资源又不少是被加密的,密码通常也比较简单,我们可以通过暴力破解的方式来获取,通常耗时也比较小 程序地址:rar压缩密码暴力破解程序 2. 使用说明 2.1 基本语法 rar-bruteforce-crack.py [--start START] …

【visio使用技巧】图片导出pdf时去掉多余空白

问题 在visio导出pdf格式的图片时,往往会存在多余的白边,如下图所示: 解决方法 依次点击:菜单栏→文件→选项→自定义功能区→勾选“开发工具”→确定。 依次点击菜单栏→开发工具→显示ShapeSheet→页→Print Properties→将…

Ros中如何给UR5配置自定义工具 | 在Rviz中给UR5机器人装载定义工具 | UR5配置自定义末端执行器

前言 在学习和项目研究的过程中,我需要在Ur5e上装上工具,以对现实场景进行仿真。网上会有一些装载/配置现成的夹爪,例如Robotiq等。但和我们装载自定义工具的场景还有些差异,因此写一篇博客记录,可能有偏差。如果有问…

宝塔面板轻量云服务器部署spring boot java后端、vite vue3前端、nginx。

环境 初始时宝塔面板推荐应用安装选择 根据开发或者测试。选择安装配置,等待两个安装任务完成。 niginxmysql 安装jdk 显示jdk列表 yum -y list java* 安装指定版本 yum install -y java-1.8.0-openjdk.x86_64 默认安装到 usr/lib/jvm/ ,无需再配置…

干货 | 简单了解运算放大器...

运算放大器发明至今已有数十年的历史,从最早的真空管演变为如今的集成电路,它在不同的电子产品中一直发挥着举足轻重的作用。而现如今信息家电、手机、PDA、网络等新兴应用的兴起更是将运算放大器推向了一个新的高度。01 运算放大器简述运算放大器&#…

Linux环境变量讲解

目录 环境变量 alias命令 type命令 变量分类 Linux最主要的全局环境变量 环境变量 变量是计算机系统用于保存可变数值的数据类型 在Linux中,一般变量都是大写,命令是小写 在Linux中,变量直接使用,不需要定义(更快…

Spring框架自定义实现IOC基础功能/IDEA如何手动实现IOC功能

继续整理记录这段时间来的收获,详细代码可在我的Gitee仓库Java设计模式克隆下载学习使用! 7.4 自定义Spring IOC 创建新模块,结构如图![[Pasted image 20230210173222.png]] 7.4.1 定义bean相关POJO类 7.4.1.1 定义propertyValue类 /** …

Linux--POSIX信号量--基于环形队列的生产消费模型-0208

1. 什么是信号量 共享资源由于原子性的原则,任何时刻都只有一个执行流在进行访问。表现为互斥,也就代表共享资源起始是被当做整体来访问的。 那如果有一个共享资源,不当成一个整体,让不同的执行流访问不同的资源区域代码&#x…

67 自注意力【动手学深度学习v2】

67 自注意力【动手学深度学习v2】 深度学习学习笔记 学习视频:https://www.bilibili.com/video/BV19o4y1m7mo/?spm_id_fromautoNext&vd_source75dce036dc8244310435eaf03de4e330 给定长为n 的序列,每个xi为长为d的向量,自注意力将xi 既当…

Java中的异常处理

1.概述 在 Java 中,所有的异常都有一个共同的祖先java.lang包中的 Throwable类。 异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的。 比如说,你的代码少了一个分号,那么运行出来结果…

二叉树和堆的讲解和实现(图解+代码/C语言)

今天和大家分享的是二叉树的实现,关于遍历二叉树部分均采用递归的方式实现,最后附上部分OJ题供大家练习。 文章目录一、树的概念及结构1.1 树的概念1.2 树的相关概念1.3 树的表示二、二叉树的概念及结构2.1 概念2.2 二叉树的性质2.3 二叉树的存储结构2.…