HTTPD解析介绍
- 配置文件全局介绍
(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 可以改为:Listen2:持久连接
由于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解析介绍的更多相关文章
- Linux的httpd服务介绍和部署
软件介绍 客户端代理软件 IE,firefox,chroome,opera 服务器端软件 httpd,Nginx,Tengine,ISS,Lighthttp 应 ...
- httpd解析php的小贴士
以前使用php的时候, 都是直接用nginx和php对接的, 极少是用apache去对接, 但是最近在用httpd测试WordPress的时候, 发现一个有趣的问题, php不用启动也能直接去解析ph ...
- httpd解析PHP
1.vim /usr/local/apache2.4/conf/httpd.conf 编辑httpd的主配置文件 搜索ServerName,把ServerName www.example.com:80 ...
- Oracle硬解析,软解析,软软解析介绍
Oracle数据库中的CURSOR分为两种类型:Shared Cursor 和 Session Cursor 1,Shared Cursor Oracle里的第一种类型的Cursor就是Shared ...
- Javascript URI 解析介绍
URI 在维基百科中对于URI的解释是这样子的: 在计算机术语中,统一资源标识符(Uniform Resource Identifier,或URI)是一个用于标识某一互联网资源名称的字符串. 该种标识 ...
- (httpd、php)
(一)http协议介绍 http: 超文本传输协议,http协议是应用层协议,实现http协议的软件都监听的TCP的80端口之上.http协议也是一种文本协议,是基于TCP协议实现 http协议有几个 ...
- Android网络之数据解析----SAX方式解析XML数据
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...
- 08_XML的解析_SAX解析
[对比SAX解析和DOM解析] * 在使用DOM解析XMl文档时,需要读取整个XML文档,在内存中架构代表整个DOM树的DOcument对象,从而对XML文档进行操作,在这种情况下,如果XML文档特别 ...
- (四)SAX方式解析XML数据
SAX方式解析XML数据 文章来源:http://www.cnblogs.com/smyhvae/p/4044170.html 一.XML和Json数据的引入: 通常情况下,每个需要访问网络的应用程 ...
随机推荐
- python3 str各个功能记录
capitalize() 将字符串的第一个字符转换为大写 center(width, fillchar) 返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格. c ...
- 20155216 2016-2017-2 《Java程序设计》第七周学习总结
20155216 2016-2017-2 <Java程序设计>第七周学习总结 教材学习内容总结 认识Lambda表达式语法 Lambda表达式不需要也不允许使用throws关键字来声明可能 ...
- 20155331 2016-2017-2 《Java程序设计》第九周学习总结
20155331 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC是什么? JDBC代表Java数据库连接,这对Java编程语言和广泛的数据库之间独立 ...
- WPF Color、String、Brush转换
原文:WPF Color.String.Brush转换 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/BYH371256/article/detai ...
- 【CF613D】Kingdom and its Cities
[CF613D]Kingdom and its Cities 题面 洛谷 题解 看到关键点当然是建虚树啦. 设\(f[x]\)表示以\(x\)为根的子树的答案,\(g[x]\)表示以\(x\)为根的子 ...
- SRM 698 div1 RepeatString
250pts RepeatString 题意:问最少修改多少次将一个字符串修改为AA的形式.可以插入一个字符,删除一个字符,修改字符. 思路:枚举分界点,然后dp一下. /* * @Author: m ...
- Nginx入门篇(七)之Nginx+keepalived高可用集群
一.keepalived介绍 keepalived软件最开始是转为负载均衡软件LVS而设计,用来管理和监控LVS集群系统中各个服务节点的状态,后来又加入了可实现高可用的VRRP功能.所以Keepali ...
- java class file
目录 什么是java类文件 幻数 主次版本号 常量池数和常量池 this_class super_class 接口数量和接口 字段数和字段 方法数和方法 以下内容主要还是参考<Inside JV ...
- IIC通讯程序
IIC程序 IIC起始信号 void IIC_Start(void) { SDA_OUT();//sda设为输出 IIC_SDA=; IIC_SCL=; delay_us();//延时一段时间,具体时 ...
- php常用的几个预定义变量
__FILE__:返回所在路径文件名和文件名称 __DIR__:返回文件所在的完整目录 __LINE__:返回当前文件代码的行号 __CLASS__:返回当前类名 __FUNCTION__:返回当前方 ...