Apache 源码包2.4.41版本 | 学习笔记

简介: 快速学习 Apache 源码包2.4.41版本

开发者学堂课程【阿里云上搭建 LAMP 环境实战:Apache 源码包2.4.41版本】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/663/detail/11087


Apache 源码包2.4.41版本


内容介绍

一、安装 Apache

1.安装依赖包

2.安装 apr

3.安装 expat 库

4.安装 pcre

5.安装 zlib

6.安装 mod_ssl

7.httpd 软件安装

8、启动 Apache 测试

本章进行 Apache 的安装,各个软件安装顺序没有规定,建议先安装Apache

 

一、安装 Apache

1. 安装依赖包

先在 Xshell 命令框中输入以下命令,解压安装 Apache 需要的所有软件和依赖包到当前目录下,即/root/lamp/下

# tar -xf httpd-2.4.41.tar.gz

# tar-xf apr-1.6.5.tar·gz

(apr和apr-util是apache中分出来的包)

# tar-xf apr-util-1.6.1.tar.gz(工具包)

# tar-xf pcre-8.43.tar·gz(正则需要的包)

# tar -xf zlib-1.2.11.tar.gz(解压缩需要的包)

在此按照上述顺序依次解压即可,全部解压完毕输入命令#ls 即可看到各个依赖被添加成功。

2. 安装 apr

源码包2.4.*版本中默认没有集成 apr 的依赖包,所以需要提前解决依赖问题。

根据语句可以知晓,仅需要把 apr 放在 srclib 目录下去除版本号即可。apr-util 也是一样,具体操作将以下两条指令输入命令框即可。

#cp -a/root/lamp/apr-1.6.5/root/lamp/httpd-2.4.41/srclib/apr

#cp-a/root/lamp/apr-util-1.6.1/root/lamp/httpd-2.4.41/5rclib/apr-util

3.安装 expat 库

同时如果缺少 expat 库,否则在编译 apr.时会出错 apr-util.,致命错误:expat.h:没有那个文件或目录。所以接下来输入以下指令来安装expat库,不需要源码安装,yum安装即可。

#yum install -expat-devel

解压 apr 和 ap-util,复制整个目录并取消目录上的版本号到指定位置,./configure 时会检测。

4.安装 pcre

因为 Apache 默认需要依赖 pcre,软件,但由于 Apache 软件版本较高,则系统预安装的 pcre 无法使用,所以安装需要人为手动安装适合版本,它的安装不需要指定位置,将以下四行指令敲入即可。

# cd /root/lamp/pcre-8.43

# ./configure

# make

# make install

之后输入# make

5.安装 zlib

安装zlib的时候也不需要指定目录,只需首先使用#cd..回到上一目录,来到 cd /root/lamp/zlib-1.2.11目录下,依次输入安装配置的指令即可。

# cd /root/lamp/zlib-1.2.11

#./configure

# make

# make install

6.安装 mod_ssl

mod_ssl 不需要源码安装直接使用 yum 源安装即可,同时 Apache 的加密传输模块需要安装此软件产生加密有关的操作。

# yum -y install openssl-devel

7. httpd 软件安装

接下来就正式安装Apache的各种软件,首先输入#cd ..进入到 Apache 的目录下,输入:#cd httpd-2.4.41,寻找目录时候,可以输入:#ls 查看当前目录下是否是 Apache 所在目录。

配置 apache 配置文件的目录,包含 apr 之前拷贝的目录,包括 so 和一些有关重写的模块,指定 ssl 等等,为了防止敲错,直接将以下前9条命令粘贴到指令框即可。(注意:粘贴时要注意所属目录是否匹配)

# cd/lamp/httpd-2.4.41

#./configure \

--prefix=/usr/local/apache2 \

--sysconfdir=/usr/local/apache2/etc\(apahce配置文件的目录)

--with-included-apr \

--enable-so  \

--enable-deflate=shared \

--enable-expires=shared \

--enable-rewrite=shared \

--enable-ss\  

#make(等待前面的语句执行之后,输入 make 编译)

#make install(编译完成后再输入 make install 安装)

--enable-ss选项是为了后期实现 https 提前设置的参数。

在安装完成后可以输入指令:#echo $?查看是否有错误,为0则表示成功。

8、启动 Apache 测试

