apache配置项
环境:apache2.24
apache 官方文档:http://httpd.apache.org/docs/2.4/
全部指令索引: http://httpd.apache.org/docs/2.4/mod/quickreference.html
一、配置文件语法
1. 注释:注释以#开头,且注释与指令不能在同一行
2. 指令:指令名不区分大小写,指令参数区分大小写,指令参数以空格分隔,参数中有空格则引号包裹。‘\’表示指令继续到下一行
3. 变量:${var},var中不能包含‘:’
二、模块
httpd是模块化服务器。这意味着核心服务器中仅包含最基本的功能。可通过可加载到httpd中的模块获得扩展功能
LoadModule 加载模块(可动态加载的模块)
<IfModule modulename> </IfModelu> 加载其它模块(如php_apache)
三、指令范围
直接在主配置文件中的指令是全局配置,若想指定生效范围,则应用范围指令包含
<Directory /usr/local/htdocs></Directory> 指令在该目录下生效
<VirtualHost addr[:port] [addr[:port]] ...> ... </VirtualHost> 虚拟主机配置,配置只生效于指定主机或IP的指令
<Location URL-path|URL> ... </Location> 路由配置(普通匹配)
<LocationMatch regex> ... </LocationMatch> 匹配符合正则表达式的URL
<Files index.php></Files>
<FilesMatch \.php$> </FilesMatcch> 文件名按正则匹配,符合要求则里面指令生效
四、条件指令
<IfDefine 条件> </IfDifine> 条件为真则执行指令中内容,作用域:serverconfig,virtualhost,directory,.htaccess
<IfDirective [!]directive-name> ... </IfDirective> 某指令存在,则执行其中内容
<IfFile [!]filename> ... </IfFile> 如果文件存在,则执行
<IfModule [!]module-file|module-identifier> ... </IfModule> 模块[不]存在则执行
<IfSection [!]section-name> ... </IfSection> section-name为directory,.htaccess,virtualhost..
<If expression> ... </If> 条件为真,则生效
<LimitExcept method [method] ... > ... </LimitExcept> 限制非指定请求方法的操作
五、常用全局设置指令
Listen [addr:]80 监听端口
Define SRVROOT "F:\www\apache\Apache2.4.41" 定义全局变量
ServerAdmin 用户名@mail地址 apache服务管理员
ServerRoot /usr/local/apache 服务安装地址
AccessFileName 设置分布式配置文件文件名,如.htaccess
AllowOverride All | None | [define rewirte] 设置.htaccess文件中哪些指令能用,None全不可用。
ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full 配置HTTP服务响应头
选项:ServerTokens Full Server: Apache/2.4.2 (Unix) PHP/4.2.2 MyMod/1.2
ServerTokens Prod Server: Apache
ServerTokens Major Server: Apache/2
RegexDefaultOptions DOTALL DOLLAR_ENDONLY 正则表达式设置
选项:ICASE 不区分大小写
EXTENDED 忽略未转义的空格和模式中的注释
DOTALL 匹配换行字符
DOLLAR_ENDONLY
六、加载指令
LoadModule 加载模块(可动态加载的模块)
Include filename 包含其他配置文件
五、请求相关指令
KeepAlive On|Off 是否启用持久连接
KeepAliveTimeout num[ms] 连接超时,默认单位秒,ms毫秒
TimeOut 60 客户端HTTP请求发送超时
LimitRequestBody bytes 限制客户端发送请求体的大小
LimitRequestFieldSize bytes 限制请求头的大小,最大值12392,默认8190,限制异常请求,减少攻击
LimitRequestLine bytes 限制客户端接收请求行大小,即URL大小,默认8190
LimitRequestFields number 限制一次请求中,请求头字段的最大数量,默认100
MaxKeepAliveRequests 100 一次持久连接中支持的最大请求数,默认100
LimitInternalRecursion 10 限定一次请求中,重定向和嵌套子请求的个数。防止无限请求,服务器崩溃
六、日志设置相关指令
ErrorLog logs/error_log 错误日志存放位置
ErrorLogFormat string 错误日志格式
LogLevel warn [module:level] 设置错误日志等级 :emerge alert crit error warn notice info debug 依次降低,也可只设置针对某个模块的日志
八、协议相关设置指令
Protocol https 监听套接字的协议,作用域:server config, virtual host。80端口默认http,443端口默认https。其它协议可指定
Protocols http/1.1 h2 指定服务器和虚拟主机支持的协议
ProtocolsHonorOrder On|Off 协议优先级是否以protocols列出的为准
九、虚拟主机设置相关指令
ServerAlias www.aaa.com 设置虚拟主机别名
ServerName localhost:80 虚拟主机名
DocumentRoot 站点根目录
<Directory /usr/local/htdocs></Directory> 站点内目录设置
Options [+|-]option [[+|-]option] 控制在特定目录中哪些服务器特性可用。作用域 server config, virtual host, directory, .htaccess
选项:在选项前加上[+/-]则可覆盖前面该项的设置
All 都可用
ExecCGI 运行执行CGI脚本
Indexes 访问目录没有主页,则以目录显示
FollowSymLinks 默认设置,允许你的网页文件夹下的链接文件链接到首页目录以外的文件
Includes
Require all granted 设置经过验证的用户是否得到授权。相应的授权模块mod_authnz_ldap, mod_authz_dbm, mod_authz_dbd, mod_authz_owner and mod_ssl.
选项: all denied 无条件拒绝
all granted 无条件允许
env env-var 环境变量已设置则允许访问
method http-method 指定的请求方法才能访问
expr expression 表达式为真允许访问
user userid 指定用户才能访问资源
ip 10 172.20 192.168.2 指定IP范围的客户端可以访问
<RequireAll> ... </RequireAll> 包含多个授权指令,满足所有条件则授权
<RequireAny> ... </RequireAny> 其中有一个成功,则授权
<RequireNone> ... </RequireNone> 所有授权指令都不成功,则授权
<IfModule dir_module>
DirectoryIndex index.html index.htm index.php #访问站点根目录apache提供的文件,站点首页。作用域server config, virtual host, directory, .htaccess
</IfModule>
十、其它指令
SetInputFilter filter[;filter...] 设置输入过滤器
SetOutputFilter filter[;filter...] 设置输出过滤器
Define parameter-name [parameter-value] 设置参数
AddType application/x-httpd-php .php 设置模块解析.php文件
MIMEMagicFile conf/magic
MaxRanges unlimited
apache配置项的更多相关文章
- windows下配置lamp环境(2)---配置Apache服务器2.2.25
配置Apache 配置Apache时,先要找到安装目录中的主配置文httpd.conf,使用文本编辑器打开,最好不要使用windows自带的编辑器,可以使用NotePad++, vim,或者subli ...
- 转--Server “**” has shut down the connection prematurely一例分析
近几天在性能测试过程中,发现loadrunner Controller经常报 Server “**” has shut down the connection prematurely .概率很高,现象 ...
- PHP备忘录
file_exists()在判断文件是否存在的时候是递归判断每个目录是不是有执行权限. Echo输出大字符串速度慢:打开apache配置项‘deflate’进行压缩输出.
- centos7上搭建http服务器以及设置目录访问
参考文献:http://www.jb51.net/article/137596.htm,原文摘抄如下,并根据具体需要作了相应的修改. 步骤: 1. 安装httpd服务 sudo yum install ...
- nginx中try_files
location / { try_files $uri $uri/ /index.php?$query_string; } 当用户请求 http://localhost/example 时,这里的 $ ...
- Apache2.4和IIS7整合共享80端口测试
言我再重新排版一下 在C:\Windows\System32\drivers\etc\hosts文件中配置2个测试域名用于整合测试 127.0.0.1 www.aaa.com // apache项目 ...
- window下lamp环境搭建
软件: apache_2.2.25.msi php-5.4.30-Win32-VC9-x86.zip mysql-5.6.11-win32.msi下载地址:http://download.csdn.n ...
- Apache常用配置项
301是永久重定向 302是临时重定向 编辑虚拟主机的配置文件需要用到apache的rewrite模块 所以要用要先检查apache是否安装了rewrite模块 # ./bin/apachectl - ...
- apache 的 配置项
一.主服务器部分 1.ServerName 指令 定义Apache默认主机名,(默认注释掉的),后面跟站点名,或是IP 例如:ServerName www.jone.com 或者 ServerNam ...
随机推荐
- ubuntu系统中查看python模块的源码
案例:查看multiprocessing模块源码 1. 进入交互模式,导入模块,以multiprocessing模块为例 2. 查看multiprocessing.__file__属性,找到该模块的源 ...
- Codeforces Round #606 (Div. 2, based on Technocup 2020 Elimination Round 4)
链接 签到题,求出位数,然后9*(位数-1)+ 从位数相同的全一开始加看能加几次的个数 #include<bits/stdc++.h> using namespace std; int m ...
- wafer2的几个简单示例
如何快速新建路由 服务端 Demo 采用 Koa.js 框架编写,腾讯云基于 Koa 对上层进行一个简单的封装,方便你快速的添加新建路由 只需要在 controllers 目录下新建一个文件,例如为 ...
- vue.js 使用v-model v-once
v-model 双向绑定 v-once 单项绑定 代码: <!doctype html> <html lang="en"> <head> < ...
- 【转】struts2的ActionInvocation分析(action调度者)
一个ActionInvocation实例代表一个action的执行状态,持有拦截器和将要执行的action的实例. defaultActionInvocation是其默认实现.下面是定义在该类中的部分 ...
- LeetCode 225:用队列实现栈 Implement Stack using Queues
题目: 使用队列实现栈的下列操作: push(x) -- 元素 x 入栈 pop() -- 移除栈顶元素 top() -- 获取栈顶元素 empty() -- 返回栈是否为空 Implement th ...
- UVA 10790 How Many Points of Intersection? 组合数学
We have two rows. There are a dots on the top row and b dots on the bottom row. We draw line segment ...
- python asyncio 协程调用task步骤
import asyncio async def compute(x, y): print("Compute %s + %s ..." % (x, y)) await asynci ...
- Gitlab 部署汉化及邮件配置
Gitlab 简介 Gitlab 是一个基于git私有代码管理的服务集成. Nginx:静态web服务器. gitlab-shell:用于处理Git命令和修改authorized keys列表. gi ...
- Window权限维持(五):屏幕保护程序
屏幕保护是Windows功能的一部分,使用户可以在一段时间不活动后放置屏幕消息或图形动画.众所周知,Windows的此功能被威胁参与者滥用为持久性方法.这是因为屏幕保护程序是具有.scr文件扩展名的可 ...