首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

Apache 參考手冊:Location、LocationMatch、LockFile、LogLevel、MaxClients 指令詳解

     編輯:PHP 相關知識

Apache 核心配置指令中文參考,涵蓋 URL 存取控制、鎖定檔、日誌等級、並發連線限制等關鍵設定。

<Location> 指令

  • 語法:<Location URL> ... </Location>
  • 用途:依 URL 進行存取控制,不依賴檔案系統路徑
  • 處理順序:在 <Directory>、.htaccess、<Files> 之後
  • URL 形式:
    • 非 Proxy:/path/(不含 https://servername)
    • Proxy:scheme://servername/path(需含前綴)
  • 萬用字元:? 單字元、* 多字元
  • 正則支援:Apache 1.2+ 使用 ~ 前綴,如 <Location ~ "/(extra|special)/data">

實用範例:限制 /status 僅允許 foo.com 存取

<Location /status>
    SetHandler server-status
    order deny,allow
    deny from all
    allow from .foo.com
</Location>

<LocationMatch> 指令 (Apache 1.3+)

  • 參數為正則表達式,行為等同 <Location> 正則版
  • 範例:<LocationMatch "/(extra|special)/data">

LockFile 指令

  • 設定接受鎖定檔路徑(USE_FCNTL_SERIALIZED_ACCEPT 或 USE_FLOCK_SERIALIZED_ACCEPT 編譯選項需啟用)
  • 預設:logs/accept.lock
  • 若 logs 目錄在 NFS 上,必須改為本地磁碟路徑
  • 安全性:避免放在 /var/tmp 等全域可寫目錄,防止阻斷服務攻擊

LogLevel 指令

等級意義範例
emerg系統不可用Child cannot open lock file. Exiting
alert需立即處理getpwuid: couldnt determine user name
crit嚴重錯誤socket: Failed to get a socket
error錯誤Premature end of script headers
warn警告child process 1234 did not exit
notice正常但重要httpd: caught SIGBUS
info資訊Server seems busy...
debug除錯Opening config file...

建議至少設為 crit,指定等級會包含所有更高嚴重性訊息。

MaxClients 指令

  • 同時支援的最大請求數(子進程數上限)
  • 預設 256,超過需修改 httpd.h 中 HARD_SERVER_LIMIT 重新編譯
  • 超過限制的連線會進入佇列(受 ListenBacklog 影響)

MaxKeepAliveRequests 指令

  • 單一 KeepAlive 連線允許的最大請求數
  • 預設 100,設 0 為無限制
  • 建議維持高值以獲得最佳效能
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved