http配置详解
前言:
前面已经详细介绍了http协议和httpd基本概况,接下来详细介绍httpd2.2版本配置文件参数。首先通过rpm -qa | grep "httpd"查看httpd安装后相关文件路径
配置文件:
/etc/httpd/conf/httpd.conf
/etc/httpd/conf.d/*.conf
服务脚本:
/etc/rc.d/init.d/httpd
脚本配置文件:
/etc/sysconfig/httpd
模块目录:
/usr/lib64/httpd/modules
/etc/httpd/modules: 为/usr/lib64/httpd/modules链接文件
主程序:
/usr/sbin/httpd:程序默认为prefork模式。
/usr/sbin/httpd.event:http2.2版本中event还为测试阶段
/usr/sbin/httpd.worker:
日志文件目录:
/var/log/httpd
access_log: 访问日志
error_log: 错误日志
站点文档根目录:
/var/www/html
httpd:apache服务程序
-l:查看httpd主程序加载的核心模块
-D DUMP_MODULES:查看以装载的模块
-t:测试配置文件语法
-M:相当于-t -D测试并显示DSO模块
-D:显示所有虚拟主机信息
httpd.conf配置信息一共分为3段:grep "Section" httpd.conf
Section 1: Global Environment:全局配置信息,主要配置httpd自己工作特性,以及各虚拟主机共享参数
Section 2: ‘Main‘ server configuration:网站主服务器配置
Section 3: Virtual Hosts:虚拟主机配置
注意:主服务器和虚拟主机不能同时使用;默认仅启用了主服务器
全局配置:
Timeout 60:tcp/ip:三次握手超时时长为60秒
持久连接:
KeepAlive {On|Off}:开启或关闭持久连接
MaxKeepAliveRequests 100:最大请求资源个数
KeepAliveTimeout 15:持久连接15秒后自动断开
MPM参数:
<IfModule prefork.c>:不同主程序配置,默认为prefork程序配置
StartServers 8 :启动多少个空闲子进程,提供响应
MinSpareServers 5:最少空闲进程
MaxSpareServers 20:最大空闲进程
ServerLimit 256:最大启动多少个子进程
MaxClients 256:服务器最多同时处理多少客户端请求,并发数
MaxRequestsPerChild 4000:每个子进程最多处理多少次请求,到达设定值后进程销毁重新启动新进程
</IfModule>
<IfModule worker.c>worker主程序配置
StartServers 4:启动多少个空闲子进程
MaxClients 300:服务器最多同时处理多少客户请求,并发数
MinSpareThreads 25:最小空闲线程数
MaxSpareThreads 75:最大空闲线程数
ThreadsPerChild 25:每个子进程可以启动多少线程
MaxRequestsPerChild 0:每个线程最大可以处理多少请求。0表示不做限定
</IfModule>
指定监听的地址和端口
Listen [IP:]PORT:Listen可以出现多次,指定监听多个地址和端口
DSO机制装载的模块
LoadModule Module_Name /path/to/Module_File:指定装载的模块
主服务器配置:
服务器管理员邮箱地址:
ServerAdmin root@localhost
服务器名称:
ServerName www.example.com:80
指定站点根目录:
DocumentRoot "/var/www/html"
站点路径访问控制有以下2种
基于本地文件系统路径:
<Directory "/var/www/html">:对Directory中访问控制机制
Options Indexes FollowSymLinks
Indexes :当访问路径下无主页面,将所有资源以列表形式呈现
FollowSymLinks:跟踪符号链接
AllowOverride None:支持在每个页面或目录下创建.htaccess用于实现对此资源访问时的访问控制功能。
Order allow,deny:先查看allow访问列表,在deny。
Allow from all :允许所有访问,
Deny from 192.168.18.1:拒绝指定ip访问
from后面能接受的地址格式:ip或网段
</Directory>
基于URL访问路径做访问控制
<Location "/path/to/URL">根目录后的文件路径
</Location>
指定默认页面:
DirectoryIndex
配置日志功能:
ErrorLog /path/to/error_log:根据日志级别记录日志信息
LogLevel {debug|info|notice|warn|error|crit|alert|emerg}:指定日志级别,
CustomLog "/path/to/access_log" LogFormat_Name:自定义日志文件
%h: 客户端地址
%l: 远程登录名,通常为-
%u: 认证时输入用户名,没有认证时为-
%t: 服务器收到 用户请求时的时间
%r:请求报名的起始行
%>s: 响应状态码
%b: 响应报文的长度,单位是字节
%{HEADER_NAME}i: 记录指定首部对应的值
路径别名:
Alias /URL/ "/path/to/somewhere/":实现URL路径映射不再依赖于站点根目录;
Alias /icons/ "/var/www/icons/":当输入icons时会替换为/var/www/icons/;
设置默认字符集:
AddDefaultCharset
CGI脚本路径
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"指定cgi路径别名
基于用户访问控制
用户认证功能:基本认证(basic)、摘要认证(digest)
虚拟用户:仅用于访问某服务或获取某资源的凭证,用于保存用户信息有几种方式:
文本文件:.htpasswd
SQL数据库
dbm: 数据库引擎,提供API
ldap:
虚拟主机配置:
虚拟主机不同的访问机制:基于端口、基于IP、基于主机名
如基于端口做虚拟主机需用listen监听多个端口
定义虚拟主机
NameVirtualHost IP:PORT。开启名称虚拟主机,
<VirtualHost IP:PORT>定义虚拟主机属性,主服务器上设置都可以在这里单独设置
ServerName
DocumentRoot
ServerAlias
ErrorLog
CustomLog
</VirtualHost>
注意:使用虚拟的前提:取消主服务器,案例如下:
<VirtualHost 192.168.18.7:80> ServerName www.mageedu.com DocumentRoot "/web/hosta" </VirtualHost> <VirtualHost 192.168.18.8:8080> ServerName www.mageedu.com DocumentRoot "/web/hostc" </VirtualHost>
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。