美文网首页我爱编程
第一篇:Apache的编译安装

第一篇:Apache的编译安装

作者: liamu | 来源:发表于2017-06-17 17:36 被阅读26次

    一、下载源码包和依赖包

    http://apr.apache.org/download.cgi
    1、apache编译参数

        -prefix=/usr/local/apache2   //体系无关文件的顶级安装目录PREFIX ,也就Apache的安装目录。
        –enable-module=so   //打开 so 模块,so 模块是用来提 DSO 支持的 apache 核心模块
        –enable-deflate=shared   //支持网页压缩
        –enable-expires=shared   //支持 HTTP 控制
        –enable-rewrite=shared   //支持 URL 重写
        –enable-cache //支持缓存
        –enable-file-cache //支持文件缓存
        –enable-mem-cache //支持记忆缓存
        –enable-disk-cache //支持磁盘缓存
        –enable-static-support   //支持静态连接(默认为动态连接)
        –enable-static-htpasswd   //使用静态连接编译 htpasswd – 管理用于基本认证的用户文件
        –enable-static-htdigest   //使用静态连接编译 htdigest – 管理用于摘要认证的用户文件
        –enable-static-rotatelogs   //使用静态连接编译 rotatelogs – 滚动 Apache 日志的管道日志程序
        –enable-static-logresolve   //使用静态连接编译 logresolve – 解析 Apache 日志中的IP地址为主机名
        –enable-static-htdbm   //使用静态连接编译 htdbm – 操作 DBM 密码数据库
        –enable-static-ab   //使用静态连接编译 ab – Apache HTTP 服务器性能测试工具
        –enable-static-checkgid   //使用静态连接编译 checkgid
        –disable-cgid   //禁止用一个外部 CGI 守护进程执行CGI脚本
        –disable-cgi   //禁止编译 CGI 版本的 PHP
        –disable-userdir   //禁止用户从自己的主目录中提供页面
        –with-mpm=worker // 让apache以worker方式运行
        –enable-authn-dbm=shared // 对动态数据库进行操作。Rewrite时需要
        ```
        1.1、Apache官方文档地址
            http://httpd.apache.org/docs/2.4/programs/configure.html#installationdirectories
        
        1.2、此次使用的编译参数为:
            -prefix=/chengang/server/apache2 --enable-MODULE=shared
        
        1.3、查看iptables运行状态
            service iptables status
        
        1.4、添加iptables规则
            iptables -I INPUT -p tcp --dport 80 -j ACCEPT
    
        1.5、apache httpd的启动、停止和重启命令
            官方文档地址:http://httpd.apache.org/docs/2.4/programs/apachectl.html
    
            $ PREFIX/bin/apachectl -k start
            $ PREFIX/bin/apachectl -k stop
            $ PREFIX/bin/apachectl -k restart
            $ PREFIX/bin/apachectl -v status
            $ PREFIX/bin/apachectl -V status
    
    ![image.png](https://img.haomeiwen.com/i1414809/0dc0c8a902d6fa36.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
    
    ======================================================================
    

    add for chkconfig

    chkconfig:35 80 10

    description:i am god

    processname:myhttp

    PID_FILE="/etc/myhttp.pid"
    start()
    {
    /usr/local/myapache/bin/apachectl start
    }
    stop()
    {
    /usr/local/myapache/bin/apachectl stop
    }
    restart()
    {
    /usr/local/myapache/bin/apachectl restart
    }

    /home/god/bin/god_me

    case $1 in
    start)
    start
    ;;
    stop)
    stop
    ;;
    restart)
    restart
    ;;
    *)
    echo "unknown"
    ;;
    esac

    ========================================================
    
     Apache的工作模式
     1、通过apachectl -l命令查看当前运行工作模式
         三种工作模式:--prefork
         ./configure enable-MODULE=shared --with-mpm=prefork
         apache2.2默认是prefork
         prefork没有线程的概念,是多进程,一个进程处理一个连接:稳定、响应快。其缺点是在连接数比较大时就非常消耗内存
    
         worker模式
         多进程多线程,一个进程有多个线程,每个线程处理一个连接。这种模式开销更小,处理的请求更海量
    
         缺点是一旦某个线程出了问题,其所有线程也会受影响
    
         event模式
         worker模式的升级

    相关文章

      网友评论

        本文标题:第一篇:Apache的编译安装

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