第一篇:Apache的编译安装

一、下载源码包和依赖包

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](http://upload-images.jianshu.io/upload_images/1414809-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模式的升级
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 我们现在分以下步骤进行安装apache: 1、 安装编译环境 2、 卸载原有apache 3、 下载解压源码包 4...
    大眼杰的世界阅读 5,890评论 0 2
  • php+mysql+apache+centos 编译安装 领导要求先保证php环境稳定,然后再去考虑其他,例如性能...
    dnaEMx阅读 7,001评论 1 16
  • 一、准备工作 1、安装编译工具gcc、gcc-c++、make注意解决依赖关系,推荐使用yum安装,若不能联网可使...
    提莫队长1234阅读 3,754评论 0 0
  • 社长的话如雷贯耳,一直萦绕在我的耳边。也不知道是为什么,我忘记那天是怎么样把球拍收起,怎么把奖杯放好。就像当初不知...
    Chosing_春幸阅读 1,526评论 0 0
  • 每个人都有无奈的时候,彷徨的时候,从以前的天真到现在的无奈,是我们改变了,还是社会本来就是个大染缸,不管你以前如何...
    紫离夏殇_0d3e阅读 1,279评论 0 0

友情链接更多精彩内容