linux中Web服務(wù)的配置與應(yīng)用_第1頁
linux中Web服務(wù)的配置與應(yīng)用_第2頁
linux中Web服務(wù)的配置與應(yīng)用_第3頁
linux中Web服務(wù)的配置與應(yīng)用_第4頁
linux中Web服務(wù)的配置與應(yīng)用_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第二單元Web服務(wù)的配置與應(yīng)用Web服務(wù)的概述HTTP協(xié)議Web服務(wù)Web服務(wù)工作原理HTTP協(xié)議WWW的目的就是使信息更易于獲取,而不管它們的地理位置在哪里。當(dāng)使用超文本作為WWW文檔的標(biāo)準(zhǔn)格式后,人們開發(fā)了可以快速獲取這些超文本文檔的協(xié)議——HTTP協(xié)議,即超文本傳輸協(xié)議。HTTP是應(yīng)用級的協(xié)議,主要用于分布式、協(xié)作的信息系統(tǒng)。HTTP協(xié)議是通用的、無狀態(tài)的,其系統(tǒng)的建設(shè)和傳輸與數(shù)據(jù)無關(guān)。HTTP也是面向?qū)ο蟮膮f(xié)議,可以用于各種任務(wù),包括名字服務(wù)、分布式對象管理、請求方法的擴(kuò)展、命令等。在Internet上,HTTP通信往往發(fā)生在TCP/IP連接上,其默認(rèn)的端口為80,也可以使用其他端口。Web服務(wù)Web服務(wù)的實(shí)現(xiàn)采用客戶/服務(wù)器模型??蛻魴C(jī)運(yùn)行WWW客戶程序——瀏覽器,它提供良好、統(tǒng)一的用戶界面。瀏覽器的作用是解釋和顯示W(wǎng)eb頁面,響應(yīng)用戶的輸入請求,并通過HTTP協(xié)議將用戶請求傳遞給Web服務(wù)器。Web服務(wù)器運(yùn)行服務(wù)器程序,它最基本的功能是偵聽和響應(yīng)客戶端的HTTP請求,向客戶端發(fā)出請求處理結(jié)果信息。Web服務(wù)通??梢苑譃閮煞N:靜態(tài)Web服務(wù)和動態(tài)Web服務(wù)。

Web服務(wù)工作原理Web瀏覽器使用HTTP命令向一個

特定的服務(wù)器發(fā)出Web頁面請求。若該服務(wù)器在特定端口(通常是

TCP80端口)處接收到Web頁面

請求后,就發(fā)送一個應(yīng)答并在客戶

和服務(wù)器之間建立連接服務(wù)器Web查找客戶端所需文檔,

若Web服務(wù)器查找到所請求的文檔,

就會將所請求的文檔傳送給Web瀏

覽器。若該文檔不存在,則服務(wù)器

會發(fā)送一個相應(yīng)的錯誤提示文檔給

客戶端。Web瀏覽器接收到文檔后

,就將它顯示出來。當(dāng)客戶端瀏覽完成后,就斷開與

服務(wù)器的連接。Apache服務(wù)器開放源代碼的Apache(阿帕奇)服務(wù)器起初由Illinois大學(xué)Urbana-Champaign的國家高級計算程序中心開發(fā),后來Apache被開放源代碼團(tuán)體的成員不斷地發(fā)展和加強(qiáng)。漸漸地,它開始在功能和速度上超越其他Web服務(wù)器。由于Apache服務(wù)器擁有牢靠可信的美譽(yù),因此從1995年1月以來,Apache一直是Internet上最流行的Web服務(wù)器。Apache服務(wù)后臺進(jìn)程:httpd腳本:/etc/rc.d/init.d/httpd使用端口:80(http),443(https)所需RPM包:httpd配置路徑:/etc/httpd/conf/httpd.conf默認(rèn)網(wǎng)站存放路徑:/var/www/html/Apache服務(wù)器測試安裝好Apache服務(wù)器后可以進(jìn)行測試了。啟動Apache服務(wù)器:servicehttpdstartApache服務(wù)的基本配置

httpd.conf文件的格式Web服務(wù)的基本配置創(chuàng)建虛擬目錄設(shè)置目錄權(quán)限虛擬主機(jī)的配置Apache配置文件httpd.confhttpd.conf配置文件主要由全局環(huán)境、主服務(wù)器配置和虛擬主機(jī)3個部分組成。每部分都有相應(yīng)的配置語句,該文件所有配置語句的語法為“配置參數(shù)名稱

參數(shù)值”的形式。httpd.conf中每行包含一條語句,行末使用反斜杠“\”可以換行,但是反斜杠與下一行中間不能有任何其他字符(包括空白)。httpd.conf的配置語句除了選項(xiàng)的參數(shù)值以外,所有選項(xiàng)指令均不區(qū)分大小寫,可以在每一行前用“#”號表示注釋。

