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

shell练习(3)

源码编译安装httpd 2.4,提供系统服务管理脚本并测试

(建议两种方法实现)

下载链接:https://dlcdn.apache.org/httpd/httpd-2.4.62.tar.gz

先装C 和 C++ 编程中常用的工具

[root@openEuler-22 ~]# yum install gcc gcc-c++ make -y

再查看解压

解压:

#将解压后的文件存放到 /usr/local/src/ 目录下
[root@openEuler-22 ~]# tar xf  httpd-2.4.62.tar.gz -C /usr/local/src/

创建一个名为 apache 的系统组和系统用户


#-r 表示创建系统组,-g 48 表示组 ID 为 48
[root@openEuler-22 ~]# groupadd -r -g 48 apache

#-r 表示创建系统用户,-u 48 表示用户 ID 为 48,-g 48 表示用户所属组为 apache 组,
# -c "Apache server" 表示用户的注释为 "Apache server",-s /sbin/nologin 表示用户的登录 
#shell 为 /sbin/nologin,即不允许该用户登录系统
[root@openEuler-22 ~]# useradd -r -u 48 -g 48 -c "Apache server" -s /sbin/nologin apache

运行 configure 脚本,为 Apache 服务器的编译做准备

# 切换到 /usr/local/src/httpd-2.4.62/ 目录
[root@openEuler-22 src]# cd /usr/local/src/httpd-2.4.62/

# 运行 configure 脚本,--prefix=/usr/local/apache 表示将 Apache 服务器安装到 
#/usr/local/apache 目录下
[root@openEuler-22 httpd-2.4.62]#./configure --prefix=/usr/local/apache

#会发现无法运行,因为还缺少依赖包,依次将显示出来缺少的包下载下来,直到可以运行成功

# 使用 yum 安装 apr-devel 开发库,用于 Apache 服务器的编译
[root@openEuler-22 httpd-2.4.62]# yum install apr-devel -y

# 使用 yum 安装 apr-util-devel 开发库,用于 Apache 服务器的编译确认
[root@openEuler-22 httpd-2.4.62]# yum install apr-util-devel -y

# 使用 yum 安装 pcre-devel 开发库,用于 Apache 服务器的编译
[root@openEuler-22 httpd-2.4.62]# yum install pcre-devel -y

#无缺少依赖包
[root@openEuler-22 httpd-2.4.62]#./configure --prefix=/usr/local/apache

成功截图:

使用 make 命令编译 Apache 服务器源代码

[root@openEuler-1 httpd-2.4.62]#make

# 使用 make install 命令将编译好的 Apache 服务器安装到系统中
[root@openEuler-22 httpd-2.4.62]# make install

# 切换到 /usr/local/apache/bin 目录,这里存放着 Apache 服务器的可执行文件和控制脚本
[root@openEuler-22 httpd-2.4.62]# cd  /usr/local/apache/bin

# 使用 vim 编辑器编辑 apachectl 文件,该文件通常是 Apache 服务器的控制脚本
[root@openEuler-22 bin]# vim apachectl

# 尝试使用 systemctl 启动 httpd 服务,这里应该是启动 Apache 服务器服务
[root@openEuler-22 bin]# systemctl start httpd


http://www.kler.cn/a/506467.html

相关文章:

  • 一文掌握Docker
  • 我要成为算法高手-DFS篇
  • px、em 和 rem 的区别:深入理解 CSS 中的单位
  • Redis哨兵(Sentinel)
  • 算法每日双题精讲 —— 二分查找(二分查找,在排序数组中查找元素的第一个和最后一个位置)
  • Windows部署NVM并下载多版本Node.js的方法(含删除原有Node的方法)
  • SQL-leetcode—626. 换座位
  • opencv_图像处理_去噪声_采用中值滤波
  • 设计模式相关面试
  • php审计1-extract函数变量覆盖
  • 数据仓库的复用性:模型层面通用指标体系、参数化模型、版本化管理
  • Rust中的Rc. Cell, RefCell
  • redis-6.26主从配置
  • 【AI落地】如何创建字节的coze扣子工作流 ——以“批量获取抖音视频文案”为例
  • Ubuntu 的内置字体中哪些字体支持中文
  • Windows系统命令cmd集锦(Windows System Command cmd Collection)
  • mac下安装nvm的node版本管理工具
  • Linux:System V - 信号量
  • 基于API接口的电商数据可视化探索与实践
  • 论文笔记-arXiv2025-A survey about Cold Start Recommendation
  • [RabbitMQ] RabbitMQ运维问题(RabbitMQ完结)
  • 刷刷题刷题刷题
  • 学成在线_内容管理模块_创建模块工程
  • Linux安装docker,安装配置xrdp远程桌面
  • 基于JavaEE的超市外卖系统的设计与实现_springboot+vue
  • 使用贪心算法解决最小生成树问题