• linux http服务源码编译安装详解


    相信大家大多都听过linux 的编译安装,但它到底是怎么把源代码变为自己电脑里可以应用的软件哪?今天,小编就以httpd 为例详细讲解一下。

    什么是编译安装——编译:将源代码变为机器可执行的代码文件。安装:将可执行文件安装到操作系统里,才可以使用。

    一、下载httpd最新版本的源码包

    1如果电脑里有老版本的情况下,rpm -qi httpd 查看详细信息,里边有这个命令下载的官网,没有老版本就去官网查找。

     

    2)去官网下载最新版本(自己想要的版本)(一般在downloads下)

     

    3rz上传到linux 解压包 tar -xf  httpd-2.4.27.tar.bz2

     

    二、查看INSTALLREADME 这些帮助信息

    进入cd httpd-2.4.27/

    查询 cat INSTALL,里边有简单的安装过程,和一些例子

     

    查询 cat README,(what is it ?)里边有一些Apache 的功能介绍

    三、configure脚本(检测当前编译环境)

    1./configure --help 查询这个脚本的用法,

    --prefix=PREFIX  指定默认安装总目录, 默认为/usr/local/

    --sysconfdir=/PATH 配置文件安装位置,默认就安装到指定安装总目录的下面

     

     Optional Features:  需要什么功能

    --disable-FEATURE 关闭某些功能

    --enable-FEATURE 开启某些功能

     

    2)下面我们就来执行这个脚本,添加一些简单的设置

    ./configure --prefix=/app/apache24 --sysconfdir=/etc/apache24  --enable-rewrite

    首次安装,会提示出一些错误,因为有些包没有安装

     

    我们只需按照提示的错误,把需要的都安装上去(直到没有提示错误)

    先查询缺少的 yum search apr-devel(一般关于开发的都叫 devel

    再安装 yum -y install apr-devel

     

    中间会提示一个,没有C编译工具,缺少gcc的错误,这时候,我们需要下一个包组Development Tools

    yum -y groupinstall "Development Tools"

    ③ configure脚本完全执行成功(多了一个Makefile)没有Makefile ,不能下面make过程

     

    四、make    和    make install 编译

    make 编译后,多了很多.o .lo 文件 (二进制文件),在此之前的工作,任何用户都能做,并且都在httpd-2.4.27 这个目录下进行

     

    make install 安装到指定位置,只有root 能做,

    安装完毕

     

    五、启动服务 

    1netstat -ntl  查看本地监听端口,有没有开启80端口

    如果没有开启, service httpd start 开启80端口

     

    2)设置防火墙,因为防火墙组织了80端口

      iptables -vL  查看防火墙策略,防火墙阻止,可以关闭防火墙

      systemctl status firewalld.service 查看当前防火墙状态(只有centos 7 中有)

        或 systemctl is-active firewalld.service  查看当前防火墙状态

      systemctl stop firewalld.service 暂时关闭防火墙(下次开机会在开启)

     

      systemctl is-enabled firewalld.service  查看开机时是否开启防火墙

      systemctl disable firewalld.service  设置开机时不开启防火墙

     

    如果是centos 6 以下的较低版本

      service iptables stop 关闭防火墙

      chkconfig httpd off 设置开机时不开启防火墙

    3)如果是安装新版本,需现将旧版本卸载 rpm -e httpd rpm -qf `which httpd`查询当前版本)

    4/app/apache24/bin/apachectl start  开启服务

     

    就此服务开启成功!!!

    /app/apache24/bin/apachectl stop 可以关闭服务

    六、安装后的配置

    1)设置PATH   export PATH=$PATH:/app/apache24/bin/

      设置后,可以 apachectl start 开启服务

                  apachectl stop 关闭服务

    2)导入帮助手册man           

      vim /etc/man_db.conf

      加入一行 MANDATORY_MANPATH                       /app/apache24/man

     

    就可以man apachectl

          到此就完成所有工作了!!!

                                                   希望对大家有帮助,有什么错误请告诉我~

  • 相关阅读:
    浅谈Slick(2)- Slick101:第一个动手尝试的项目
    浅谈Slick(1)- 基本功能描述
    Cats(4)- 叠加Free程序运算结果,Stacking monadic result types
    Cats(3)- freeK-Free编程更轻松,Free programming with freeK
    Cats(2)- Free语法组合,Coproduct-ADT composition
    Cats(1)- 从Free开始,Free cats
    Scalaz(59)- scalaz-stream: fs2-程序并行运算,fs2 running effects in parallel
    Scalaz(58)- scalaz-stream: fs2-并行运算示范,fs2 parallel processing
    Scalaz(57)- scalaz-stream: fs2-多线程编程,fs2 concurrency
    Scalaz(56)- scalaz-stream: fs2-安全运算,fs2 resource safety
  • 原文地址:https://www.cnblogs.com/along21/p/7381642.html
Copyright © 2020-2023  润新知