Apache服务器的安装及相关问题处理方案

学习安装了好几天,Apache服务器的源码安装方式的整个过程大致清晰了,这里记录一下,欢迎大家一起讨论,谢谢!

这里主要讲述了以下3点:

安装Apache服务器的整个过程

安装过程报Cannot use an external APR with the bundled APR-util的错误

安装过程报端口被占用的错误

使用当前最新版本:2.2.27,前往官网下载httpd,下面进行安装演示。

1.进入下载好的httpd-2.2.27.tar.gz文件所在目录,执行解压操作:

输入命令:tar -zxvf httpd-2.2.27.tar.gz

解压后会有一个文件夹如图:

image

2.进入解压出的文件夹根目录:

输入命令:cd httpd-2.2.27

文件夹内文件大致如图所示:

image

3.进行编译参数配置:

输入命令: ./configure --prefix=/usr/local/apache2 --enable-mods-shared=all

编译参数配置这里可能会遇到报Cannot use an external APR with the bundled APR-util的错误,我之前也遇到了,但是当时没有记录,所以就引用了别人的放在文章末尾处做为提示。

4.编译安装:

输入命令:make && make install

安装完成后在/usr/local/文件夹下有一个apache2文件,就是第3步配置所致。如图:

image

文件夹内文件如图:

image

5.安装完成后还需要配置conf/httpd.conf文件,修改当中的Servername,这里演示配置为localhost:80,以后可以按需更改

(这里我先前没有配置,后面的错误信息和这里没有配置也有部分关系,需要注意)

image

这里httpd.conf文件的配置还有部分参数,大家可以参考这里的一篇文章进行配置

地址:

6.启动Apache服务

输入命令:

/usr/local/apache2/bin/apachectl start

我这里出现了端口被占用的错误信息

------------------------------------------------------错误信息-------------------------------------------------------------------------------------------

正在启动 httpd:httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName(98)Address already in use: make_sock: could not bind to address [::]:80(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80

no listening sockets available, shutting down

Unable to open logs

----------------------------------------------------------------------------------------------------------------------------------------------------------

部分人可能也会遇到我这个问题,我这里记录一下,如下:

image

这里进行故障诊断,查看80端口的使用情况以及进行处理

输入命令:

netstat –lnp | grep 80

ps xxx(对应端口号)

kill –9 xxx(对应端口号)

发现是由于先前配置遗留所致,进行修改

输入命令:

vi /etc/rc.d/rc.local

修改后再次查询,结果如下:

image

 

这里是修改/etc/rc.d/rc.local文件,将先前遗留下来的东西去掉

image

修改后查看端口使用情况

输入命令:netstat –lnp | grep 80

image

这里还是开启了这个端口,为什么呢?

使用其他处理命令处理:

输入命令:

ps –aux | grep http

ps –aux | grep apache

kill –9 xxx(xxx表示上述查找结果对应端口号)

image

接下来看看端口使用情况

输入命令:netstat –lnp | grep 80

启动服务: /usr/local/apache2/bin/apachectl start

image

打开浏览器,输入localhost:80查看是否启动成功,结果如下,启动成功

image

这里安装有时也会有这个问题,我之前也遇到过,但是没有记录了,这里引用别人的文章里面的一段记录一下:

---------------------------------------------------------------------------------------------------------------------------------------

3.2 关于在安装apache过程中报Cannot use an external APR with the bundled APR-util错误的解决办法

参考至:

有时候,在安装apache,执行./configure操作时会报这个错误,解决方法是安装apache2.2.x自身携带的apr,方法为:

1.自源码安装目录httpd-2.2.21进入apache2.2.x自带apr的安装目录

cd srclib/apr

2.安装apr(此处将之安装在/usr/local/apr下,如果系统中已经安装apr,可找到安装目录进行覆盖)

./configure --prefix=/usr/local/apr

makemake install

3.安装apr-util

./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr

make

make install

4.使用新安装的apr重新进行apache编译配置

放回安装根目录httpd-2.2.21,执行:

./configure --prefix=/usr/local/apache2 --enable-mods-shared=all --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/bin

补充:

如果你安装是apache-2.4以上版本,有以下几点不同:

1、需要单独下载apr和apr-util

apr下载地址:

apr-util下载地址:

2. 此外还需要安装pcre

去下载pcre,解压进入源码目录执行

./configure --prefix=/usr/local/pcre

3. 最后安装apache时configure需要这样配置

./configure --prefix=/usr/local/apache2 --enable-mods-shared=all --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/bin --with-pcre=/usr/local/pcre

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/1db51a756b6429f6463b2eca89d2c4b9.html