httpd服务归纳:httpd简介与基本安装

一、httpd 简介 

1. httpd 历史:

httpd daemon 最早诞生于1995年二月, 伊利诺伊大学香槟分校的美国国家超级计算应用中心(NCSA),由Rob McCool开发。当这个项目完成后,Rob 老兄离开RCSA以后,这个项目组就解散了,这个项目也随之终止。 但是,由Brian Behlendorf 和 Cliff Skolnick这两位老兄,带领一班民间的小伙伴,继续为这个项目以补丁(patch)的形式进行维护,修复bug等等。

因此他们也戏称为,a pachey server , 意思为一群补丁拼起来的服务器。 后来,由于apache 直升机比较酷,所以也就使用apache这个名字当然现在,apache 已经不仅仅是httpd而已,apache是一个软件基金会。

       目前的版本: httpd-1.3, httpd-2.0, httpd-2.2, httpd-2.4

2. httpd是高度模块: 

    core + modules : 包含两种功能特性模块

    DSO: Dynamic Shared Object (可以单独编译,并且需要时直接挂载使用)

    MPM: Multipath Processing Modules (多道处理模块,非一个模块,而是一种功能特性 ) 

3. MPM的模型 

    1) web服务的基本模型 

幻灯片1.jpg

   2) httpd 并行模型 

httpd多道处理模块.jpg

        prefork : 一个进程,一个请求。 在空闲时,会有一定数量进程待命, 进程间需要切换。

                1) 响应进程由主进程复制,为了节省响应时间,在空闲时会预先生成一定数量的空闲进程预备

                2)  当任务响应完毕后,部分进程会被回收成为空闲进程,超出空闲进程上限的进程将被销毁 

                3) 每个进程间不能通信,消耗同等资源 

                4) 进程间调度,需要消耗CPU时长 

        worker: 一个进程多个线程,一个线程一个请求, 线程间同样需要切换。

                1) 一个进程可以管理多个线程,有上限

                2) 每个进程所管理的线程可进行资源交换,但是有时会发生资源征用

                3) 线程需要调度,消耗CPU时钟周期 

        event: 一个线程,多个请求,event driven, 实现带线程响应多个请求。

4. httpd 功能特性 

    1) 路径别名: alias 

    2)  用户认证: authentication 

    3)  虚拟主机(virtual host ): 一台主机可以建立多个站点 

    4) 反向代理: 负载均衡 

    5) 用户站点: CGI , Common Gateway Interface 

二、httpd的基本安装和组件组成

1. httpd的快速安装  

# yum -y install httpd

2. 生成的重要目录 

/etc/httpd                                                配置文件所在位置  
/etc/httpd/conf                                           主配置文件
/etc/httpd/conf.d                                         配置文件的片段  

/etc/httpd/logs -> ../../var/log/httpd                    日志文件链接
/etc/httpd/modules -> ../../usr/lib64/httpd/modules       模块链接

/etc/logrotate.d/httpd                                    日志滚动脚本配置位置

/etc/rc.d/init.d/httpd                                    服务脚本
/etc/sysconfig/httpd                                      脚本的配置文件 

/var/www                                                  服务跟目录
/var/www/html                                             默认文档根目录 Docroot

/var/www/cgi-bin/                                         cgi脚本所在位置

3. 服务启动 

# service httpd start
# ss -tnlp

QQ图片20150506151121.png

TCP/80 端口已被监听

# pstree

QQ截图20150506151615.png

# ps -elFH

QQ截图20150506152626.png

需要在内核上创建小于1023端口只能是管理员用户

属主为管理员用户的httpd进程,为主进程,其余属主为apache的为工作进程  

此时,httpd服务已然启动, 浏览器中输入服务器IP, 将会开启测试页

在/var/www/html下面创建一个简单主页,使用telnet尝试请求 

[root@www ~]# telnet 192.168.233.128 80
Trying 192.168.233.128...
Connected to 192.168.233.128.
Escape character is '^]'.
GET a.html http/1.1
Host: 192.168.233.128

QQ截图20150506220712.png

原创文章,作者:以马内利,如若转载,请注明出处:http://www.178linux.com/3945

(0)
以马内利以马内利
上一篇 2015-05-07
下一篇 2015-05-07

相关推荐

  • N21沉舟第七周作业

    1、创建一个10G分区,并格式为ext4文件系统;    (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;    (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; mke2fs -t ex…

    Linux干货 2016-08-22
  • Linux用户、组和权限管理详解

    用户管理简要说明:     1.越是对服务器安全性要求高的服务器,越需要建立合理的用户权限等级制度和服务器操作规范。     2.在Linux中主要是通过用户配置文件来查看和修改用户信息。 初始组和附加组     初始组:就是指用户一登录就立刻拥有这个用户组的相关权限,每个用户的…

    Linux干货 2016-08-05
  • 课堂练习及课后作业(0805文本处理工具)

    课堂练习: 1、找出ifconfig命令结果中本机的所有IPv4地址 2、查出分区空间使用率的最大百分比值 3、查出用户UID最大值的用户名、UID及shell类型 4、查出/tmp的权限,以数字方式显示 5、统计当前连接本机的每个远程主机IP的连接数,并按从大到小排序 grep 1、显示/proc/meminfo文件中以大小s开头的行;(要求:使用两种方式…

    Linux干货 2016-08-07
  • 随笔—git的基本命令

    git是一个非常优秀的版本控制系统,可以对各类大小的项目进行源代码管理,  #git的常用功能如下: 1、从服务器上克隆完整的Git仓库(包括代码和版本信息)到单机上。 2、在本地仓库上根据不同的开发目的,创建分支,修改代码。 3、在本机上向自己创建的分支上提交代码。 4、在本机上合并分支。 5、将本地仓库代码和分支推送到服务器上的远程仓库 在官网…

    Linux干货 2016-07-04
  • iptables 从入门到进阶

    Linux的防火墙体系主要工作在网络层,针对TCP/IP数据包实施过滤和限制,属于典型的包过滤防火墙(或网络层防火墙)。在Linux中netfilter和iptables都是指Linux防火墙。区别在于: netfilter:指的是Linux内核中实现包过滤防火墙的内部结构,不以程序或文件的形式存在,属于“内核态”的防火墙功能体系。 iptables:指的是…

    Linux干货 2017-01-10
  • 2016-10-17作业

    1 生产环境发现一台服务器系统时间产生偏差,造成服务异常,请帮忙校正。 date命令查看系统时间,clock或者hwclock命令查看硬件时间, 将系统时间同步到硬件时间的方法hwclock -s   2 生产有一个数据同步脚本需要执行很长时间,怎样做到无人值守,在管理工具退出的情况下,脚本依然能正常运行。在生产环境的中创建SCREEN会话,会话的…

    Linux干货 2016-10-18