Linux下安装Apache httpd

httpd是Apache超文本传输协议(HTTP)服务器的主程序。它被设计为一个独立运行的后台进程,它会建立一个处理请求的子进程或线程的池对外提供服务。httpd支持基于 虚拟主机,以及基于HOST、IP、PORT实现虚拟主机,反向代理,负载均衡,路径别名,用户认证,basic,支持第三方模块等众多特性。本文主要描述了Linux下httpd的安装以及相关基本用法。

一、httpd的安装

演示环境及版本
    # cat /etc/issue
    CentOS release 6.5 (Final)
    Kernel \r on an \m

    # uname -r
    2.6.32-431.el6.x86_64

查看httpd是否已安装
    # rpm -qa httpd

使用yum列出相关httpd安装文件,此处为本地yum源
    # yum list |grep httpd
    httpd.x86_64                 2.2.15-29.el6.centos        local_server
    httpd-devel.i686             2.2.15-29.el6.centos        local_server
    httpd-devel.x86_64           2.2.15-29.el6.centos        local_server
    httpd-manual.noarch          2.2.15-29.el6.centos        local_server
    httpd-tools.x86_64           2.2.15-29.el6.centos        local_server 

安装及验证httpd
    # yum -y install httpd
    # rpm -qa |grep httpd
    httpd-tools-2.2.15-29.el6.centos.x86_64
    httpd-2.2.15-29.el6.centos.x86_64

使用rpm方式寻找配置文件
    # rpm -qc httpd  