① Apahce 是一个服务器需要启动80端口,

所以输入指令:#netstat -tnl 可以查看端口的开启情况。可以看到此时只开启了22端口。

image.png

② 输入命令:#cd user/local/apache2/和#ls查看其目录结构。

其中 bin 目录是 apache 一些关于启动、关闭、调优的命令。

如:启动使用的命令为:#./apachectl -m;执行命令为:#./ap

achectl -H;查看 apache 支持的模块:# /user/local/apache2/bin/ap。同时如果使用 rpm 包安装或者系统其他的安装自带的服务,都会自动将其启动到服务中去。

在此也可以一块一块的将服务去制作,当然也可以使用环境变量,在 Apache 的 bin目录就可以直接使用命令,最后在源码包安装时,知道目录也可以达到这样的效果。

③ 输入:# /user/local/apache2/bin/apachectl start 后开启

Apache 失败,报错显示没有 ServerName 不知该如何访问。

要解决此问题,首先找到 Apache 位于 etc 目录下的 httpd.config 的主配置文件,依次输入:

#cd ..

#ls

#cd etc/

#ls

同时如果采用 rpm 包的安装方式,Apache 就会将所有内容放到主配置文件中,而用源码安装,因为 Apache 的配置文件十分长所以他会按照功能分成许多个小的配置文件。

输入:#cd extra/#ls

就可以看到(如图)

image.png

④ 解决80端口没有被打开的问题

输入命令:

#vi httpd.conf

?ServerName

找到#ServerName www.example.com:80语句将其80端口给打开,变为:ServerName localhost:80,输入:wq!,此时它的域名还没有绑定指定本机的localhost即可.最后重新再将apache2的bin目录下的Apache打开:# /user/local/apache2/bin/apachectl start,在输入:#netstal -tnl开启就可以看到80端口运行成功。

image.png

如果想要停止80端口只需要输入指令:# /user/local/apache2/bin/apachectl stop即可。

l 主要步骤:

#/user/local/apache2/bin/apachectl start

# pS aux I grep httpd

使用进程查看命令确认 Apache 是否启动,是否产生进程

# netstat -tlun

使用网络进程查看命令确认 Apache 是否启动,是否开启了80鉴听端口

注意事项: Centos 7操作系统上 Apache 默认监听了 lpv6 地址的 80端口,没有监听ipv4 的地址,所以需要修改下配置文件使其监听。

Listen 0.0.0.0:80

报错提示:若启动时提示/usr/local/apache2/modules/mod_deflate.so无权限,可关闭SELinux解决,类似此类.so文件不能载入或没有权限的问题,都是SELinux.问题,MySQL 和 Apache 都可能有类似问题。

警告提示:发现启动服务提示。AH00558: httpd:Could not reliably determine the server's fully

解决办法:打开主配置文件 httpd.conf 搜索 ServerName

(约在200行左右)

