httpd常见配置

httpd常见配置

配置文件

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

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

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

[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 100   # 保持长链接最大个数

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

动态加载模块

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

MPM(多路处理模块)配置

查看node

 

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经常使用配置bash

 

<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路径控制。app

基于文件路径访问控制

<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>

生成认证文件.htpasswdcurl

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-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>
相关文章
相关标签/搜索