接下來就開始瞭解配置文件
httpd:
/usr/sbin/httpd(MPM:prefork)
httpd:root,root (master process)
httpd:apche,apache (worker process)
/etc/rc.d/init.d/httpd 服務啓動腳本文件
port: (80/tcp),(ssl:443/tcp)
/etc/httpd:工作根目錄,相當於程序安裝目錄
/etc/httpd/conf:配置文件目錄
主配置文件:httpd.conf
/etc/httpd/conf.d/*.conf
/etc/httpd/modules:Apache模塊目錄
/etc/httpd/logs ---> /var/log/httpd: 日誌目錄
日誌文件: 訪問日誌accessl_log 錯誤日誌:err_log
/var/www
html 靜態網頁
cgi-bin 動態網頁
cgi:common gateway interface 通用網關接口
client ---》 httpd (index.cgi) ---> spawn process (index.cgi)
perl, python, java,(servlet,JSP), php
[root@localhost conf]# pwd
/etc/httpd/conf[root@localhost conf]# grep "Section" httpd.conf
### Section 1: Global Environment 全局環境
### Section 2: 'Main' server configuration 主服務配置
### Section 3: Virtual Hosts 虛擬主機
全局環境
httpd:
directive value
指令不區分字符大小寫
value則根據需要有可能要區分
ServerTokens OS 輸出 -----指令快速參考(官網)
ServerRoot "/etc/httpd" 根目錄
PidFile run/httpd.pid 服務程序的pid號文件
Timeout 60 tcp協議相關(三次握手超時時間,連接超時)
KeepAlive Off 常鏈接(訪問量少開啓)
MaxKeepAliveRequests 100 限制請求資源數量 0不限制
KeepAliveTimeout 15 保持常連接時間
MPM:Multi Path Madules
mpm_winnt windows專用
linux
prefork (一個請求用一個進程響應)
worker (一個請求用一個線程響應)
event (一個進程響應多個請求) 2.4版本支持
[root@localhost httpd]# httpd -l 顯示模塊信息
Compiled in modules:
core.c
prefork.c
http_core.c
mod_so.c
更改模塊
[root@localhost httpd]# vim /etc/sysconfig/httpd
#HTTPD=/usr/sbin/httpd.worker 去掉#即可
[root@localhost httpd]# httpd.worker -l
Compiled in modules:
core.c
worker.c
http_core.c
mod_so.c
prefork模塊設置參數
<IfModuleprefork.c>
StartServers 8 啓用8個空閒進程
MinSpareServers 5 最少空閒進程
MaxSpareServers 20 最大空閒進程
ServerLimit 256 同時 限制連接數 需要關掉所有進程再更改
MaxClients 256 同時最大連接數
MaxRequestsPerChild 4000 一個進程響應的最大請求數(生成的最大子進程數)
</IfModule>
worker模塊設置參數
<IfModuleworker.c>
StartServers 4 進程數
MaxClients 300 最大連接數
MinSpareThreads 25 最小空閒線程(所有進程)
MaxSpareThreads 75 最大空閒線程(所有進程)
ThreadsPerChild 25 一個進程生成的線程數
MaxRequestsPerChild 0 一個進程響應的請求,無法確認
</IfModule>
Listen 80 監聽端口
LoadModule foo_module modules/mod_foo.so 模塊名稱和路徑
參考:http://www.linuxidc.com/Linux/2012-07/65063.htm
Include conf.d/*.conf .conf 都是主配置文件
User apache 進程的用戶
Group apache
=====================================================
主服務配置
ServerAdmin root@localhost
#ServerName www.example.com:80 主機名
DocumentRoot "/var/www/html" 網頁文件目錄
<Directory "/var/www/html">
Options
none 不支持任何選項
Indexes: 允許索引目錄
FollowSymLinks 允許訪問符合鏈接指向的源文件 ln -s a.txt /etc/fstab
Includes:允許執行服務器保護(SSI)
ExecCGI:允許執行CGI腳本
ALL:啓用所有選項
order:用於定義基於主機的訪問功能的,IP,網絡地址或主機定義訪問控制機制
Order allow,deny
allow from
deny from
Order allow,deny
Deny from
AllowOverride None 認證
AuthConfig 啓用認證
AuthType Basic
AuthName "Restricted Files"
AuthUserFile “/etc/httpd/conf/.htpasswd”
Required user xx 允許特定用戶
vaild-user 允許所有用戶訪問
AuthGroupFile “/etc/httpd/conf/.htgroup”
htpasswd -c -m /etc/httpd/conf/htpasswd hadoop
-m /etc/httpd/conf/htpasswd tom
vim htpasswd
elinks http://
-dump 顯示後退出
-source 顯示網頁源碼