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 ...
随机推荐
- JAVA框架中XML文件
其实在JAVA开发中servlet配置,映射注入配置等等都可以用xml来配置 在此处的department是实体类的名字,而不是对应的数据库表的名字 数据库表的字段名=#{实体类属性名} 逆向工程生成 ...
- Ambassador中,启用不同的Load balancing算法
默认就是轮循,如果要其它hash或是最少请求,那就需要作更多的设置了. https://www.getambassador.io/reference/core/load-balancer/#sourc ...
- 【hdu3311】Dig The Wells(斯坦纳树+dp)
传送门 题意: 给出\(n\)个重要点,还有其余\(m\)个点,\(p\)条边. 现在要在这\(n+m\)个点中挖几口水井,每个地方的费用为\(w_i\).连接边也有费用. 问使得这\(n\)个地点都 ...
- 2015年蓝桥杯B组C/C++决赛题解
2015年第六届蓝桥杯B组C/C++决赛题解 点击查看2015年第六届蓝桥杯B组C/C++国赛题目(不含答案) 1.积分之迷 三重循环 枚举A,B,C的值,如果满足两个条件:3个A + 7个B ...
- to_sql, to_csv, to_excel, to_json
1.to_sql def to_sql(self, name, con, schema=None, if_exists="fail", index=True, index_labe ...
- 全网最新方法:win10下如何安装和配置64位JDK-13
1.下载JDK-13 下载链接:https://www.oracle.com/technetwork/java/javase/downloads/index.html 2.安装JDK-13 双击下图的 ...
- lua 9 parttern 字符极其简要的介绍
摘自:https://www.lua.org/pil/20.2.html 所有的字符和含义包括: . all characters %a letters %c control characters % ...
- luoguP4151 [WC2011]最大XOR和路径
题意 这题有点神啊. 首先考虑注意这句话: 路径可以重复经过某些点或边,当一条边在路径中出现了多次时,其权值在计算 XOR 和时也要被计算相应多的次数 也就是说如果出现下面的情况: 我们可以通过异或上 ...
- Educational Codeforces Round 63 (Rated for Div. 2) D dp(最大连续子序列)
https://codeforces.com/contest/1155/problem/D 题意 一个n个数的数组\(a[i]\),可以选择连续的一段乘x,求最大连续子序列的值 题解 错误思路:贪心, ...
- 怎样用cmd脚本添加Qt的环境变量
在网上遍历了很久,终于找到了一个简单且令人满意的答案: 定位到PyQt5发布文件所需的plugins的位置: 新建一个名为“设置环境变量”的cmd脚本,在里面写上: wmic ENVIRONMENT ...