常用的配置文件:
    /etc/httpd/conf.d/*.conf        ###辅助配置文件
    /etc/httpd/conf/httpd.conf      ###主配置文件
    /etc/sysconfig/httpd            ###httpd工作模式配置文件

使用rpm方式查看安装位置及生成的二进制文件
    # rpm -ql httpd  

    主程序:
    /usr/sbin/httpd  MPM模式默认
    /usr/sbin/httpd.event
    /usr/sbin/httpd.worker

使用rpm方式查看包的帮助文件
    # rpm -qd httpd   

启动脚本:/etc/rc.d/init.d/httpd

日志文件目录:
    /var/log/httpd
        access_log:访问日志
        error_log: 错误日志

站点文档目录:(站点根目录)
    /var/www/html

httpd的工作目录:/var/www

二、httpd的工作模式

1、MPM: Multipath Processing Module(多路处理模块)
    prefork: 多进程模型,每个进程响应一个请求;稳定性好,但并发能力有限;预先生成多个空闲进程;
        由于prefork使用select()系统调用,所以最大并发不能超过1024;

    worker:多进程模型,每个进程可生成多个线程,每个线程响应一个请求;预先生成多个空闲线程;
    event:一个进程直接响应n个请求;可同时启动多个进程;
        httpd-2.2: 测试使用;    ### Author : Leshami
        httpd-2.4: 可生产使用;  ###  Blog   : http://blog.csdn.net/leshami

2、几种工作方式的切换
prefork模式下
    # service httpd start
    Starting httpd:                                            [  OK  ]
    # ps -ef|grep httpd |grep -v grep ###一个主进程,生成了8个空闲进程
    root       6413      1  0 09:40 ?        00:00:00 /usr/sbin/httpd
    apache     6416   6413  0 09:40 ?        00:00:00 /usr/sbin/httpd
    apache     6417   6413  0 09:40 ?        00:00:00 /usr/sbin/httpd
    apache     6418   6413  0 09:40 ?        00:00:00 /usr/sbin/httpd
    apache     6419   6413  0 09:40 ?        00:00:00 /usr/sbin/httpd
    apache     6420   6413  0 09:40 ?        00:00:00 /usr/sbin/httpd
    apache     6421   6413  0 09:40 ?        00:00:00 /usr/sbin/httpd
    apache     6422   6413  0 09:40 ?        00:00:00 /usr/sbin/httpd
    apache     6423   6413  0 09:40 ?        00:00:00 /usr/sbin/httpd   

    # ss -tulpn |grep httpd
    tcp    LISTEN     0   128  :::80   :::*      users:(("httpd",6413,4),("httpd",6416,4),("httpd",6417,4),("httpd",6418,4),
    ("httpd",6419,4),("httpd",6420,4),("httpd",6421,4),("httpd",6422,4),("httpd",6423,4)

    # netstat -nltp|grep 80
    tcp        0      0 :::80                       :::*          LISTEN      6413/httpd   

worker工作方式
    # cat /etc/sysconfig/httpd|grep -v ^#
    HTTPD=/usr/sbin/httpd.worker

    # service httpd restart
    Stopping httpd:                                            [  OK  ]
    Starting httpd:                                            [  OK  ]
    [root@orasrv1 ~]# ps -ef|grep httpd|grep -v grep
    root       2261      1  0 17:47 ?        00:00:00 /usr/sbin/httpd.worker
    apache     2264   2261  0 17:47 ?        00:00:00 /usr/sbin/httpd.worker
    apache     2265   2261  0 17:47 ?        00:00:00 /usr/sbin/httpd.worker
    apache     2266   2261  0 17:47 ?        00:00:00 /usr/sbin/httpd.worker

event工作方式
注,尽管2.2版本可以设置工作方式为httpd.event,生产环境不建议使用
    # cat /etc/sysconfig/httpd|grep -v ^#
    HTTPD=/usr/sbin/httpd.event
    [root@orasrv1 ~]# service httpd restart
    Stopping httpd:                                            [  OK  ]
    Starting httpd:                                            [  OK  ]
    [root@orasrv1 ~]# ps -ef|grep httpd|grep -v grep
    root       2402      1  0 17:49 ?        00:00:00 /usr/sbin/httpd.event
    apache     2405   2402  0 17:49 ?        00:00:00 /usr/sbin/httpd.event
    apache     2406   2402  0 17:49 ?        00:00:00 /usr/sbin/httpd.event
    apache     2407   2402  0 17:49 ?        00:00:00 /usr/sbin/httpd.event

三、httpd模块化特性

高度模块化
        core + modules,
        DSO: Dynamic Shared Object

模块目录:
        /etc/httpd/modules: 符号链接文件
        /usr/lib64/httpd/modules

模块的查看
    httpd -M          ###查看当前httpd进程的所有模块
    httpd.event -M    ###查看event工作模式下的所有模块 更正@20160712
    httpd.worker -M   ###worker工作模式下的所有模块  更正@20160712
    httpd.worker -l   ###worker工作模式下的核心模块  更正@20160712

模块的查看示例
    # httpd -M
    Loaded Modules:
     core_module (static)
     mpm_prefork_module (static)
     http_module (static)
     so_module (static)
     auth_basic_module (shared)
      ..............

    # httpd.event -l
    Compiled in modules:
      core.c
      event.c
      http_core.c
      mod_so.c

模块的动态装载与卸载
    # cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak
    # cat /etc/httpd/conf/httpd.conf |grep authn_alias_module
    LoadModule authn_alias_module modules/mod_authn_alias.so
    # vi /etc/httpd/conf/httpd.conf  ###注释mod_authn_alias.so模块
    # cat /etc/httpd/conf/httpd.conf |grep authn_alias_module
      #LoadModule authn_alias_module modules/mod_authn_alias.so
    # service httpd restart
    # httpd -M   ###使用该方式前后进行对比即可知道模块是否装载或卸载    

四、验证httpd服务

# echo "<h1>orasrv1.xlk.com</h1>" >/var/www/html/index.html
# curl http://192.168.21.10
<h1>orasrv1.xlk.com</h1>
时间: 2024-11-01 04:17:46

Linux下安装Apache httpd的相关文章

Linux下配置Apache httpd

httpd是Apache超文本传输协议(HTTP)服务器的主程序.它被设计为一个独立运行的后台进程,它会建立一个处理请求的子进程或线程的池对外提供服务.httpd支持基于 虚拟主机,以及基于HOST.IP.PORT实现虚拟主机,反向代理,负载均衡,路径别名,用户认证,basic,支持第三方模块等众多特性.本文主要描述了Linux下httpd(2.2版本)的相关基本配置. 1.配置文件概述 配置文件,主要分为3个部分: # grep "Section" /etc/httpd/conf/h

linux下安装apache详解

下面是linux下安装apache的完整代码,系统是redhat5.5 下载httpd-2.2.6.tar.bz2 把httpd-2.2.6.tar.bz2放到/soft 下 [root@localhost ~]#cd /soft [root@localhost soft]#tar jxvf httpd-2.2.6.tar.bz2 //解压apache的压缩包 [root@localhost soft]#cd httpd-2.2.6 //定位到httpd-2.2.6 文件夹下 [root@loc

Linux下安装Apache+ASP环境的原因

 为什么要在Linux下安装ASP环境?且看这几个原因够不够:     A. 作为Linux下的开发环境     B. 当IIS中的ASP仅用于后台,同时使用人数较少.前台页面主要以HTML静态页面展示,ASP用来做的事情较少,本身对系统的负担很轻 综合以上,当ASP显得有点鸡肋时,相应的应用完全可以移植到Linux下,以充分发挥Linux下系统平台优势和资源优势. 因为ASP本为Windows下IIS的原生产物,移植到Linux下确实有些怪异,所以实现方案也比较少,目前能找到的基本以Perl转

linux下安装apache(httpd-2.4.3版本)各种坑

版权声明:本文为博主原创文章,转载注明出处http://blog.csdn.net/u013142781 博主的linux是ubuntu 14.04.3. 在安装apache最新版httpd-2.4.3的时候遇到各种坑. 先提供安装apache httpd-2.4.3所需要的包,博主已经整理好,下载地址:http://download.csdn.net/download/u013142781/9445609 里面包含了: apache 安装包:httpd-2.4.3.tar.gz 依赖的包:ap

linux下安装apache与php;Apache+PHP+MySQL配置攻略_服务器

1.apache  在如下页面下载apache的for Linux 的源码包   http://www.apache.org/dist/httpd/;  存至/home/xx目录,xx是自建文件夹,我建了一个wj的文件夹.  命令列表:   cd /home/wj  tar -zxvf httpd-2.0.54.tar.gz mv httpd-2.0.54 apache  cd apache  ./configure --prefix=/usr/local/apache2 --enable-mo

Linux下编译安装Apache httpd 2.4

Apache是世界使用排名第一的Web服务器软件.它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一.当前Apache版本为2.4,本文主要描述基于CentOS 6.5以源码方式安装Apache httpd. 一.编译安装的优势 源码的编译安装一般由3个步骤组成: 配置(configure),通常依赖gcc编译器,binutils,glibc.配置软件特性,检查编译环境,生成 Makefile文件 编译(make) 安装(make ins

在Linux下安装PHP,Apache,Oracle,Perl的方法

经过一夜的"奋战",终于把ORACLE装上了,而且PHP脚本调用ORACLE数据库也成功了,现在就和大家共同分享. (注:现在网上一些资料都说oracle8.1.6 php4.0.4 apache1.3.2可以成功 安装,可是我和一个朋友试过了几次都不能成功,如有高手请指教,最好具体一些.) 1.硬件环境: 硬盘:9.2 G ; 内存:128 M ; 网卡:EEpor100 2.软件 操作系统: RedHat 6.1(***大家注重,一定是6.1啊***) 3.优化RedHat 6.1

linux下卸载apache方法小结

  方法一 代码如下: root@server ~]# rpm -qa|grep httpd httpd-2.2.3-11.el5_2.centos.4 httpd-manual-2.2.3-11.el5_2.centos.4 说明:rpm –qa | grep mysql 命令是为了把mysql相关的包都列出来,我上面的例子是Linux默认安装apache的rpm软件包列表,如果是别的Linux版本列出来的列表有可能会不一样,不过不用担心,不管是什么,卸载都从最下面的一个包开始,直到卸载掉第一

Linux下配置apache与Tomcat连接

Apache http server与tomcat同属于apache基金会,两者都可以提供Web服务,只不过两者的侧重点不同.http server侧重用作web服务器,而tomcat则侧重于作为轻量级的应用服务器.同时,两者也可以结合 起来使用,即可以将动态请求通过http server转发至后端的tomcat来完成,http server只处理静态请求.本文描述了如何配置apache与tomcat连接. 一.Tomcat连接器架构及协议 1.Tomcat连接器架构 基于Apache做为Tom