美文网首页
CentOS7.4 源码安装httpd-2.4.29

CentOS7.4 源码安装httpd-2.4.29

作者: tangpy | 来源:发表于2018-01-21 22:44 被阅读0次

    第一步:准备工作。查看系统是否已经安装了httpd,如果已经安装的话,将其卸载。

    # 查看是否已经安装了httpd的相关rpm包
    [root@VM_38_201_centos /]# cd /root/
    [root@VM_38_201_centos ~]# rpm -qa |grep httpd
    httpd-tools-2.4.6-67.el7.centos.6.x86_64
    httpd-2.4.6-67.el7.centos.6.x86_64
    # 如果安装了,将其remove掉 
    [root@VM_38_201_centos ~]#yum -y remove httpd*
    

    第二步: 安装开发包组+软件依赖包

    1、安装开发包组

    安装开发包组属于通用过程,一般编译安装的时候,都需要用到开发包组提供的功能。

    #安装开发包组,开发包组里面包含了很多的编译工具软件 
    [root@iz2z ~]# yum groupinstall "Development tools" -y
    
    2、安装软件依赖包

    注:本文忽略了本机是否已安装过依赖,直接重新安装了所有依赖,也可以根据编译报错一步步安装;

    [root@iz2z ~]# yum install apr-devel -y                                                             
    [root@iz2z ~]# yum install apr-util-devel -y        
    [root@iz2z ~]# yum install pcre-devel -y                                                                  
    [root@iz2z ~]# yum install openssl-devel -y
    

    第三步: 下载文件,解包

    官网下载地址:http://httpd.apache.org/download.cgi

    1、下载文件
    [root@iz2z ~]# wget http://archive.apache.org/dist/httpd/httpd-2.4.29.tar.gz
    
    2、检查文件MD5值是否匹配:若不匹配需重新下载
    [root@iz2z ~]# md5sum httpd-2.4.29.tar.gz 
    6380b0856658f07479fdcba9e20294a6  httpd-2.4.29.tar.gz
    

    3、解压文件

    [root@iz2z ~]# tar -xzf httpd-2.4.29.tar.gz 
    [root@iz2z ~]# ls
    httpd-2.4.29  httpd-2.4.29.tar.gz
    

    第四步: 编译和安装

    进入到解压文件目录,依次运行以下命令:

    [root@iz2z httpd-2.4.29]# ./configure --prefix=/usr/local/apache2 --enable-modules=all --enable-mods-shared=all --enable-so --enable-rewrite
    [root@iz2z httpd-2.4.29]# make
    [root@iz2z httpd-2.4.29]# make install
    注:安装时 ./configure 所接参数,可根据个人需求做出更改
    

    第五步: 启用httpd服务

    [root@iz2z ~]# /usr/local/apache2/bin/apachectl start
    在浏览器中输入服务器ip,即可访问页面
    

    也可以将路径配置到环境变量中:直接命令行中输入apachectl start即可启动

    [root@iz2z ~]# echo export PATH=/usr/local/apache2/bin:$PATH >>/etc/profile
    [root@iz2z ~]# source /etc/profile
    [root@iz2z ~]# apachectl start
    

    httpd 的简单配置:(未列出配置文件中的所有信息,只列出自己目前用到的)

    [root@VM_38_201_centos ~]# vim /usr/local/apache2/conf/httpd.conf
    #服务的路径
    ServerRoot "/usr/local/httpd2"
    
    #监听端口
    Listen 8888
    Listen 8081
    
    #管理员的邮件(若服务出现了问题,会给管理员发邮件,前提是服务器能发出邮件)
    ServerAdmin you@example.com
    
    #域名信息
    ServerName 127.0.0.1:80
    
    #apache发布的目录
    DocumentRoot "/usr/local/httpd2/htdocs"
    
    <IfModule dir_module>
       #默认访问文件
        DirectoryIndex index.html
    </IfModule>
    
    #错误日志
    ErrorLog "logs/error_log"
    #警告级别:info debug error warn
    LogLevel warn
    
    #启用 rewrite 引擎
    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^www.example.com:8888 [NC]
    RewriteRule ^/(.*)$ http://www.baidu.com/$1 [L]
    LoadModule rewrite_module modules/mod_rewrite.so
    
    #引用多域名的配置
    #NameVirtualHost *:8081
    Include conf/extra/httpd-vhosts.conf
    
    #导入mpm详细配置
    Include conf/extra/httpd-mpm.conf
    
    [root@VM_38_201_centos ~]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf 
    #虚拟主机监听端口号
    #NameVirtualHost *:8081
    <VirtualHost *:8081>
        ServerAdmin webmaster@dummy-host.example.com
        #虚拟主机的发布目录
        DocumentRoot "/usr/local/apache2/htdocs/www1/"
        ServerName www.test1.com
    #    ServerAlias www.dummy-host.example.com
        ErrorLog "logs/error_log"
        CustomLog "logs/access_log" common
    </VirtualHost>
    
    mpm的参数设置可能不对,可自行百度进行相应设置
    [root@VM_38_201_centos ~]# vim /usr/local/apache2/conf/extra/httpd-mpm.conf 
    #prefork MPM
    <IfModule mpm_prefork_module>
        #启动的工作进程数  企业中一般配置8/10/16 不会太(默认初始化生成数量)
        StartServers            8
        #最多同时xx进程,一般与MaxClients相对应或者大于MaxClients
        MinSpareServers         10000
        #最小空闲进程
        MaxSpareServers         25
        #最大空闲进程
        MaxRequestWorkers       75
        #最大支持多少个客户端访问(最大工作进程,每秒处理数量)
        MaxClients              1000
        #每个进程处理的最大请求数(当达到设置的数量后该线程会被kil掉,0代表永生)
        MaxConnectionsPerChild  10000
    </IfModule>
    #worker
    <IfModule mpm_worker_module>
        StartServers             8
    #    MaxClients               4000
        MinSpareThreads          25
        MaxSpareThreads          75
        #每个进程有多少线程数
        ThreadsPerChild          25
        MaxRequestWorkers      400
        MaxConnectionsPerChild   10000
    #</IfModule>
    



    参考文献:
    http://www.178linux.com/84075
    http://www.linuxidc.com/Linux/2017-10/148076.htm
    推荐文章:
    CentOS上安装LAMP之Apache环境及安装过程报错解决方案(纯净系统环境)http://blog.csdn.net/zhangatle/article/details/77416996

    相关文章

      网友评论

          本文标题:CentOS7.4 源码安装httpd-2.4.29

          本文链接:https://www.haomeiwen.com/subject/cmixaxtx.html