• 配置文件全局介绍
  • (1)主配置文件:/etc/httpd/conf/httpd.conf 
    全局配置:Section 1: Global Environment 第33行
    中心主机配置: Section 2: ‘Main’ server configuration 第246行
    虚拟主机配置:Section 3: Virtual Hosts 第986行 (2)每一次修改配置文件之后,可以使用httpd -t检查配置文件是否错误,一般如果没有给ServerName值的话会报错,那么给一个IP作为ServerName的值
    httpd -t #检查下配置文件的语法是否错误
    (3)在全局配置段,可以修改其监听的端口, 修改监听的端口之后,只有重启服务才能生效,reload不能生效,只能restart
    Listen 80 可以改为:Listen 8000

    配置文件详细介绍(超级重要必须掌握)

    • 1:设置监听的端口(很重要)
        在全局配置段,可以修改其监听的端口, 修改监听的端口之后,只有重启服务才能生效,reload不能生效,只能restart
    Listen 80 可以改为:Listen
    • 2:持久连接
        由于web服务的连接是:基于一个TCP的虚连接,http事务可重复执行多次。例如我们打开https://www.taobao.com,首先返回的是首页的HTML骨架资源,再返回的是CSS级联样式表资源,最后返回的是JavaScript代码资源。TCP连接建立后,每个资源获取完成后不全断开连接,而是继续等待其他资源请求的进行
    
        KeepAlive On 或 Off :设置TCP保持连接关闭或开启
    KeepAliveTimeout 15 :设置保持连接的超时时长
    MaxKeepAliveRequests 100 : 设置最大保持连接数量
    • 3:MPM机制(多处理模块机制)(很重要)
        httpd-2.2不支持同时编译多个MPM模块,所以只能编译选定要使用的那个模块,CentOS 6的rpm包为此专门提供了三个程序文件,httpd(prefork),httpd.worker,httpd.event,分别用于实现对不同的MPM机制的支持。
    
        当httpd启动时候,可以使用 ps aux  | awk '/httpd$/{print $11}' 命令查看当前httpd是以哪一种机制运行的,如果是/usr/sbin/httpd,那么就是以prefork模式运行的,如果是/usr/sbin/httpd.worker,那么就是以worker模式运行的,如果是/usr/sbin/httpd.event,那么就是以event模式运行的。
    
        使用 httpd -l 命令可以查看编译的核心模块
    
        使用 httpd -M 查看静态编译及动态编译的模块
    
        在配置文件中可以配置prefork模式和worker模式的属性信息
    <IfModule prefork.c>
    StartServers 8
    MinSpareServers 5
    MaxSpareServers 20
    ServerLimit 256
    MaxClients 256
    MaxRequestsPerChild 4000
    </IfModule> <IfModule worker.c>
    StartServers 4
    MaxClients 300
    MinSpareThreads 25
    MaxSpareThreads 75
    ThreadsPerChild 25
    MaxRequestsPerChild 0
    </IfModule>
    • 4:启用或禁用模块(DSO)(很重要)
    LoadModule <模块名> <模块相对路径>
    例如:LoadModule auth_basic_module modules/mod_auth_basic.so
    这里的auth_basic_module是模块名,modules/mod_auth_basic.so是模块文件的路径,如果模块前面没有路径,表示启用相关模块
    模块的完全路径是:/etc/httpd/modules/*
    • 5:定义中心主机(重要)
    指定DocumentRoot(这是中心主机的站点根目录,中心主机的根站点目录可以更换)
    例如:DocumentRoot "/var/www/html"
    可以修改为其他的路径:DocumentRoot "/app/www"

 

  • :基于用户的访问认证安全机制
有两种认证的安全机制:
basic:明文
digest:消息摘要认证 1:basic 认证
(1)在Location的访问认证中设置 基于单个用户进行认证
<Location /server-info>
SetHandler server-info
AuthType Basic
AuthName "请求输入你的用户名和密码"
AuthUserFile "/etc/httpd/conf/.htpasswd"
Require user yhy
</Location> 如果让/etc/httpd/conf/.htpasswd中的用户都可以登入,需要修改最后一行指令
<Location /server-info>
SetHandler server-info
AuthType Basic
AuthName "请求输入你的用户名和密码"
AuthUserFile "/etc/httpd/conf/.htpasswd"
# 修改下面这一行指令
Require valid-user
</Location> (2)如何创建虚拟用户文件 使用命令 htpasswd 进行创建
例如:htpasswd -m -c /etc/httpd/conf/.htpasswd yhy
htpasswd的选项说明:
-c:自动创建指定的用户文件
-m:MD5格式化加密
-s:sha格式加密
-D:删除指定用户 (3)还可以基于用户组进行认证
基于组认证
<Location /server-info>
SetHandler server-info
AuthType Basic
AuthName "请求输入你的用户名和密码"
AuthUserFile "/etc/httpd/conf/.htpasswd"
AuthGroupFile "/etc/httpd/conf/.htgroup"
Require group my_group
</Location> 创建用户账号
htpasswd -m -c /etc/httpd/conf/.htpasswd yhy1
htpasswd -m -c /etc/httpd/conf/.htpasswd yhy2
htpasswd -m -c /etc/httpd/conf/.htpasswd yhy3 创建组账号
编辑/etc/httpd/conf/.htpasswd文件,将创建的用户添加到组里面
my_group: yhy yhy1 yhy2 yhy3

HTTPD解析介绍的更多相关文章

  1. Linux的httpd服务介绍和部署

    软件介绍 客户端代理软件     IE,firefox,chroome,opera      服务器端软件      httpd,Nginx,Tengine,ISS,Lighthttp       应 ...

  2. httpd解析php的小贴士

    以前使用php的时候, 都是直接用nginx和php对接的, 极少是用apache去对接, 但是最近在用httpd测试WordPress的时候, 发现一个有趣的问题, php不用启动也能直接去解析ph ...

  3. httpd解析PHP

    1.vim /usr/local/apache2.4/conf/httpd.conf 编辑httpd的主配置文件 搜索ServerName,把ServerName www.example.com:80 ...

  4. Oracle硬解析,软解析,软软解析介绍

    Oracle数据库中的CURSOR分为两种类型:Shared Cursor 和 Session Cursor 1,Shared Cursor Oracle里的第一种类型的Cursor就是Shared ...

  5. Javascript URI 解析介绍

    URI 在维基百科中对于URI的解释是这样子的: 在计算机术语中,统一资源标识符(Uniform Resource Identifier,或URI)是一个用于标识某一互联网资源名称的字符串. 该种标识 ...

  6. (httpd、php)

    (一)http协议介绍 http: 超文本传输协议,http协议是应用层协议,实现http协议的软件都监听的TCP的80端口之上.http协议也是一种文本协议,是基于TCP协议实现 http协议有几个 ...

  7. Android网络之数据解析----SAX方式解析XML数据

    ​[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...

  8. 08_XML的解析_SAX解析

    [对比SAX解析和DOM解析] * 在使用DOM解析XMl文档时,需要读取整个XML文档,在内存中架构代表整个DOM树的DOcument对象,从而对XML文档进行操作,在这种情况下,如果XML文档特别 ...

  9. (四)SAX方式解析XML数据

    SAX方式解析XML数据 ​文章来源:http://www.cnblogs.com/smyhvae/p/4044170.html 一.XML和Json数据的引入: 通常情况下,每个需要访问网络的应用程 ...

随机推荐

  1. zookeeper无法启动"Unable to load database on disk

    QuorumPeerMain,ResourceManager都没有起来 resourcemanager.log如下 2018-09-28 23:17:02,787 FATAL org.apache.h ...

  2. 定时任务crond服务

    crond 什么是? crond 是linux系统中用于定期执行命令或指定程序任务的服务.一般情况下,安装完系统操作之后,默认会启动任务调度服务. linux调度任务的工作可以分为两类: 系统自身执行 ...

  3. 参考 https://raspberrypi.stackexchange.com/questions/3617/how-to-install-unrar-nonfree > 1.卸载unrar-free。 $ sudo apt-get remove unrar-free \ 2.通过编辑确保您拥有源存储库/etc/apt/sources.list。 $ cat /etc/apt/sources.

    from my CSDN: https://blog.csdn.net/su_cicada/article/details/86939944 参考 https://raspberrypi.stacke ...

  4. 前端框架---jQuery---一分钟下载使用

    这里通过自己手动的方式“做”一个jQuery来使用,需要5步 1. 访问 https://jquery.com 2. 点击download 3. 拉到最下方,点击 JQuery CDN 4. 得到所有 ...

  5. go语言Mutex与RWMutex用法

    Mutex(互斥锁) Lock()加锁,Unlock()解锁 适用于读写不确定,并且只有一个读或者写的场景 例: package main import ( "sync" &quo ...

  6. 20155209 2016-2017-2 《Java程序设计》第二周学习总结

    20155209 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 类型总结:常用定义byte(符号%d):short(符号%d):int(符号%d):long ...

  7. 20155302杨效宸《Java程序设计》课程总结

    20155302杨效宸<Java程序设计>课程总结 一.每周作业 第一周学习总结:http://www.cnblogs.com/STILLlover521/p/6457914.html 第 ...

  8. css图片文字一排

    <div class="footer1"> <div class="vercital-head"></div><!-- ...

  9. C# Disable CTRL-ALT-DEL, ALT-TAB, ALT-F4, Start Menu and so on…

    使用C#禁用系统的某些特定按键 原文地址:http://www.tamas.io/c-disable-ctrl-alt-del-alt-tab-alt-f4-start-menu-and-so-on/ ...

  10. string[]转换为int[]

    今天碰到一个问题,要把string[]转换为int[],但是又不想使用循环转换,找了好久最后找到了这种方法,特此记录下. string[] input = { "1", " ...