本文對http2.2常用的模塊作了總結
注意:關閉selinux和iptables
永久關閉:
Vim /etc/sysconfig/selinux 設置爲disabled
Yum install httpd-manual 安裝httpd手冊 ip/manual即可訪問
全局配置:
主服務器段配置(或者虛擬主機配置,二者生效一個);
全局配置:
Listen 80 //可以監聽多個端口
KeepAlive //是否保持連接
#MPM工作模式配置:默認是prefork
<IfModule prefork.c>
StartServers 8 //服務器初始化時啓動的進程數目
MinSpareServers 5 //最少空閒進程數目
MaxSpareServers 20 //最大空閒進程數目
ServerLimit 256 //允許Maxclients啓動的最大進程在線數目
MaxClients 256 //最大允許啓動進程數目來響應客戶端。最大併發響應數量
MaxRequestsPerChild 4000
</IfModule>
Woker工作模式:
<IfModule worker.c>
StartServers 4
MaxClients 300
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0 //0表示無限制
</IfModule>
/usr/sbin/httpd -l 即可查看編譯的模塊
//修改工作模式必須通過修改另一個配置文件:
//vim /etc/sysconfig/httpd
//去掉 “HTTPD=/usr/sbin/httpd.worker” 一般先停止服務,再修改此文件,確保穩定
主服務器段配置:
1 ServerRoot /etc/httpd //中心主機位置
2 DocumentRoot /var/www/html //web資源存放位置,後面需加上目錄訪問控制,如下:
<Directory “/var/www/html”>
Options Indexes... //控制該目錄下資源訪問方式
AllowOverride None.. //與訪問控制相關的指令都可以放在.htaccess文件中,是否往其中加指令。爲all的時候影響性能
Allow from all //訪問控制,Deny是禁止訪問
</Directory>
訪問控制機制:
<Directory “/path”></Directory>
<File “”></File> //對某個文件實行訪問控制
<FileMatch “pattern”></FileMatch> //對符合正則表達式的文件實行訪問控制,由於會用到正則表達式引擎,所以降低效率,很少使用
<Location “URL目錄”></Location> //與Directory類似,但是路徑不是文件資源路徑,而是URL路徑
<LocationMatch “”></Location>
認證模塊:放在<Directory “”></Directory>中
具體實例:
[root@centos6_2 ~]# vim /etc/sysconfig/selinux
[root@centos6_2 ~]# mkdir /webtest/admin/
[root@centos6_2 ~]# vim /webtest/admin/index.html
<h1>admin file</h1>
[root@centos6_2 ~]# curl 202.193.52.228/admin
可以正常訪問
修改配置文件,定義目錄的權限
<Directory "/webtest/admin">
Options None
AllowOverride None
AuthType Basic
AuthName "admin auth test"
AuthUserFile "/etc/httpd/conf/.htpasswd"
Require user centos
</Directory>
Htpasswd -c -m|-s ./.htpasswd username
-c:創建文件
-m:指定md5加密方式
-s:指定sha加密方式
基於組控制:
(1) 修改Directory中內容
增加:AuthgroupFile “/etc/httpd/conf/.htgroup”
(2) htpasswd命令創建用戶密碼
Htpasswd -c -m ./htpasswd root //如果文件存在,則不需要寫-c選項,否則會覆蓋
(3) 編寫.htgroup文件,格式爲 grouname:user1 user2
3 定義站點的主頁面:
DirectoryIndex index.html index.html.var
4定義路徑別名
Alias /URL/ “實際的資源位置”
5日誌模塊
ErrorLog logs/error_log //錯誤日誌
CustomLog logs/access_log combined //訪問日誌格式
6 status:輸出當前服務器啓動進程以及進程狀態
<Location /server-status>
SetHandler server-status
Order deny,allow
allow from all //實際環境只允許開放本地主機
# Allow from .example.com
</Location>
在瀏覽器中輸入 http://ip/server-status