apache是衆多web服務器中的一員,其它web服務器還有什麼nginx、Sun、Microsoft等等。php
接下來咱們主要講解一下Apachehtml
網站分爲兩類:
1.靜態網站
2.動態網站nginx
(關於靜態網站和動態網站的解析:
程序是否在服務器端運行,這個是判斷網頁屬不屬於動態網頁的重要標誌。
在服務器端運行的程序、網頁、組件,屬於動態網頁,它們會隨不一樣客戶、不一樣時間,返回不一樣的網頁,例如ASP、PHP、JSP、ASP.net、CGI等。
運行於客戶端的程序、網頁、插件、組件,屬於靜態網頁,例如html頁、Flash、JavaScript、VBScript等等,它們是永遠不變的。
在網站設計中,純粹HTML格式的網頁一般被稱爲「靜態網頁」,早期的網站通常都是由靜態網頁製做的。靜態網頁的網址形式一般爲:www.example.com/eg/eg.htm,也就是以.htm、.html等爲後後綴的。在HTML格式的網頁上,也能夠出現各類動態的效果,如.GIF格式的動畫、FLASH、滾動字母等,這些「動態效果」只是視覺上的,與我說常說的動態網頁是不一樣的概念。靜態網頁是實實在在保存在服務器上的文件,每一個網頁都是一個獨立的文件等。
動態網頁,與網頁上的各類動畫、滾動字幕等視覺上的「動態效果」沒有直接關係,動態網頁也能夠是純文字內容的,也能夠是包含各類動畫的內容,這些只是網頁具體內容的表現形式,不管網頁是否具備動態效果,採用動態網站技術生成的網頁都稱爲動態網頁
動態的是須要服務器解釋的。
靜態的放到什麼地方都能運行的。
你靜態的拷貝的別的地方 也能看到。
動態的就不行。)web
# yum install httpd* -y
檢查是否安裝好:
# rpm -qa |grep httpd
httpd-2.2.15-47.el6.centos.4.x86_64
httpd-devel-2.2.15-47.el6.centos.4.x86_64
httpd-manual-2.2.15-47.el6.centos.4.noarch
httpd-tools-2.2.15-47.el6.centos.4.x86_64apache
# service httpd restart
設置開機自啓動:
# chkconfig httpd oncentos
http://192.168.1.1/manual/ --本地manual手冊
http://apache.chinahtml.com/ --apache中文手冊
http://192.168.1.1 --默認頁面瀏覽器
# ls /etc/httpd/conf.d/welcome.conf --默認頁面的配置文件服務器
/etc/httpd/conf/httpd.conf網絡
主配置文件分紅三個部分:
Section 1: Global Environment --全局環境
Section 2: 'Main' server configuration --主配置
Section 3: Virtual Hosts --虛擬主機併發
serverRoot "/etc/httpd" --存放配置文件一主目錄
PidFile run/httpd.pid --pid文件
Timeout 60 --鏈接超時時間
KeepAlive Off --通常是短期下載文件比較多的網站 在ON的時候 一次鏈接屢次請求(鏈接這裏指的是TCP/ip的鏈接,請求指的是http協議的請求
#這裏能夠作個小測試,找個瀏覽器訪問一下,而後使用如下命令查看有幾個鏈接
1.off 的狀況, 別人刷新你的一個頁面,能夠看到一個IP有屢次鏈接
#netstat -nt |grep :80
#netstat -nt |grep :80 |awk -F: '{print $8}' |sort |uniq -c
2.on的狀況, 別人刷新頁面,能夠看到一個IP只有一次鏈接(15秒後再刷新會產生新鏈接)
# netstat -nt |grep :80
MaxKeepAliveRequests 100
KeepAliveTimeout 15
<IfModule prefork.c> --預派生模式 ,lamp通常用這種
StartServers 8 --啓動時產生的進程數
MinSpareServers 5 --最小的啓動子進程數
MaxSpareServers 20 --最大的啓動子進程數
ServerLimit 256 --最大進程總數
MaxClients 256 --最大併發數
MaxRequestsPerChild 4000 --每一個子進程處理的最多請求數
</IfModule>
Listen 80 --監聽端口
Listen 8000 --監聽端口能夠同時綁定多個
地址+端口:
Listen 192.168.1.1:80 --只有192.168.1.1能訪問apache
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule auth_digest_module modules/mod_auth_digest.so
LoadModule 。。。 --模塊,一個DSO就是一個小功能,這些模塊都是可插拔的
Include conf.d/*.conf --表示conf.d/下的*.conf配置文件生效
User apache
Group apache --以什麼身份運行
ServerAdmin root@localhost --管理郵箱
DocumentRoot "/var/www/html" --網站根目錄
<Directory "var/www/html"> #對網站根目錄作配置
----Options----
Options定義"<Directory "/var/www/html">"下的全部文件的屬性
Indexes #索引,就是目錄 把網站根目錄下的全部文件列出來,實際狀況下不能容許,在你把網站當作一個下載網站的時候能夠啓用
None #不支持任何選項
FollowSymLinks #容許訪問鏈接文件 要關掉
Includes:容許執行服務端包含(SSI)
ExecCGI:容許容許CGI腳本
All:啓用全部選項
---AllowOverride----
AllowOverride None
Order:用於定義基於主機的訪問功能的,IP,網絡地址或主機定義訪問控制機制
Order allow,deny #先容許後禁止
allow from 1.1.1.0/24 #容許1.1.1.0/24 其餘所有拒絕
Order deny,allow #先禁止後容許
deny from 1.1.1.0/24 #拒絕1.1.1.0/24 其餘所有容許
AllowOverride AuthConfig --使用用戶認證
AuthType Basic --認證類型:基本認證
AuthName "Restriced Site..." --取個名字
AuthUserFile /etc/httpd/conf/htpasswd --用戶認證文件,用於存放用戶密碼
AuthGroupFile /etc/httpd/conf/htpasswd --組用戶認證文件,存放組用戶密碼
Require valid-user --表示這個文件全部用戶能夠登陸
</Diectory> #結束
DirectoryIndex index.html index.html.var --定義主頁文件支持的格式,有php能夠加上index.php
AccessFileName .htaccess --網頁加密
ErrorLog logs/error_log --錯誤日誌
LogLevel warn --日誌等級
--下面爲日誌的格式 LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %b" common LogFormat "%{Referer}i -> %U" referer LogFormat "%{User-agent}i" agent