httpd常见配置

httpd常见配置

配置文件

/etc/httpd/conf/httpd.conf     主配置文件

/etc/httpd/conf.d/*.conf     辅助配置文件

配置文件语法检查及重新加载配置文件

[[email protected] conf]$ httpd -t
Syntax OK
[[email protected] conf]$ service httpd reload
重新载入 httpd:

修改监听的IP和Port

Listen  [IP:] PORT  [PROTOCOL]IP     本机的IP,本机可能使用多个网卡,每个网卡可能使用多个IP,故而可以指定特定IP,不指定,默认为监听所有IPPORT    端口号,不可省略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 100   # 保持长连接最大个数

KeepAliveTimeout 15            #  单个连接最长连接时间

动态加载模块

LoadModule <mod_name> <mod_path>
<mod_name> 模块名称
<mod_path> 模块路径,支持使用相对路径,相对于ServerRoot  /etc/httpd

MPM(多路处理模块)配置

查看

httpd -l      # 查看静态模块
httpd -M    # 查看动态加载的模块    

更换

CentOS 6
/etc/sysconfig/httpd
# HTTPD=/usr/sbin/httpd.worker    # 注释表示使用默认方式prefork工作,否则表示使用worker方式工作

CentOS7
/etc/httpd/conf.modules.d/00-mpm.conf
LoadModule mpm_worker_module modules/mod_mpm_worker.so    # 注释或打开相关代码

prefork常用配置

<IfModule prefork.c>
StartServers       8      #  起始开启的子进程数
MinSpareServers    5       #  最小空闲子进程数
MaxSpareServers   20       #  最大空闲子进程数
ServerLimit      256       #  最大的进程数
MaxClients       256       #  最大的请求并发数
MaxRequestsPerChild  4000  #  每个子进程最多能处理的请求数
</IfModule>

work常用配置

<IfModule worker.c>
StartServers         4
MaxClients         300     # 最大的请求并发数目
MinSpareThreads     25   
MaxSpareThreads     75
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
    10  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:删除指定用户        

访问指定网页

[[email protected] conf]$ curl http://www.baidu.com
<!DOCTYPE html>
<!--STATUS OK--><html> <head><meta http-equiv=content-type content=text/html;charset=utf-8><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>&nbsp; <a href=http://jianyi.baidu.com/ class=cp-feedback>意见反馈</a>&nbsp;京ICP证030173号&nbsp; <img src=//www.baidu.com/img/gs.gif> </p> </div> </div> </div> </body> </html>
时间: 2024-10-05 13:01:22

httpd常见配置的相关文章

linux服务之http协议和httpd的配置(二)

httpd-2.2的常见配置(2) 14.curl命令 curl是基于URL语法在命令行方式下工作的文件传输工具,它支持FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE及LDAP等协议.curl支持HTTPS认证,并且支持HTTP的POST.PUT等方法, FTP上传, kerberos认证,HTTP上传,代理服务器, cookies, 用户名/密码认证, 下载文件断点续传,上载文件断点续传, http代理服务器管道( proxy tunnel

linux服务之http协议和httpd的配置(一)

http协议和httpd的配置 URL:Unifrom Resource Locator URL方案:scheme 服务器地址:ip:port 资源路径: http://www.magedu.com:80/bbs/index.php, https:// 基本语法: <scheme>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#<fra

linux命令:httpd 安装配置 elinks htpasswd

LAMP:L=linux  A=apache网页服务器  M=mysql数据库服务器  P=php应用服务器 httpd:  事先创建进程,按需维持适当的进程,模板化设计,核心比较小,各种功能都模块添加, 支持运行配置,支持单独编译模块.   httpd -t用于检测httpd.conf主配置文档是否存在语法错误  [[email protected] conf]# httpd -t Syntax OK       检测配置文档语法正常 elinks:linux系统中打开纯文本网页界面.   参

Linux之Web服务(2)Httpd服务配置之一

Linux之Web服务(2)Httpd服务配置之一 Apache HTTP Server Apache HTTP 服务器,简称Apache,是非常留下的Web服务器软件.通常和脚步语言比如PHP,数据库MySQL一起工作,合成为LAMP栈(Linux, Apache, MySQL, PHP). 当然流行的Web服务器还有nigix,但是nigix虽然轻量级很稳定,但是功能并不如Apache HTTP功能丰富,并且现在的Apache HTTP还支持模块化功能,及可以开发自己的功能模块并加入到此We

Linux之Web服务(2)Httpd服务配置之二

Linux之Web服务(2)Httpd服务配置之二 前言 在上一篇通过一些简单的案例或说明来介绍了部分关于Httpd2.4中httpd.conf配置文件中的配置选项及对应的功能.主要是对访问控制和在处理对指定目录或文件进行访问控制的一些安全问题性的处理.但是一直没有提到访问控制的具体讲解,本篇列出访问控制的具体使用选项和功能,以及其它高级配置. 1.Httpd2.4 文档访问授权具体参数 前提:文档访问授权选项配置只适合在以下标签中生效: <Directory >  <FIles>

Linux之Web服务(2)Httpd服务配置之三

Linux之Web服务(2)Httpd服务配置之三 前言 默认安装的Httpd服务一般只有默认的一个DocumentRoot节点配置,及一个站点文档资源存放根目录,但是在生产环境中需要有多种分类的资源,比如用于外部访问和内部访问,又或者是资源本身类型,比如分别用来存放一些文档.图片.单项加密算法文件等,为了更好分配站点管理的资源,Httpd服务提供了VirtualHost及虚拟主机的配置,可以在一个Httpd服务下模拟进行部署多个站点,这样不同的站点进行不同的配置,更方便进行分布式管理. Vir

Linux之Web服务(2)Httpd服务配置之四

Linux之Web服务(2)Httpd服务配置之四 前言 接上一篇的虚拟主机,本片主要介绍虚拟主机的一些搭建和部署,本篇通过一个具体的案例来显示虚拟主机的作用和特性. 案例功能介绍: (1) 准备DNS解析3个域名或者添加/etc/hostst/3条主机名IP档案,解决域名解析 (2) 基于主机名实现三个虚拟主机 (3) 每虚拟主机使用独立的访问日志和错误日志 (4) 在第二个虚拟主机上提供/status: (5) 在第三个虚拟主机提供路径别名/bbs,访问其它文件系统路径: (6) 第三个虚拟

apache httpd.conf配置及php.ini配置建议

1)     php.ini配置 扩展配置 (注意观察extention_dir路径是否与物理路径一致) extension=php_gd2.dll 几乎是必开,这个图形处理扩展被广泛地应用在上传头像处理.在线照片处理.验证码等等地方. extension=php_mbstring.dll 几乎也是必开,没有他,多字节字符串(如中文)截取将会变得异常的复杂. extension=php_pdo_mysql.dll PHP5.3默认已经集成了PDO(如果低于5.3的话应该会有extension=p

Hadoop常见配置

core-site.xml:   fs.default.name:hdfs://hadoop:9000 fs.tmp.dir:/usr/local/hadoop/tmp   hdfs-site.xml:   dfs.name.dir: dfs.name.edits.dir:eidts  dfs.replicationHadoop常见配置,布布扣,bubuko.com