• 玩转Linux之Apache服务器的安装及相关问题处理方案


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

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

    1. 安装Apache服务器的整个过程
    2. 安装过程报Cannot use an external APR with the bundled APR-util的错误
    3. 安装过程报端口被占用的错误

    使用当前最新版本: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文件的配置还有部分参数,大家可以参考这里的一篇文章进行配置

    地址:http://tonyguo.blog.51cto.com/379574/168534

    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错误的解决办法

    参考至:http://blog.csdn.net/bluishglc/article/details/6867358

    有时候,在安装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下载地址: http://mirror.bjtu.edu.cn/apache//apr/apr-1.4.6.tar.bz2

    apr-util下载地址:http://mirror.bjtu.edu.cn/apache//apr/apr-util-1.4.1.tar.bz2

    2. 此外还需要安装pcre

    去http://pcre.org/下载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



    转载请注明出处:http://blog.csdn.net/yannanying/article/details/42966749

    我的CSDN博客地址:http://blog.csdn.net/yannanying
  • 相关阅读:
    Javascript 时间Date()的一般用法
    vue搭建
    初次见面
    css3边框
    appium移动自动化测试-one demo
    appium移动自动化测试-安装2
    appium移动自动化测试-安装1
    python数据类型
    判断软键盘是不是可见
    android 设置Dialog的宽度
  • 原文地址:https://www.cnblogs.com/yannanying/p/4342743.html
Copyright © 2020-2023  润新知