全局配置(1)ServerRoot用于指定指定守護(hù)進(jìn)程httpd的運(yùn)行目錄,httpd在啟動之后自動將進(jìn)程的當(dāng)前目錄改變?yōu)檫@個目錄,因此如果設(shè)置文件中指定的文件或目錄是相對路徑,那么真實(shí)路徑就位于這個路徑之下。Timeout用于定義客戶程序和服務(wù)器連接的超時間隔,超過這個時間間隔(以秒計)后,服務(wù)器將斷開與客戶機(jī)的連接。Listen設(shè)定http服務(wù)的默認(rèn)端口。User/Group設(shè)定服務(wù)器程序的執(zhí)行者與屬組全局配置(2)KeepAlive在HTTP1.0中,一次連接只能作傳輸一次HTML請求,而KeepAltve參數(shù)用于支持HTTP1.1版本的一次連接、多次傳輸功能,這樣就可以在一次連接中傳遞多個HTML請求。雖然只有較新的瀏覽器才支持這個功能,但最好還是使用“on”這個選項(xiàng)。MaxKeepAliveRequestsMaxKeepAliveRequests為一次連接可以進(jìn)行的HTML請求的最大請求次數(shù)。將其值設(shè)為0,將支持在一次連接內(nèi)進(jìn)行無限次的傳輸請求。事實(shí)上沒有客戶程序在一次連接中請求大多的頁面,通常達(dá)不到這個上限就完成連接了。KeepAliveTimeoutKeepAliveTimeout測試一次連接中的多次請求傳輸之間的時間,如果服務(wù)器已經(jīng)完成了一次請求,但一直沒有接收到客戶程序的下一次請求,當(dāng)時間間隔超過了這個參數(shù)設(shè)置的值之后,服務(wù)器就斷開連接。全局配置(3)MaxClients

服務(wù)器的能力畢竟是有限的,不可能同時處理無限多的連接請求,因此參數(shù)MaxClients就用于規(guī)定服務(wù)器支持的最多并發(fā)訪問的客戶數(shù),如果這個值設(shè)置得過大,系統(tǒng)在繁忙時不得不在過多的進(jìn)程之問進(jìn)行切換來為這些客戶進(jìn)行服務(wù),這樣對每個客戶的反應(yīng)就會減慢,并降低了整體的效率。如果這個值設(shè)置得較小,那么系統(tǒng)繁忙時就會拒絕一些客戶的連接請求。當(dāng)服務(wù)器性能較高時,可以適當(dāng)增加這個值的設(shè)置。MaxRequestsPerChild

使用于進(jìn)程方式的Web務(wù),常用的方式是一個子進(jìn)程為一次連接服務(wù),這樣造成的問題就是每次連接都需要生成、退出于進(jìn)程的系統(tǒng)操作,這些額外的處理過程占據(jù)了計算機(jī)的大量處理能力。因此最好的方式是一個子進(jìn)程可以為多次連接請求服務(wù),這樣就不會造成這些生成、退出進(jìn)程引起的系統(tǒng)消耗。Apache就采用了這樣的方式,一次連接結(jié)束后,子進(jìn)程并不退出,而是停留在系統(tǒng)中等待下一次服務(wù)請求,這樣就極大地提高了性能。主機(jī)配置ServerAdmin設(shè)定站點(diǎn)管理者的電子郵件ServerName設(shè)定服務(wù)器的名稱DocumentRoot設(shè)定服務(wù)器的共享路徑DirectoryIndex設(shè)定默認(rèn)調(diào)用文件順序ErrorLog設(shè)定錯誤記錄文件名稱創(chuàng)建虛擬目錄虛擬目錄有以下優(yōu)點(diǎn)。便于訪問。便于移動站點(diǎn)中的目錄。能靈活加大磁盤空間。安全性好。使用Alias選項(xiàng)可以創(chuàng)建虛擬目錄?!纠縿?chuàng)建名為/down的虛擬目錄,它對應(yīng)的物理路徑是“/software/download”。Alias/down"/software/download“注意:如果系統(tǒng)開啟了SELinux,則還需要去改變真實(shí)目錄的上下文。為指定的目錄設(shè)置目錄權(quán)限可以使用<Directory目錄路徑>和</Directory>這對語句為主目錄或虛擬目錄設(shè)置權(quán)限,它們是一對容器語句,必須成對出現(xiàn),它們之間封裝的是具體的設(shè)置目錄權(quán)限語句,這些語句僅對被設(shè)置目錄及其子目錄起作用。下面是主配置文件中設(shè)置目錄權(quán)限的例子。 <Directory"/var/www/bbs">

Options

Indexes

