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 ...
随机推荐
- Vysor
官网:http://www.vysor.io/ Vysor用 PC远程控制投影安卓手机/平板工具 Vysor 是一个免费的google浏览器插件. 它可以让你在pc上控制你的Android手机.平板等 ...
- 一次shell脚本小事故,从中学习排错过程-软件测试
一次shell脚本小事故,从中学习排错过程 事出,童鞋使用shell脚本搭建测试环境的过称中..... 配置环境变量文件:/etc/profile(用于升级JDK或其他) 手动编辑方法:vi /etc ...
- 01 less的使用
使用less 安装两个包 1===>cnpm install less less-loader --save-dev less中的注释 以 //开头的注释 不会被编译到css文件中去 以 /** ...
- 智能指针类模板(中)——Qt中的智能指针
Qt中的智能指针-QPointer .当其指向的对象被销毁时,它会被自动置空 .析构时不会自动销毁所指向的对象-QSharedPointer .引用计数型智能指针 .可以被自由的拷贝和赋值 .当引用计 ...
- Tensorflow之变量赋值输出1+2+3+4+5+6+7+8+...
一.导入tensorflow import tensorflow as tf 二.定义计算图 (1)常量初始化 constant_name = tf.constant(value) (2)变量初始化 ...
- SpringCloud琐碎内容
SpringCloud提供了很多监控端点,可以使用http://{ip}:{port}/{endpoint}得形式来访问这些端点,从而了解应用程序的运行状况. Actuator提供的端点,如表3-2所 ...
- Ajax常用例子 Post 和 Get
1. 前台:Post$.ajax({ url: "@Url.Action("Save", "UserFun")", type: " ...
- Navicat Premium Mac 12 破解(亲测可用!!!)
今天不知怎的,出于强迫症的我就是要强行搞个Navicat Premium Mac 12 破解版本. 历经了种种种种种种磨难与艰辛与火海,终于破解成功了. 因为要经常使用MySQL,使用命令行那是相当的 ...
- a 标签 pointer-events
a 标签渲染到也页面之后,由于某些原因需要,禁用. 有两种方法可以设置禁用效果. 1.使用 CSS 属性 pointer-events ,设置此属性为 none 之后,元素将不会成为鼠标事件的 tar ...
- 工具类docker for k8s
alpine-tools 安装了常用 工具,curl,telnet, wget 等 apiVersion: extensions/v1beta1 kind: Deployment metadata: ...