改为 ServerName localhost:80(并且去掉前面的#注释)

验证:通过浏览器输入地址访问: http://服务器ip,若显示“lt works”即表明Apache 正常工作。

发布实例

等待以上操作都完成之后,我们查看是否能够发布实例,复制实例的公网 ip:47.92.200.135,我们要查看公网 ip 只能通过 Apache 的控制台去访问。

image.png

在地址栏输入47.92.200.135会默认使用80端口和 http,看到成功访问之后,我们就可以发布静态网站了,发布网站的目录在 Apache 的根目录下的 htdocs 目录下,同时这个目录可以通过修改 Apache 的配置文件来改变。

输入指令如下:

#cd ..(返回上一目录)

#ls

#pwd

#cd htdocs/

#clear(清屏)

l 编写 test.html

同时在此目录下还具有一个 index.html,输入指令#vi index.html即可查看。同时也可以输指令:#vi test.html 来编写页面,如:在 test.html 添加内容:

<meta charset=“utf-8”>

这是我们的第一个页面

最后输入:wq!执行,访问 apache 下的 test.html 即可访问我们编写的页面。

image.png

l 编写 test.php

先输入命令行:#vi test.php

在其中设置 test.php 文件的内容,编写一个测试的循环,代码如下:

for($i=0;$i<10;$i++){

echo”=={$i}
\n”;

}

最后输入:wq!执行后再在 Apache 中访问可以看到此时输出的并非结果,而是源代码,说明 Apache 并没有解析 php 的能力需要先给 php 解析器去解析之后再把结果返回 Apache 服务器去展示。

以上就是所有安装 Apache 需要的软件,我们需要记忆的有 Apache 启动、关闭和写网页的页面在哪,端口是否开启,怎么请求访问等等。

相关文章
|
6月前
|
SQL 存储 JSON
阿里云数据库 SelectDB 内核 Apache Doris 2.1.0 版本发布:开箱盲测性能大幅优化,复杂查询性能提升 100%
亲爱的社区小伙伴们,Apache Doris 2.1.0 版本已于 2024 年 3 月 8 日正式发布,新版本开箱盲测性能大幅优化,在复杂查询性能方面提升100%,新增Arrow Flight接口加速数据读取千倍,支持半结构化数据类型与分析函数。异步多表物化视图优化查询并助力仓库分层建模。引入自增列、自动分区等存储优化,提升实时写入效率。Workload Group 资源隔离强化及运行时监控功能升级,保障多负载场景下的稳定性。新版本已经上线,欢迎大家下载使用!
阿里云数据库 SelectDB 内核 Apache Doris 2.1.0 版本发布:开箱盲测性能大幅优化,复杂查询性能提升 100%
|
6月前
|
缓存 安全 Java
阿里云数据库 SelectDB 内核 Apache Doris 2.0.6 版本正式发布
阿里云数据库 SelectDB 内核 Apache Doris 2.0.6 版本正式发布
|
6月前
|
运维 Linux Apache
LAMP架构调优(一)——隐藏Apache版本信息
LAMP架构调优(一)——隐藏Apache版本信息
50 1
|
2月前
|
SQL 消息中间件 关系型数据库
Apache Doris Flink Connector 24.0.0 版本正式发布
该版本新增了对 Flink 1.20 的支持,并支持通过 Arrow Flight SQL 高速读取 Doris 中数据。
|
25天前
|
前端开发 Java API
Apache Seata(incubating) 首个版本重磅发布!
2.1.0 是 Seata 进入 Apache 基金会的第一个 Release Version。此次发布将 io.seata 包名更改为 org.apache.seata。除了按原有的 Roadmap 技术演进外,2.1.0 进行了大量兼容性工作,实现了 API、数据和协议的兼容。用户无需修改原有的 API 和配置,即可实现到 Apache 版本的平滑升级。
Apache Seata(incubating) 首个版本重磅发布!
|
27天前
|
存储 SQL 缓存
Apache Doris 3.0 里程碑版本|存算分离架构升级、湖仓一体再进化
从 3.0 系列版本开始,Apache Doris 开始支持存算分离模式,用户可以在集群部署时选择采用存算一体模式或存算分离模式。基于云原生存算分离的架构,用户可以通过多计算集群实现查询负载间的物理隔离以及读写负载隔离,并借助对象存储或 HDFS 等低成本的共享存储系统来大幅降低存储成本。
Apache Doris 3.0 里程碑版本|存算分离架构升级、湖仓一体再进化
|
6月前
|
SQL 存储 Apache
Apache Doris 2.1.3 版本正式发布
Apache Doris 2.1.3 版本正式发布!该版本在功能特性上对数据湖、物化视图、负载管理等方面进行了多项更新,进一步简化湖仓一体架构、加速了查询性能。 欢迎大家下载体验~
|
2月前
|
SQL 存储 缓存
Apache Doris 2.1.6 版本正式发布
2.1.6 版本在 Lakehouse、异步物化视图、半结构化数据管理持续升级改进,同时在查询优化器、执行引擎、存储管理、数据导入与导出以及权限管理等方面完成了若干修复
|
4月前
|
SQL JSON Apache
Apache Doris 2.1.5 版本正式发布
在湖仓一体、多表物化视图、半结构化数据分析等方面进行了全面更新及改进,同时在倒排索引、查询优化器、查询引擎、存储管理等 10 余方向上完成了若干问题修复
|
5月前
|
弹性计算 JSON Cloud Native
Apache Doris 2.0.11 版本正式发布
Apache Doris 2.0.11 版本已于 2024 年 6 月 5 日正式与大家见面,该版本提交了 123 个改进项以及问题修复,进一步提升了系统的性能及稳定性,欢迎大家下载体验。

推荐镜像

更多