MultiViews Orderallow,deny Allowfrom0 </Directory>通過options參數(shù)指令訪問權(quán)限命令說明Indexes允許目錄瀏覽當(dāng)客戶僅指定要訪問的目錄,但沒有指定要訪問目錄下的哪個文件,而且目錄下不存在默認(rèn)文檔時,Apache以超文本形式返回目錄中的文件和子目錄列表(虛擬目錄不會出現(xiàn)在目錄列表中),如圖7-8所示MultiViews允許內(nèi)容協(xié)商的多重視圖MultiViews其實(shí)是Apache的一個智能特性。當(dāng)客戶訪問目錄中一個不存在的對象時,如訪問“77/icons/a”,則Apache會查找這個目錄下所有a.*文件。由于icons目錄下存在a.gif文件,因此Apache會將a.gif文件返回給客戶,而不是返回出錯信息AllAll包含了除MultiViews之外的所有特性如果沒有Options語句,默認(rèn)為AllExecCGI允許在該目錄下執(zhí)行CGI腳本FollowSymLinks可以在該目錄中使用符號連接Includes允許服務(wù)器端包含功能IncludesNoExec允許服務(wù)器端包含功能,但禁用執(zhí)行CGI腳本基于主機(jī)的目錄訪問權(quán)限當(dāng)要限制某一個主機(jī)是否能夠訪問目錄時,可加入以下的參數(shù)來設(shè)置:Orderallow,deny//默認(rèn)拒絕所有主機(jī)訪問Allowfrom00//單獨(dú)開放Orderdeny,allow//默認(rèn)充許所有主機(jī)訪問Denyfrom00//單獨(dú)禁止基于用戶的目錄訪問權(quán)限建立口令文件htpasswd-c/etc/httpd/pwfilelinden添加用戶htpasswd/etc/httpd/pwfilelonny修改用戶密碼htpasswd/etc/httpd/pwfilelonny建立虛擬目錄并配置用戶認(rèn)證Alias/mysecret"/usr/local/mysecret“<Directory"/usr/local/mysecret"> AuthTypeBasic AuthName"Thisisaprivatedirectory.PleaseLogin:" AuthUserFile/etc/httpd/mysecretpwd Requirevalid-userlindentom</Directory>虛擬Web主機(jī)配置利用虛擬主機(jī)技術(shù),可以把一臺真正的Web主機(jī)分割成許多“虛擬”的Web主機(jī),每個一個虛擬Web主機(jī)共享物理資源,從而實(shí)現(xiàn)多用戶對硬件資源、網(wǎng)絡(luò)資源共享,大幅度降低了用戶的建站成本。虛擬主機(jī)具有以下優(yōu)點(diǎn)。節(jié)約投資節(jié)約維護(hù)費(fèi)用可以獲得專業(yè)的維護(hù)而無需維護(hù)人員與昂貴的電源系統(tǒng)擁有更加穩(wěn)定的性能基于域名的虛擬Web主機(jī)當(dāng)Web服務(wù)器只有一個IP時,可通過基于域名的虛擬Web主機(jī)技術(shù)來共享多個站點(diǎn),當(dāng)服務(wù)器收到訪問請求時,就可以根據(jù)不同的DNS域名來訪問不同的網(wǎng)站。它的優(yōu)勢就是不需要更多的IP地址,容易配置。在配置文件中修改虛擬主機(jī)配置部分內(nèi)容: NameVirtualHost*:80

<VirtualHost*:80> DocumentRoot"/usr/www/html" ServerName </VirtualHost>

