httpd常见配置
httpd常见配置
配置文件
/etc/httpd/conf/httpd.conf 主配置文件
/etc/httpd/conf.d/*.conf 辅助配置文件
配置文件语法检查及重新加载配置文件
[root@node1 conf]$ httpd -t
Syntax OK
[root@node1 conf]$ service httpd reload
重新载入 httpd:
修改监听的IP和Port
Listen [IP:] PORT [PROTOCOL]
IP 本机的IP,本机可能使用多个网卡,每个网卡可能使用多个IP,故而可以指定特定IP,不指定,默认为监听所有IP
PORT 端口号,不可省略
PROTOCOL 特定协议,例如 https 注:Listen指令在同一文件中,如果需要监听多个目标,Listen可以出现多次
服务器根目录
DocumentRoot "/var/www/html" ServerName www.example.com:80 # 服务器名称 DirectoryIndex index.html index.html.var # 站点主页面 AddDefaultCharset UTF-8 # 默认字符集 Alias /icons/ "/var/www/icons/" # 路径别名
持久化配置
KeepAlive Off | On # 是否开启长连接 MaxKeepAliveRequests # 保持长连接最大个数 KeepAliveTimeout # 单个连接最长连接时间
动态加载模块
LoadModule <mod_name> <mod_path>
<mod_name> 模块名称
<mod_path> 模块路径,支持使用相对路径,相对于ServerRoot /etc/httpd
MPM(多路处理模块)配置
查看
httpd -l # 查看静态模块
httpd -M # 查看动态加载的模块
更换
CentOS
/etc/sysconfig/httpd
# HTTPD=/usr/sbin/httpd.worker # 注释表示使用默认方式prefork工作,否则表示使用worker方式工作 CentOS7
/etc/httpd/conf.modules.d/-mpm.conf
LoadModule mpm_worker_module modules/mod_mpm_worker.so
# 注释或打开相关代码
prefork常用配置
<IfModule prefork.c>
StartServers # 起始开启的子进程数
MinSpareServers # 最小空闲子进程数
MaxSpareServers # 最大空闲子进程数
ServerLimit # 最大的进程数
MaxClients # 最大的请求并发数
MaxRequestsPerChild # 每个子进程最多能处理的请求数
</IfModule>
work常用配置
<IfModule worker.c>
StartServers
MaxClients 300 # 最大的请求并发数目
MinSpareThreads 25
MaxSpareThreads
ThreadsPerChild 25 # 每个子进程能同时创建的的线程数目
MaxRequestsPerChild 0 # 每个进程能处理的最大请求数目
</IfModule>
日志配置
ErrorLog logs/error_log # 错误日志目录
LogLevel warn # 日志记录等级 LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined # 日志格式定义
%h:客户端IP地址;
%l:Remote User, 通常为一个减号(“-”);
%u:Remote user (from auth; may be bogus if return status (%s) is 401);非为登录访问时,其为一个减号;
%t:服务器收到请求时的时间;
%r:First line of request,即表示请求报文的首行;记录了此次请求的“方法”,“URL”以及协议版本;
%>s:响应状态码;
%b:响应报文的大小,单位是字节;不包括响应报文的http首部;
%{Referer}i:请求报文中首部“referer”的值;即从哪个页面中的超链接跳转至当前页面的;
%{User-Agent}i:请求报文中首部“User-Agent”的值;即发出请求的应用程序;
站点访问控制可分为两类,基于文件路径控制和基于URL路径控制。
基于文件路径访问控制
<Directory "DocuRoot">
...
</Directory "DocuRoot">
<FILE "">
...
</FILE ""> <FileMatch "PATTERN">
...
</FileMatch "PATTERN">
基于URL路径访问控制
<Location "">
...
</Location ""> <LocationMatch "">
...
</LocationMatch "">
常见选项
Option
Indexes # 访问的url不存在时,返回父路径的索引列表
Includes
FollowSymLinks # 允许跟踪链接文件所指向的文件
SymLinksifOwnerMatch # 仅允许跟踪链接文件属主
ExecCGI # 支持CGI脚本
MultiViews
All 所有选项,除了 MultiViews
None 不支持上述选项 AllowOverride no | yes 是否允许子目录重载特性
黑名单(白名单)
Order allow, deny [ Allow | Deny ] from
all
example.org
10.1.2.3
172.20
基于用户的访问控制
用户认证类型 基本认证:Basic,明文发送 摘要认证:digest虚拟用户:仅用于访问某服务或获取某资源的凭证; 文本文件:.htpasswd SQL数据库 dbm:数据库引擎,提供API ldap:<Directory />
Options none
AllowOverride AuthConfig
AuthType Basic # 明文发送
AuthName "admin area" # 允许访问的用户
AuthBasicProvider file
AuthUserFile /etc/httpd/conf/.htpasswd
Require valid-user # 文件中所有用户均可访问
Require group GROUP # 指定组
AuthGroupFile GROUP_FILE # 指定组口令文件
</Directory>
生成认证文件.htpasswd
htpasswd [option] passwdfile username
选项:
-c:创建一个passwdfile,如果passwdfile已经存在,那么它会重新写入并删除原有内容
-m:以md5的格式编码存储用户的密码信息
-s:sha1加密用户密码;
-D:删除指定用户
访问指定网页
[root@node1 conf]$ curl http://www.baidu.com
<!DOCTYPE html>
<!--STATUS OK--><html> <head><meta http-equiv=content-type content=text/html;charset=utf-><meta http-equiv=X-UA-Compatible content=IE=Edge><meta content=always name=referrer><link rel=stylesheet type=text/css href=http://s1.bdstatic.com/r/www/cache/bdorz/baidu.min.css><title>百度一下,你就知道</title></head> <body link=#0000cc> <div id=wrapper> <div id=head> <div class=head_wrapper> <div class=s_form> <div class=s_form_wrapper> <div id=lg> <img hidefocus=true src=//www.baidu.com/img/bd_logo1.png
... href=http://www.baidu.com/duty/>使用百度前必读</a> <a href=http://jianyi.baidu.com/ class=cp-feedback>意见反馈</a> 京ICP证030173号 <img src=//www.baidu.com/img/gs.gif> </p> </div> </div> </div> </body> </html>
httpd常见配置的更多相关文章
- Httpd服务入门知识-Httpd服务常见配置案例之虚拟主机
Httpd服务入门知识-Httpd服务常见配置案例之虚拟主机 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.虚拟主机实现方案 1>.Apache httpd 有三种实现虚 ...
- Httpd服务入门知识-Httpd服务常见配置案例之Apache的工作做状态status页面
Httpd服务入门知识-Httpd服务常见配置案例之Apache的工作做状态status页面 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.status功能概述 status页 ...
- Httpd服务入门知识-Httpd服务常见配置案例之ServerSignature指令选项
Httpd服务入门知识-Httpd服务常见配置案例之ServerSignature指令选项 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.ServerSignature指令概述 ...
- Httpd服务入门知识-Httpd服务常见配置案例之实现用户家目录的http共享
Httpd服务入门知识-Httpd服务常见配置案例之实现用户家目录的http共享 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.实现用户家目录的http共享前提 在配置家目录共 ...
- Httpd服务入门知识-Httpd服务常见配置案例之定义路径别名
Httpd服务入门知识-Httpd服务常见配置案例之定义路径别名 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.创建测试数据 [root@node101.yinzhengj ...
- Httpd服务入门知识-Httpd服务常见配置案例之设定默认字符集
Httpd服务入门知识-Httpd服务常见配置案例之设定默认字符集 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.查看生产环境中使用的字符集案例 1>.查看腾讯设置的默认 ...
- Httpd服务入门知识-Httpd服务常见配置案例之日志设定
Httpd服务入门知识-Httpd服务常见配置案例之日志设定 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.日志类型 [root@node101.yinzhengjie.org ...
- Httpd服务入门知识-Httpd服务常见配置案例之基于客户端来源地址实现访问控制
Httpd服务入门知识-Httpd服务常见配置案例之基于客户端来源地址实现访问控制 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Options 1>.OPTIONS指 ...
- Httpd服务入门知识-Httpd服务常见配置案例之基于用户账号实现访问控制
Httpd服务入门知识-Httpd服务常见配置案例之基于用户账号实现访问控制 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.基于用户的访问控制概述 认证质询: WWW-Auth ...
随机推荐
- xss脚本绕过限制的方法
第一关:第一关比较简单,直接写入标签就可以,这里不多说了,payload如下: http://sqler.win/xss/level1.php?name=test%3Csvg/onload=alert ...
- jupyter notebook安装/代码补全/支持golang 踩坑记
安装(不要用root) 安装anaconda3,然后ln -s bin目录下的jupyter命令到/usr/bin目录下 生成密码备用 敲ipython进入交互终端 In [1]: from note ...
- 如何在一个电脑上使用两个github账号
问题描述:公司电脑上默认使用的是公司的github账号,如果希望写一些代码放到个人的github账号上,就需要配置让一个电脑上可以使用两个github账号 原理:管理两个SSH key 1.生成两个S ...
- linux下查看CPU、内存、磁盘信息
1.查看CPU信息# 总核数 = 物理CPU个数 X 每颗物理CPU的核数 # 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数 # 查看物理CPU个数cat /proc/c ...
- 【JVM】-NO.114.JVM.1 -【JDK11 HashMap详解-3-put-treeifyBin()-AVL】
Style:Mac Series:Java Since:2018-09-10 End:2018-09-10 Total Hours:1 Degree Of Diffculty:5 Degree Of ...
- iOS开发笔记错误集
错误类型列举 错误类型A:EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0) 错误类型B:EXC_BREAKPOINT (code=EXC_A ...
- python-17
# 列表生成式 a = [x*2 for x in range(10)] # 这两个变量必须一致 print(a) #列表 元组的高级赋值办法 b,c = [",6] # python的垃圾 ...
- CentOS 7 系统优化
系统调优4大子系统 1:找出系统中使用CPU最多的进程 2:找出系统中使用内存最多的进程 3:找出系统中对磁盘读写最多的进程 4:找出系统中使用网络最多的进程 系统调优概述 系统的运行状况: CPU ...
- JavaScript 原型链学习(四)原型链的基本概念、原型链实现继承
简单回顾一下构造函数.原型和实例的关系:每个构造函数都有一个原型对象,原型对象都包含一个指向构造函数的指针,而实例都包含一个指向原型对象的内部指针.那么,假如我们让原型对象等于另一个类型的实例,结果会 ...
- Mysql报错:Packet for query is too large (1121604 > 1048576).You can change this value on the server by setting the max_allowed_packet variable
看错误信息,发现1048576个字节,正好是1*1024*1024byte,也就是1Mb. 这正是mysql默认的max_allowed_packet值. 使用sql语句: show VARIABLE ...