编译安装Apache httpd服务

目录

[1.初始化设置,将Apache所需软件包传到 /opt 目录下](#1.初始化设置,将Apache所需软件包传到 /opt 目录下)

(1)关闭防火墙

(2)上传软件包到/opt目录

2.安装环境依赖包

3.配置软件模块

4.编译及安装

5.优化配置文件路径,并把httpd服务的可执行程序文件放入路径环境变量的目录中便于系统识别

6.添加httpd系统服务

7.修改httpd服务配置文件

8.浏览器访问验证

打开虚拟机浏览器


1.初始化设置,将Apache所需软件包传到 /opt 目录下

(1)关闭防火墙

bash 复制代码
systemctl stop firewalld.service           #关闭防火墙

setenforce 0                               #关闭selinux防火墙

(2)上传软件包到/opt目录

2.安装环境依赖包

bash 复制代码
mount /dev/sr0 /mnt                                                 #挂载镜像
yum -y install gcc gcc-c++ make pcre pcre-devel expat-devel perl    #安装服务
  • gcc #C语言的编译器
  • gcc-c++ #C++的编译器
  • make #源代码编译器(源代码转换成二进制文件)
  • pcre #pcre是一个Perl函数库,包括perl 兼容的正则表达式库
  • pcre-devel #perl的接口开发包
  • expat-devel #用于支持网站解析HTML、XML文件
  • perl #perl语言编译器

3.配置软件模块

复制代码
cd /opt/                          #切换/opt/目录
 
tar xf apr-1.6.2.tar.gz           #解压apr-1.6.2.tar.gz    

tar xf apr-util-1.6.0.tar.gz      #解压apr-util-1.6.0.tar.gz 

tar xf httpd-2.4.29.tar.bz2       #解压httpd-2.4.29.tar.bz2 

mv apr-1.6.2 /opt/httpd-2.4.29/srclib/apr               #移动文件

mv apr-util-1.6.0 /opt/httpd-2.4.29/srclib/apr-util     #移动文件

cd /opt/httpd-2.4.29/                             #切换目录

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

4.编译及安装

复制代码
make                          #make -j 3  表示开3核同时进行编译
make install

5.优化配置文件路径,并把httpd服务的可执行程序文件放入路径环境变量的目录中便于系统识别

复制代码
ln -s /usr/local/httpd/conf/httpd.conf /etc/       
ln -s /usr/local/httpd/bin/* /usr/local/bin/

6.添加httpd系统服务

bash 复制代码
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd            #复制文件
chmod +x /etc/init.d/httpd                                     #添加执行权限
vim /etc/init.d/httpd                                          #编辑文件
复制代码
chkconfig --add httpd              #将httpd服务加入到service管理器

systemctl start httpd.service                                  #启动服务

7.修改httpd服务配置文件

复制代码
vim /etc/httpd.conf                           #修改文件
复制代码
httpd -t                                         #检查配置文件的配置项是否有误
apachectl -t

8.浏览器访问验证

复制代码
netstat -lntp | grep 80                  #检查80号端口是否打开

echo "20.0.0.3 www.xy.com" >> /etc/hosts 输入20.0.0.3 www.xy.com追加

打开虚拟机浏览器

http://20.0.0.3 http://www.xy.com 进行验证

相关推荐
失散133 小时前
分布式专题——47 ElasticSearch搜索相关性详解
java·分布式·elasticsearch·架构
默 语4 小时前
消息中间件选型的艺术:如何在RocketMQ、Kafka、RabbitMQ中做出正确决策
java·架构·kafka·消息队列·rabbitmq·rocketmq·技术选型
心之伊始5 小时前
RocketMQ 与 Kafka 架构与实现详解对比
架构·kafka·rocketmq
云宏信息6 小时前
【深度解析】VMware替代的关键一环:云宏ROW快照如何实现高频业务下的“无感”数据保护?
服务器·网络·数据库·架构·云计算·快照
Zender Han7 小时前
《从零搭建现代 Android 模块化架构项目(2025 最新实践)》
android·架构
初听于你9 小时前
深入了解—揭秘计算机底层奥秘
windows·tcp/ip·计算机网络·面试·架构·电脑·vim
文火冰糖的硅基工坊10 小时前
[嵌入式系统-134]:智能体以及其嵌入式硬件架构
科技·嵌入式硬件·架构·嵌入式·gpu
fakerth11 小时前
【OpenHarmony】医疗传感器模块架构
架构·操作系统·openharmony
没有bug.的程序员13 小时前
云原生与分布式架构的完美融合:从理论到生产实践
java·分布式·微服务·云原生·架构
JanelSirry14 小时前
分布式和微服务的区别是什么?
分布式·微服务·架构