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>
相關文章
相關標籤/搜索