《Web應用服務apach.ppt》由會員分享,可在線閱讀,更多相關《Web應用服務apach.ppt(54頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、第7章 Web應用服務,,Apache服務器簡介,Apache是世界使用排名第一的Web服務器。根據(jù)Web服務器調(diào)查公司Netcrafe調(diào)查,因特網(wǎng)上50%以上的Web服務器使用Apache。Apache是一個非常優(yōu)良的系統(tǒng),它可以運行在幾乎所有廣泛使用的計算機平臺上。,Apache服務器簡介,Apache服務器一個主要的特點是完全免費,并且完全公開其源代碼,由此用戶可根據(jù)自身的需要去進行相關模塊的開發(fā)。 Apache服務器另一個主要的特點是其跨平臺性,其可在UNIX、Windows、Linux等多種操作系統(tǒng)上運行。如果需要創(chuàng)建一個每天有數(shù)百萬人訪問的Web服務器,Apache可能是最佳選擇。
2、,1. 檢測與安裝Apache,安裝步驟: 查詢是否安裝了Apache # rpm qa|grep httpd 在線安裝最新版本的Apache服務器軟件包,命令如下: # yum install httpd,2. Apache服務器的啟動和停止,2命令行方式 1)啟動Apache服務器 # service httpd start # /etc/init.d/http start 2)停止Apache服務器 # service httpd stop # /etc/init.d/http stop 3)重啟Apache服務器 # service httpd restart # /etc/init
3、.d/http restart,,開放Web服務器 單擊“防火墻”,彈出“防火墻配置”窗口,勾選WWW(HTTP)復選框。單擊工具欄中的“應用”按鈕,這樣Web服務器可以向公眾開放,允許客戶機訪問Web網(wǎng)頁。,2. Apache服務器的啟動和停止,Apache默認測試頁 確認服務器已啟動,在本服務器的Firefox瀏覽器地址欄中輸入本服務器主機的IP地址(本例中Apache服務器的IP地址為192.168.71.128)或輸入“http://localhost”,便可看到Apache默認的測試頁.,2.Apache服務器的啟動和停止,3、Apache服務器基本配置,主配置文件httpd.con
4、f,httpd.conf是Apache最核心的配置文件,位于/etc/httpd/conf/目錄下,幾乎絕大部分的設置都需要修改該配置文件來完成。在Apache啟動時,會自動讀取配置文件的內(nèi)容。配置文件內(nèi)容改變后,只有重啟httpd服務或者重新啟動Linux才會生效。,主配置文件httpd.conf,整個配置文件總體上劃分三個部分: 第一部分是全局環(huán)境設置,主要用于設置ServerRoot、主進程號的保存文件、對進程的控制、服務器監(jiān)聽的IP地址和端口以及需要裝載的DSO(Dynamic Shared Object)模塊等; 第二部分是服務器的Web站點基本配置 第三部分是虛擬主機段。,根目錄設
5、置,httpd.conf配置文件中的ServerRoot字段用來設置Apache的配置文件、錯誤文件和日志文件的存放目錄,并且該目錄是整個目錄樹的根節(jié)點。默認情況下根路徑為/etc/httpd,可根據(jù)需要進行修改。 ServerRoot 目錄路徑,文檔目錄設置,httpd.conf配置文件中的DocumentRoot字段用來設置服務器對外發(fā)布的超文本文檔存放的路徑。 DocumentRoot 目錄路徑,主機名稱設置,httpd.conf配置文件中的ServerName字段設置了服務器用于辨別自己的主機名和端口號,主要用于創(chuàng)建轉(zhuǎn)向URL,默認情況下是不需要設置這個參數(shù)的。 ServerName
6、完整的域名:端口號,網(wǎng)站首頁設置,httpd.conf配置文件中的DirectoryIndex字段用于設置網(wǎng)站的首頁,所謂首頁就是一個網(wǎng)站的起點站或者主目錄。 DirectoryIndex local-url local-url,超時設置,httpd.conf配置文件中的Timeout字段用于設置服務器與客戶端連接的超時間隔,以秒為單位,默認時間是120秒。 Timeout 數(shù)值,客戶端并發(fā)連接數(shù)限制,在配置文件中,MaxClients字段用于設置統(tǒng)一時刻內(nèi)最大的客戶端訪問數(shù)量,默認為256。 MaxClients 數(shù)值,一次連接中允許的最大請求數(shù)設置,MaxKeepAliveRequests
7、字段限制了當啟動KeepAlive時,每次連接允許的請求數(shù)量。如果將此值設置為0,將不限制請求的數(shù)目。 MaxKeepAliveRequests 數(shù)值,兩次請求之間等待的最大時間設置,KeepAliveTimeout用于設置持續(xù)作用中服務器在兩次請求之間等待的最大時間間隔,以秒為單位,默認值是15。如果服務器已經(jīng)完成了一次請求,但在超過了該指令設置的時間間隔后,還沒有收到下一次請求,那么服務器就斷開連接。 KeepAliveTimeout 數(shù)值,管理員郵件地址設置,ServerAdmin字段用于設置服務器的管理員的電子郵箱地址。如果客戶端在訪問服務器時出現(xiàn)錯誤,就把錯誤信息返回給客戶端的瀏覽器
8、,為了便于Web用戶和管理員取得聯(lián)系。 ServerAdmin E-mail地址,網(wǎng)頁編碼設置,AddDefaultCharset字段來設置服務器的編碼。在默認情況下服務器編碼采用UTF-8。而漢字的編碼一般是GB2312,國家強制標準是GB18030。 AddDefaultCharset 編碼標準,監(jiān)聽端口配置,Listen字段用來配置服務器接受請求的端口或者特定的IP地址與端口的組合信息。在缺省的情況下,Apache監(jiān)聽所有的有效網(wǎng)絡接口,使用Listen字段可以配置Apache只監(jiān)聽指定的IP地址或者端口??梢允褂枚鄠€Listen字段使服務器同時監(jiān)聽多個地址和端口。 Listen IP地
9、址:端口號,配置指令,虛擬主機配置指令如下: (1) 配置指令。和指令之間包含了一組其他指令,這些指令用于定義和配置使用指定IP地址的虛擬主機。,虛擬主機配置指令,格式 ,虛擬主機配置指令,(2) Name VirtualHost配置指令。為基于名稱的虛擬主機定義IP地址(或者加上端口號)。 格式 NameVirtualHost IP地址:端口號 例如: NameVirtualHost 192.168.101.110:80,配置虛擬主機,虛擬主機是在一臺Web服務器上為多個單獨的域名提供Web服務,每個域名具有特定的目錄和配置,相當于將一臺主機分為多臺主機,虛擬主機技術(shù)對于主機數(shù)量不足,但又想
10、為不同的用戶提供獨立的Web服務的需求非常有效。 Apache有兩種方式支持虛擬主機: 基于IP的虛擬主機 基于名字的虛擬主機。,配置基于域名的虛擬主機,1、基于名字的虛擬主機 基于域名的虛擬主機則是根據(jù)客戶端提交的HTTP頭中的主機名部分決定的,使用這種技術(shù),多個虛擬主機可以共享同一個IP地址?;谟蛎奶摂M主機技術(shù)也可以緩解IP地址不足的問題?;谟蛎奶摂M主機的配置并不復雜,它的配置在也是在主配置文件/etc/http/conf/httpd.conf中完成的。,配置基于域名的虛擬主機,假設某一學院按照系部或者職能部門組建基于名字的虛擬主機。有一臺Apache服務器和一個IP地址:211
11、.85.203.22,假設有兩個單位需要建立網(wǎng)站,一個為辦公室網(wǎng)站,域名為 ,另一個為計算機系網(wǎng)站,域名為,配置基于域名的虛擬主機,(1)基于名稱的虛擬主機的DNS配置 現(xiàn)在想要創(chuàng)建一個名為 和的虛擬主機,并使用同一個 Apache服務器。一個IP,供多個主機名使用。為已經(jīng)存在的主機創(chuàng)建別名即可。 在提交的 DNS配置文件中,為創(chuàng)建別名.,配置基于域名的虛擬主機,在DNS配置文件中,為創(chuàng)建別名: IN CNAME IN CNAME 或者 officeINCNAME www computerINCNAME www,配置基于域名的虛擬主機,在上面的配置中,在提交的DNS配置文件以及返回的配置文件中
12、,已經(jīng)具有如下的A記錄和PTR記錄,分別為: wwwINA 211.85.203.22 1PTRCNAME,配置基于域名的虛擬主機,(2)修改配置文件 在/etc/httpd/conf/httpd.conf添加: NameVirtualHost 211.85.203.22 ServerName DocumentRoot /var/www/html/office ServerName DocumentRoot /var/www/html/computer ,配置基于域名的虛擬主機,(3) 創(chuàng)建/var/www/test1目錄和/var/www/test2目錄存放兩個不同域名的網(wǎng)站對應的網(wǎng)
13、頁,并寫入index.html文件。創(chuàng)建兩個目錄的命令如下: # mkdir /var/www/test1 /var/www/test2 分別在兩個目錄下,新建index.html文件:,配置基于域名的虛擬主機,# touch /var/www/test1/index.html /var/www/test2/index.html ************************ ***Welcome to the home of Linux!*** ************************* ,配置基于域名的虛擬主機,啟動Apache域名服務器,命令及信息顯示如下: # servic
14、e httpd start 測試虛擬主機。在網(wǎng)絡中的任何一個可以訪問到Web服務器的客戶機上,使用Firefox瀏覽器(或其他的瀏覽器如IE瀏覽器),測試新建基于兩個不同域名的虛擬主機。,配置基于IP虛擬主機,2、 基于IP的虛擬主機(每個站點擁有一個獨立IP地址) 使用這種虛擬主機方式,首先要在服務器上為每個虛擬主機單獨設置一個IP地址。這些IP地址可以通過增加多個網(wǎng)卡或者在一個網(wǎng)卡上設立多個IP地址來完成。,有多個IP地址,設置Apache的方法,A:為每個虛擬主機運行一份Apache 采用這種方式,每一份Apache程序可以以單獨的用戶運行,因此各個虛擬主機之間互不影響。設置這種虛擬主機
15、時,只要為每一份Apache設置一套配置文件就可以了,唯一需要注意的是:必須使用“Listen”語句,強制每一份Apache 僅僅在屬于“自己”的IP地址上接收服務請求。 優(yōu)點:各個虛擬主機之間互不干擾,安全性高。 缺點:占用系統(tǒng)資源較多。,有多個IP地址,設置Apache的方法,B、多個虛擬主機共享同一份Apache 采用這種方式,各個虛擬主機共享同一份Apache,因此各個虛擬主機之間有一定的影響,尤其是執(zhí)行CGI程序時,可能會帶來一些嚴重的安全問題。設置這種虛擬主機時,只要為每一個虛擬主機設置類似如下的信息即可 : DocumentRoot /www/ghq1 優(yōu)點:占用系統(tǒng)資源比上
16、一種方式少。 缺點:安全性低,每個虛擬主機仍然需要占用一個IP地址。,配置基于IP虛擬主機,(1)基于IP虛擬主機的DNS配置 如果用戶想要創(chuàng)建二個基于IP的虛擬主機,、。這二個虛擬主機站點的共同域名是 。,配置虛擬主機,用戶可以按照如下所示在DNS配置文件中進行配置: computerINA211.85.203.2 office INA 211.85.203.1 同時在DNS的配置文件中添加以下的PTR記錄: 1INPTR 2INPTR,配置虛擬主機,(2)修改配置文件 在/etc/httpd/conf/httpd.conf添加: ServerAdmin DocumentRoot /v
17、ar/www/html/office ServerName ErrorLog /var/www/html/office/logs/error_log TransferLog /var/www/html/office/logs/access_log ,配置虛擬主機, ServerAdmin DocumentRoot /var/www/html/computer ServerName ErrorLog /var/www/html/computer/logs/error_log TransferLog /var/www/html/computer/logs/access_log ,例題1:基于
18、IP的虛擬主機,在一臺IP地址為192.168.1.10服務器上分別配置三個Web站點, 第一個站點的IP為 192.168.1.11 第二個站點的IP為 192.168.1.12 第三個站點的IP為 192.168.1.13 三個站點對應域名:; ,例題1:基于IP的虛擬主機,1. 假設服務器有個IP地址為192.168.1.10,使用ifconfig在同一個網(wǎng)絡接口eth0上綁定3個IP: # ifconfig eth0:1 192.168.1.11# ifconfig eth0:2 192.168.1.12# ifconfig eth0:3 192.168.1.13,,2. 修改host
19、s文件,添加三個域名與之一一對應: 192.168.1.11 192.168.1.12 192.168.1.13 ,例題1:基于IP的虛擬主機,3. 建立虛擬主機存放網(wǎng)頁的根目錄,如在/www目錄下建立test1、test2、test3文件夾,其中分別存放1.html、2.html、3.html /www/test1/1.html/www/test2/2.html/www/test3/3.html,例題1:基于IP的虛擬主機,4. 修改httpd.conf配置文件 ServerName DocumentRoot /www/test1/Options Indexes FollowSymLinks
20、 AllowOverride None Order allow,deny Allow From All ,例題1:基于IP的虛擬主機,ServerName DocumentRoot /www/test2/Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow From All ,例題1:基于IP的虛擬主機,ServerName DocumentRoot /www/test3/Options Indexes FollowSymLinks AllowOverride None Order allow,deny
21、 Allow From All ,例題2:基于域名的虛擬主機的訪問,有一臺服務器IP地址:192.168.0.1 。為 和提供服務,例題2:基于域名的虛擬主機的訪問,1)vi /etc/http/conf/httpd.conf 2)更改虛擬主機部分為: NameVirtualHost 192.168.0.1 DocumentRoot /var/www/html/website1 ServerName ,例題2:基于域名的虛擬主機的訪問, DocumentRoot /var/www/html/website2 ServerName ,例題2:基于域名的虛擬主機的訪問,3)創(chuàng)建目錄以及頁面文件: #mkdir p /var/www/html/website1 #mkdir p /var/www/html/website2 #cd /var/www/html/website1,例題2:基于域名的虛擬主機的訪問,#cat index.html website1 EOF #cd /var/www/html/website2 #cat index.html website2 EOF,例題2:基于域名的虛擬主機的訪問,4)完成以上設置后,可以通過以下方式訪問: 1)打開瀏覽器 2)輸入 以及 ,