<VirtualHost*:80> DocumentRoot"/usr/www/bbs“ ServerName </VirtualHost>基于IP地址的虛擬Web主機(jī)基于IP的虛擬Web主機(jī)與基于域名的虛擬Web主機(jī)配置類似,但在這種虛擬Web主機(jī)中,每個站點(diǎn)對應(yīng)著不同的IP地址。其配置如下: #NameVirtualHost*:80//將此行注釋掉 <VirtualHost0:80> DocumentRoot"/usr/www/html“ ServerName </VirtualHost> <VirtualHost00:80> DocumentRoot"/usr/www/bbs" ServerName </VirtualHost>啟動和停止Web服務(wù)啟動Web服務(wù)servicehttpdstart停止Web服務(wù)servicehttpdstop重新啟動Web服務(wù)servicehttpdrestart測試Web配置文件servicehttpdconfigtestCGI運(yùn)行環(huán)境的配置Web瀏覽器、Web服務(wù)器和CGI程序之間的一個工作流程。用戶通過Web瀏覽器訪問CGI程序。Web服務(wù)器接收用戶請求并交給CGI程序處理。CGI程序執(zhí)行基于輸入數(shù)據(jù)的操作,包括查詢數(shù)據(jù)庫、計算數(shù)值或調(diào)用系統(tǒng)中其他程序。CGI程序產(chǎn)生某種Web服務(wù)器能理解的輸出結(jié)果。Web服務(wù)器接收來自CGI程序的輸出并且把它傳回Web瀏覽器。Perl語言解釋器的安裝默認(rèn)情況下,RedHatEnterpriseLinux安裝程序會將Perl語言解釋器安裝在系統(tǒng)上,如果沒有安裝請自行安裝。安裝rpm-ivhperl-xxxxxxx.rpm配置httpd.conf支持CGI設(shè)置存放CGI文件的目錄權(quán)限應(yīng)在主目錄權(quán)限設(shè)置的Options指令中添加一個“ExecCGI”選項(xiàng)。標(biāo)明CGI程序的文件類型找到“#AddHandlercgi-script.cgi”語句,刪除前面的“#”即可,該語句告訴Apache擴(kuò)展名為“.cgi”的文件是CGI程序。測試CGI運(yùn)行環(huán)境在CGI文件存放的目錄(如/var/www/html/)中建立一個名為test.cgi的文件,該文件的內(nèi)容如下。#!/usr/bin/perlprint"Content-type:text/html\n\n";print"HelloWorld!\n";執(zhí)行命令“chmod+x/var/www/html/test.cgi”,為test.cgi文件添加運(yùn)行權(quán)限。在客戶端的瀏覽器訪問“http://Linux服務(wù)器的IP地址/test.cgi”。PHP運(yùn)行環(huán)境的配置PHP的特點(diǎn)PHP解釋器的安裝設(shè)置php.conf文件測試PHP運(yùn)行環(huán)境PHP的特點(diǎn)<1>PHP具有下列特點(diǎn)。跨平臺:PHP程序可以運(yùn)行在UNIX、Linux或Windows操作系統(tǒng)下。嵌入HTML:因?yàn)镻HP語言可以嵌入到HTML內(nèi)部,所以PHP很容易學(xué)習(xí)。簡單的語言:與Java和C++不同,PHP語言堅持以基本語言為基礎(chǔ),然而它的功能強(qiáng)大到足以支持任何類型的Web站點(diǎn)。效率高:和其他的解釋性語言相比,PHP系統(tǒng)消耗較少的系統(tǒng)資源。當(dāng)PHP作為ApacheWeb服務(wù)器的一部分時,運(yùn)行代碼不需要調(diào)外部二進(jìn)制程序,服務(wù)器解釋腳本不需要承擔(dān)任何額外負(fù)擔(dān)。PHP的特點(diǎn)<2>支持各種數(shù)據(jù)庫:用戶可以使用PHP存取Oracle、Sybase、MS-SQL、MySQL、PostgreSQL、dBase、FilePro和Informix等類型的數(shù)據(jù)庫。文件存取:PHP有許多支持文件存取函數(shù)。文本處理:PHP有許多函數(shù)處理字符串,其中包括模式匹配的能力。復(fù)雜的變量:PHP支持標(biāo)量、數(shù)組、關(guān)聯(lián)數(shù)組等變量,這給用戶提供了支持其他的高級數(shù)據(jù)結(jié)構(gòu)的堅實(shí)基礎(chǔ)。支持圖像處理:用戶可以使用PHP動態(tài)創(chuàng)建圖像。

PHP解釋器的RPM安裝默認(rèn)情況下RedHatEnterpriseLinux安裝程序不會將PHP解釋器安裝在系統(tǒng)上,用戶可使用下面的命令檢查系統(tǒng)是否已經(jīng)安裝了PHP解釋器或查看已經(jīng)安裝了何種版本。rpm-qphp如果系統(tǒng)還沒有安裝PHP解釋器,加載光驅(qū)后在光盤的Package目錄下找到PHP解釋器的RPM安裝包文件php-xxxxxxx.rpm相關(guān)程序文件php-cli-xxxxx.rpmphp-common-5.1.6-5.el5.i386.rpm,使用下面的命令安裝PHP解釋器。rpm-ivhphp-common-xxxx.rpmrpm-ivh/mnt/Server/php-cli-xxxx.rpmrpm-ivh/mnt/Server/php-xxxx.rpmPHP解釋器的YUM安裝使用yum安裝php解釋器yuminstall“php*”設(shè)置Apache中的php.conf文件在Apache主配置文件httpd.conf中默認(rèn)有一條“Includeconf.d/*.conf”語句,它的含義是將目錄/etc/httpd/conf.d/中的所有*.conf文件包含到httpd.conf中。PHP解釋器的安裝程序會自動在目錄/etc/httpd/conf.d/中建立一個名為php.conf的配置文件,這個文件包含了PHP的配置選項(xiàng)。上面的配置內(nèi)容在軟件安裝好后就已經(jīng)配置好了,只需重啟Web服務(wù)器即可生效。測試,寫一個PHP的網(wǎng)頁到網(wǎng)站所在目錄。 echo“<?phpinfo()?>”>te

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論