第11章 Apache服務(wù)器及其配置_第1頁(yè)
第11章 Apache服務(wù)器及其配置_第2頁(yè)
第11章 Apache服務(wù)器及其配置_第3頁(yè)
第11章 Apache服務(wù)器及其配置_第4頁(yè)
第11章 Apache服務(wù)器及其配置_第5頁(yè)
已閱讀5頁(yè),還剩44頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

XX大學(xué)XX系XXXFriday,March1,2024第11章Apache服務(wù)器及其配置本章提要Apache服務(wù)器及其安裝和啟動(dòng)Apache服務(wù)器的配置用Apache實(shí)現(xiàn)各種服務(wù)Apache的安全機(jī)制CGI、PHP、JSP運(yùn)行環(huán)境的配置Web服務(wù)是當(dāng)今Internet和Intranet的一項(xiàng)最重的服務(wù)。由于Linux操作系統(tǒng)的高穩(wěn)定性,世界上大部分的網(wǎng)站都架設(shè)在Linux系統(tǒng)上,有名的如Yahoo、Hotmail和RedHat網(wǎng)站等。在Linux系統(tǒng)上架設(shè)Web服務(wù)器時(shí),使用最多和最廣泛的軟件是Apache,它是功能強(qiáng)大的Web服務(wù)器軟件。本章主要介紹Apache的安裝、配置和安全機(jī)制,還介紹了目前流行的開發(fā)工具PHP、JSP、CGI等的運(yùn)行環(huán)境的配置。Apache服務(wù)器簡(jiǎn)介Apache可以運(yùn)行在包括Linux、Soloris等多種系統(tǒng)平臺(tái)之上。根據(jù)著名的Web服務(wù)器調(diào)查公司Netcraft()的調(diào)查結(jié)果。如圖11-1所示,截至到2008年5月,世界上有49.73%的Web服務(wù)器都在使用Apache,是世界排名第一的WEB服務(wù)器,領(lǐng)先其它Microsoft、SUN和Google的Web服務(wù)器。圖11-1Netcraft對(duì)Web服務(wù)器的統(tǒng)計(jì)Apache2.2的特點(diǎn)Fedora8自帶的是最新的Apache2.2服務(wù)器。Apache的主要特征包括:可以運(yùn)行在幾乎所有計(jì)算機(jī)平臺(tái)上;支持最新的HTTP1.1協(xié)議;簡(jiǎn)單而強(qiáng)有力的基于文件的配置(httpd.conf);支持通用網(wǎng)關(guān)接口CGI;支持虛擬主機(jī);支持HTTP認(rèn)證;集成Perl腳本編程語言;集成的代理服務(wù)器;具有可定制的服務(wù)器日志,可以通過Web瀏覽器監(jiān)視服務(wù)器狀態(tài);支持服務(wù)器端包含命令(SSI)支持安全Socket層(SSL)用戶會(huì)話過程的跟蹤能力;支持FastCGI;支持JavaServlets。

Apache服務(wù)器的安裝與啟動(dòng)目前幾乎所有的Linux發(fā)行版都捆綁了Apache,F(xiàn)edora8也不例外,但默認(rèn)情況下Fedora8安裝程序不會(huì)把Apache安裝在系統(tǒng)上。由于目前Apache被重新命名為httpd,因此可以使用下面的命令檢查系統(tǒng)是否已經(jīng)安裝了Apache。

[root@Candy

root]#rpm–qhttpd

若沒有輸出,則表明Apache尚未安裝,下面分別介紹兩種類型的安裝方法。使用源代碼安裝獲取源代碼首先從網(wǎng)站http:///dist/httpd下載httpd-2.2.6.tar.gz解壓縮

[root@Candyroot]#tar-zvxfhttpd-2.2.6.tar.gz配置

[root@Candyroot]#./configure--prefix=/usr/local/apache表示Apache將安裝在/usr/local/apache目錄下。編譯與安裝

[root@Candyroot]#make[root@Candyroot]#makeinstall使用RPM包安裝在Fedora8安裝光盤DVD中自帶了Apache2.2.6的安裝文件:

httpd-2.2.6-3.i386.rpmhttpd-manual-2.2.6-3.i386.rpm把光盤放入光驅(qū),執(zhí)行如下命令:

[root@Candyroot]#rpm-ivhhttpd-2.2.6-3.i386.rpm[root@Candyroot]#rpm-ivhhttpd-manual-2.2.6-3.i386.rpm完成安裝后,配置文件在/etc/httpd/conf/目錄下(如果使用源代碼的方式安裝,該文件通常放在Apache安裝目錄的conf子目錄下),文件根目錄為/var/www/html,工具文件在/etc/rc.d/init.d/目錄下,日志文件在/var/log/httpd/目錄下。也可在XWindow環(huán)境下通過“添加/刪除程序”組件來安裝。啟動(dòng)Apache可以通過/etc/rc.d/init.d/httpd啟動(dòng)腳本啟動(dòng)Apache服務(wù)器。用root用戶登錄進(jìn)入系統(tǒng),執(zhí)行如下命令:[root@Candy

root]#service

httpdstart

以上命令可以啟動(dòng)Apache服務(wù)器,而且每次進(jìn)入系統(tǒng)時(shí)Apache服務(wù)器都會(huì)被自動(dòng)啟動(dòng)。也可以用如下命令啟動(dòng)Apache服務(wù)器:[root@Candyroot]#/etc/rc.d/init.d/httpdstart停止Apache如下命令可以停止Apache服務(wù)器:

[root@Candyroot]#/etc/rc.d/init.d/httpdstop或

[root@Candy

root]#service

httpdstop重新啟動(dòng)Apache如果需要重新啟動(dòng)Apache服務(wù)器,可以用如下命令:

[root@Candy

root]#service

httpdrestart如果僅僅編輯了配置文件httpd.conf,要想啟用新的配置而不想重新啟動(dòng)Apache服務(wù),可以用reload選項(xiàng)載入,如下所示:

[root@Candy

root]#service

httpdreload測(cè)試Apache服務(wù)器在客戶端使用的Web瀏覽器中輸入Linux服務(wù)器的IP地址進(jìn)行訪問,如果出現(xiàn)Apache的測(cè)試頁(yè)面,如圖11-3所示,則表示W(wǎng)eb服務(wù)器安裝正確并且運(yùn)行正常。圖11-3Apache的測(cè)試頁(yè)面配置Apache服務(wù)器先介紹圖形化界面配置方法,然后再介紹文本界面配置方法。一般管理員更多地是使用文本界面配置的方法。故對(duì)于圖形化界面配置方法這里只作基本配置。圖形化配置方法在Fedora8中,系統(tǒng)提供了一種圖形化的Apache服務(wù)器配置工具,可以避免復(fù)雜的文本配置過程,而且方便操作和管理。具體的配置過程如下。單擊“系統(tǒng)”|“管理”|“服務(wù)器設(shè)置”|“HTTP”或在命令行鍵入system-config-httpd

命令調(diào)出圖形配置工具,如圖11-4所示。圖11-4Apache圖形配置選項(xiàng)卡使用“主要設(shè)置”選項(xiàng)卡來進(jìn)行服務(wù)器的基本配置1.在“服務(wù)器名”文本窗口中輸入WWW服務(wù)器的名字,如果已經(jīng)申請(qǐng)了域名,也可以輸入域名,這里輸入IP地址“01”。2.在“網(wǎng)主電子郵件地址”文本框中輸入管理員的電子郵件地址。3.另外,還需要添加可用地址,即WWW服務(wù)器的可用IP地址。單擊“添加”按鈕打開“添加新地址…”對(duì)話框。如圖11-5所示。這里要添加一個(gè)可用的IP地址“03”,并為其指定端口號(hào)為80。單擊“確定”按鈕返回到Apache配置主窗口。設(shè)置服務(wù)器監(jiān)聽的地址和端口圖11-5設(shè)置服務(wù)器監(jiān)聽的地址和端口虛擬主機(jī)設(shè)置可以使用HTTP配置工具來配置虛擬主機(jī)。虛擬主機(jī)允許在一臺(tái)物理計(jì)算機(jī)上僅配置一個(gè)Web站點(diǎn),也允許在一臺(tái)物理機(jī)器上配置多臺(tái)“虛擬”主機(jī),每一臺(tái)虛擬主機(jī)都具有獨(dú)立的域名或IP地址,具有完整的Web服務(wù)器的功能。虛擬主機(jī)各用戶之間是完全獨(dú)立的,從外界看來,虛擬主機(jī)和獨(dú)立主機(jī)的表現(xiàn)是完全一樣的。目前許多企業(yè)建立網(wǎng)站都采用虛擬主機(jī)的方法。這樣有利于節(jié)約投資、節(jié)約維護(hù)費(fèi)用。虛擬主機(jī)設(shè)置(續(xù))單擊“虛擬主機(jī)”選項(xiàng)卡,Apache默認(rèn)有一臺(tái)虛擬主機(jī),如圖11-6所示。如果要添加虛擬主機(jī),在如圖11-6所示的對(duì)話框中選擇“添加…”按鈕。添加后每臺(tái)虛擬主機(jī)的配置都是獨(dú)立的。這里僅對(duì)默認(rèn)的虛擬主機(jī)進(jìn)行設(shè)置。圖11-6虛擬主機(jī)配置Apache的文本界面配置Apache2.2的主配置文件為httpd.conf。如果以上述源代碼安裝則配置文件保存在/usr/local/apache/conf/目錄下,若以RPM包方式安裝則配置文件保存在/etc/httpd/conf/目錄下。系統(tǒng)管理員更常用的是通過修改配置文件httpd.conf來配置Apache服務(wù)器。新版本的Apache將原來httpd.conf、srm.conf與access.conf中的所有配置參數(shù)均放在了一個(gè)配置文件httpd.conf中,僅僅是為了跟以前的版本兼容的原因才使用三個(gè)配置文件,而access.conf和srm.conf文件雖然存在,但它們只包含一條注釋,而沒有具體的設(shè)置。httpd.conf配置文件的格式對(duì)于httpd.conf配置文件的格式,若是以“#”開頭的行表示注釋文字,會(huì)被服務(wù)器所忽略,除了注釋行和空行外,配置文件中還有與shell命令類似的命令和偽HTML標(biāo)記。偽HTML標(biāo)記的例子如下:

<VirtualHost_default_:443>#Generalsetupforthevirtualhost

ServeName

…</VirtualHost>Httpd.conf文件中的全局參數(shù)1.ServerTypestandalone2.ServerRoot"/etc/httpd"(設(shè)置相對(duì)根目錄的路徑)3.LockFile/var/run/httpd.lock

4.PidFile/var/run/httpd.pid

5.ScoreBoardFile/var/run/httpd.scoreboard

6.ResourceConfigconf/srm.conf

和AccessConfigconf/access.conf

7.Timeout3008.KeepAliveOn9.MaxKeepAliveRequests10010.KeepAliveTimeout1511.MinSpareServers5和MaxSpareServers1012.StartServers513.MaxClients15014.MaxRequestsPerChild3015.ExtendedStatusOn

主服務(wù)器設(shè)置1.Listen80

2.Usernobody和Groupnogroup

3.ServerAdmin

you@your.address

4.ServerName

5.DocumentRoot“/var/www/html”(設(shè)置主目錄的路徑)6.UserDir

public_html

7.DirectoryIndex

index.html

(設(shè)置默認(rèn)文檔)8.AccessFileName.htaccess

9.Alias/icons/"/www/icons/"10.ScriptAlias/cgi-bin/"/www/cgi-bin/"11.#Redirectold-URInew-URL12.AddDefaultCharSetApache虛擬主機(jī)服務(wù)Apache的虛擬主機(jī)簡(jiǎn)介Apache的虛擬主機(jī)主要應(yīng)用于HTTP服務(wù),將一臺(tái)機(jī)器虛擬成多臺(tái)Web服務(wù)器。例如,一家公司想從事主機(jī)代管服務(wù),為其他企業(yè)提供Web服務(wù)。事實(shí)上它不可能為每一家企業(yè)都各配備一臺(tái)物理上的服務(wù)器,而是配備一臺(tái)功能較強(qiáng)大的大型服務(wù)器,然后用虛擬主機(jī)的形式,為多個(gè)企業(yè)提供Web服務(wù),雖然所有的Web服務(wù)都是這臺(tái)服務(wù)器提供的,但是讓訪問者看起來卻是與在不同的服務(wù)器上獲得Web服務(wù)一樣。例如,可以利用虛擬主機(jī)服務(wù)將兩個(gè)不同公司主頁(yè)

的內(nèi)容都存放在同一臺(tái)主機(jī)上,而訪問者只需輸入公司各自的域名就可以訪問到它想看到的主頁(yè)內(nèi)容。虛擬主機(jī)類型用Apache設(shè)置虛擬主機(jī)服務(wù)通??梢圆捎脙煞N方案:基于IP地址的虛擬主機(jī)和基于名字的虛擬主機(jī)。若每個(gè)網(wǎng)站擁有不同的IP地址,則虛擬主機(jī)被稱為“基于IP的虛擬主機(jī)”。若主機(jī)只有一個(gè)IP地址,可以使用不同的域名來訪問不同的網(wǎng)站,則稱其為“基于域名的虛擬主機(jī)”。Apache虛擬主機(jī)配置命令無論配置基于IP的虛擬主機(jī)還是配置基于域名的虛擬主機(jī),都需要在<VirtualHost>容器中使用相關(guān)的指令。大部分的Apache指令都可以放入<VirtualHost>容器中,以改變相應(yīng)虛擬主機(jī)的配置。每個(gè)虛擬主機(jī)都會(huì)從主服務(wù)器配置繼承相關(guān)的配置。主服務(wù)器(MainServer)范圍內(nèi)的配置指令(在所有<VirtualHost>容器之外的指令)僅在它們沒有被虛擬主機(jī)的配置覆蓋時(shí)才起作用。也就是說,<VirtualHost>容器的指令會(huì)覆蓋主服務(wù)器范圍內(nèi)的配置指令。Apache虛擬主機(jī)配置命令(續(xù))虛擬主機(jī)的核心配置指令是DocumentRoot,使用該指令可指定一個(gè)虛擬主機(jī)區(qū)別于主服務(wù)器和其他虛擬主機(jī)的根文檔目錄。通常還要使用如下的兩條指令:①ServerAdmin:用于指定本虛擬主機(jī)的管理員E-mail地址。②ServerName:用于指定本虛擬主機(jī)的名稱和端口號(hào)。若需要將虛擬主機(jī)的日志從主服務(wù)器的日志中分離出來,應(yīng)該使用如下指令:ErrorLog:用于指定本虛擬主機(jī)的錯(cuò)誤日志存放路徑。CustomLog:用于指定本虛擬主機(jī)的訪問日志存放路徑。配置基于IP的虛擬主機(jī)下面介紹在00和00上創(chuàng)建兩個(gè)基于IP地址的虛擬主機(jī)的配置過程。1.創(chuàng)建文檔目錄和測(cè)試主頁(yè)

[root@Candy

root]#mkdir-p/usr/www/web1[root@Candy

root]#mkdir-p/usr/www/web2[root@Candyroot]#touch/usr/www/web1/index.html[root@Candy

root]#touch/usr/www/web2/default.html用來測(cè)試index.html

文件的內(nèi)容可以分別為“Thisis00”與“Thisis00”。配置基于IP的虛擬主機(jī)(續(xù))2.配置虛擬網(wǎng)絡(luò)接口(1)使用如下命令。

[root@Candy

root]#vi/etc/network/interfaces(2)添加如下的配置。autoeth0:1ifaceeth0:1inetstaticaddress00netmask

network00broadcast192.168.1.255autoeth0:2ifaceeth0:2inetstaticaddress00netmask

network00broadcast192.168.1.255

配置基于IP的虛擬主機(jī)(續(xù))(3)使用如下命令重新啟動(dòng)網(wǎng)絡(luò)服務(wù)。[root@Candyroot]#/etc/init.d/networkrestart或使用[root@Candy

root]#servicenetworkrestart3.配置Apache

在/etc/httpd/conf/httpd.conf文件中添加如下配置:<VirtualHost00>ServerName00:80ServerAdminweb1@DocumentRoot"/usr/www/web1"DirectoryIndex

index.htmlErrorLoglogs/web1/error_logCustomLoglogs/web1/access_logcombined</VirtualHost><VirtualHost00>ServerName00:80ServerAdminweb2@DocumentRoot"/usr/www/web2"DirectoryIndex

default.htmlErrorLoglogs/web2/error_logCustomLoglogs/web2/access_logcombined</VirtualHost>配置基于IP的虛擬主機(jī)(續(xù))

4.啟用虛擬主機(jī)并重新啟動(dòng)Apache。[root@Candy

root]#service

httpdrestart基于IP的虛擬主機(jī)可以使用IP地址和域名訪問,因此直接在瀏覽器輸入對(duì)應(yīng)IP地址即可。也可以通過BIND配置00和00的A記錄,以便可以使用域名訪問。配置基于域名的虛擬主機(jī)下面介紹在IP地址為00的主機(jī)中創(chuàng)建兩個(gè)基于域名的虛擬主機(jī)(

和)的配置過程。1.創(chuàng)建文檔目錄和測(cè)試主頁(yè)[root@Candyroot]#mkdir-p/usr/www/web1[root@Candy

root]#mkdir-p/usr/www/web2[root@Candy

root]#touch/usr/www/web1/index.html[root@Candy

root]#touch/usr/www/web2/default.html

2.配置虛擬網(wǎng)絡(luò)接口為主機(jī)添加一個(gè)虛擬網(wǎng)絡(luò)接口,IP地址為00。配置基于域名的虛擬主機(jī)(續(xù))3.配置Apache

在/etc/httpd/conf/httpd.conf文件中添加如下配置:NameVirtualHost00<VirtualHost

>ServerName:80ServerAdminweb1@DocumentRoot"/usr/www/web1"DirectoryIndex

index.htmlErrorLoglogs/web1/error_logCustomLoglogs/web1/access_logcombined</VirtualHost><VirtualHost

>ServerName:80ServerAdminweb2@DocumentRoot"/usr/www/web2"DirectoryIndex

default.htmlErrorLoglogs/web2/error_logCustomLoglogs/web2/access_logcombined</VirtualHost>PHP運(yùn)行環(huán)境的配置PHP是超級(jí)文本預(yù)處理語言PHPHypertextPreprocessor的嵌套縮寫。PHP是一種內(nèi)嵌HTML的語言。PHP與ASP類似,都是一種在服務(wù)器端執(zhí)行的“嵌入HTML文檔的腳本語言”,語言風(fēng)格類似于C語言,現(xiàn)在被很多的網(wǎng)站編程人員廣泛應(yīng)用。PHP獨(dú)特的語法混合了C、Java、Perl以及PHP自創(chuàng)的語法。它可以比CGI或Perl更快地執(zhí)行動(dòng)態(tài)網(wǎng)頁(yè)。利用PHP作出的動(dòng)態(tài)網(wǎng)頁(yè)與其它的編程語言相比,PHP將程序嵌入到HTML文檔中去執(zhí)行,執(zhí)行的效率比完全生成HTML標(biāo)記的CGI要高許多;與同樣是嵌入HTML的腳本語言JavaScript相比,PHP在服務(wù)器端執(zhí)行,充分利用了服務(wù)器的性能;PHP執(zhí)行引擎還會(huì)將用戶經(jīng)常訪問的PHP程序駐留在內(nèi)存中,其它用戶在訪問這些程序時(shí)就不需要重新編譯程序了,只要直接執(zhí)行內(nèi)存中的代碼就可以了,這也是PHP高效率的體現(xiàn)之一。PHP具有非常強(qiáng)大的功能,所有的CGI或者JavaScript的功能PHP都能實(shí)現(xiàn),而且支持幾乎所有流行的數(shù)據(jù)庫(kù)和操作系統(tǒng)。PHP的特點(diǎn)快速:PHP是一種強(qiáng)大的CGI腳本語言,語法混合了C、Java、Perl和PHP式的新語法,執(zhí)行網(wǎng)頁(yè)比CGI、Perl和ASP更快,這是它的第一個(gè)突出的特點(diǎn)。具有很好的開放性和可擴(kuò)展性:PHP屬于自由軟件,其源代碼完全公開,任何程序員為PHP擴(kuò)展附加功能非常容易。數(shù)據(jù)庫(kù)支持:PHP支持多種主流與非主流的數(shù)據(jù)庫(kù),如:Oracle、Sybase、DBA、MySQL、MicrosoftSQLServer、Oracle、dBase、Informix、PostgreSQL等。其中,PHP與MySQL是現(xiàn)在絕佳的組合,它們的組合可以跨平臺(tái)運(yùn)行。面向?qū)ο缶幊蹋篜HP提供了類和對(duì)象。為了實(shí)現(xiàn)面向?qū)ο缶幊?,PHP4及更高版本提供了新的功能和特性,包括對(duì)象重載、引用技術(shù)等。版本更新速度快:與數(shù)年才更新一次的ASP相比,PHP的更新速度就要快得多,因?yàn)镻HP每幾周就更新一次。具有豐富的功能:從對(duì)象式的設(shè)計(jì)、結(jié)構(gòu)化的特性、數(shù)據(jù)庫(kù)的處理、網(wǎng)絡(luò)接口應(yīng)用、安全編碼機(jī)制等,PHP幾乎涵蓋了所有網(wǎng)站的一切功能??缮炜s性:傳統(tǒng)上網(wǎng)頁(yè)的交互作用是通過CGI來實(shí)現(xiàn)的。CGI程序的伸縮性不很理想,因?yàn)樗鼮槊恳粋€(gè)正在運(yùn)行的CGI程序開一個(gè)獨(dú)立進(jìn)程。解決方法就是將經(jīng)常用來編寫CGI程序的語言的解釋器編譯進(jìn)你的web服務(wù)器(比如mod_perl,JSP)。PHP就可以以這種方式安裝,雖然很少有人愿意這樣以CGI方式安裝它。內(nèi)嵌的PHP可以具有更高的可伸縮性。PHP解釋器的安裝在Fedora8安裝時(shí),可以選擇安裝Apache服務(wù)器及PHP解釋器,默認(rèn)情況下Fedora8不會(huì)將PHP解釋器安裝在系統(tǒng)上。如果不確定系統(tǒng)是否安裝了PHP服務(wù)器,可以使用以下方法判斷:[root@Candy

root]#rpm–qaPHP

如果在Fedora8安裝時(shí)沒有選擇安裝PHP解釋器,那么需要先找出Fedora8安裝光盤DVD中保存在/Packages目錄下PHP解釋器的RPM安裝包文件php-5.2.4-3.i386.rpm,以及相關(guān)程序文件php-cli-5.2.4-3.i386.rpm和php-common-5.2.4-3.i386.rpm,完成PHP解釋器的安裝任務(wù):[root@Candy

root]#rpm–ivhphp-5.2.4-3.i386.rpm[root@Candy

root]#rpm–ivhphp-cli-5.2.4-3.i386.rpm[root@Candy

root]#rpm–ivhphp-common-5.2.4-3.i386.rpm設(shè)置php.conf文件在Apache主配置文件httpd.conf中默認(rèn)有一條“Includeconf.d/*.conf”語句,它的含義是將目錄/etc/httpd/conf.d/中的所有*.conf文件包含到httpd.conf中。PHP解釋器的安裝程序會(huì)自動(dòng)在目錄/etc/httpd/conf.d/中建立一個(gè)名為php.conf的配置文件,這個(gè)文件包含了PHP的配置選項(xiàng)。由于歷史原因,許多原來基于PHP3的程序文件擴(kuò)展名為.php3。為了能讓這些PHP3的程序文件運(yùn)行,應(yīng)該在php.conf文件中為.php3擴(kuò)展名的文件建立映射。編輯/etc/httpd/conf.d/php.conf,找到語句“AddHanderphp5-script.php”,將其改為“AddHanderphp5-script.php.php3”。測(cè)試安裝要驗(yàn)證PHP是否成功安裝,最好的辦法就是嘗試執(zhí)行一個(gè)PHP腳本。打開文本編輯器,增加以下內(nèi)容。然后將這個(gè)文件保存到Apache的主目錄/var/www/html中,命名為index.php:

<?php

phpinfo();?>在客戶端打開瀏覽器,輸入http://Linux服務(wù)器的IP地址/index.php訪問這個(gè)文件:

01/test.php測(cè)試安裝(續(xù))如果一切正常,應(yīng)當(dāng)能看到與圖11-8類似的結(jié)果(phpinfo()函數(shù)會(huì)提供與PHP安裝有關(guān)的一組有用的信息)。圖11-8測(cè)試PHP運(yùn)行環(huán)境JSP運(yùn)行環(huán)境的配置JSP(JavaServerPages)是由SUNMicrosystems公司倡導(dǎo)、許多公司一起參與建立的一種基于Java技術(shù)的動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn)。在傳統(tǒng)的網(wǎng)頁(yè)HTML文件(*.htm、*.html)中嵌入了Java代碼的一種腳本,由腳本完成數(shù)據(jù)庫(kù)查詢、重新定向網(wǎng)頁(yè)和發(fā)送電子郵件等動(dòng)態(tài)操作。所有程序操作都在服務(wù)器端執(zhí)行,網(wǎng)絡(luò)上傳送給客戶端的僅僅是得到的HTML結(jié)果。在這點(diǎn)上,JSP與ASP和PHP等腳本語言一樣。但JSP與其它腳本不同的是,ASP和PHP等傳統(tǒng)腳本語言由服務(wù)器直接解釋這個(gè)腳本,而JSP則由JSP容器(如Tomcat)首先將其轉(zhuǎn)化為Servlet,然后再調(diào)用javac編譯器將Servlet編譯為二進(jìn)制的Class文件,服務(wù)器最終運(yùn)行的是Class文件,所以運(yùn)行效率要比傳統(tǒng)解釋性的腳本語言要高。Apache只是一個(gè)Web服務(wù)器,不能運(yùn)行JSP程序,如果要運(yùn)行JSP程序,還需要安裝Tomcat服務(wù)器軟件,通過整合Tomcat與Apache來運(yùn)行JSP程序。Tomcat是由Apache-Jakarta子項(xiàng)目支持的開放源代碼服務(wù)器軟件,它得到SUN公司的大力支持,而且Tomcat的運(yùn)行效率非常高,所以它得到了廣泛的應(yīng)用。Tomcat的安裝默認(rèn)情況下Fedora8安裝程序不會(huì)將Tomcat服務(wù)安裝在系統(tǒng)上,可以使用下面命令檢查系統(tǒng)是否安裝了Tomcat服務(wù)或查看已經(jīng)安裝了何種版本。[root@Candy

root]#rpm–qtomcat5如果系統(tǒng)沒有安裝Tomcat服務(wù),則需要用戶手工安裝。Tomcat服務(wù)的關(guān)聯(lián)程序非常多,如果逐個(gè)安裝會(huì)耗費(fèi)大量的時(shí)間,以此建議使用yum工具經(jīng)行安裝。yum(YellowdogUpdater,Modified)是一個(gè)針對(duì)RPM包的自動(dòng)升級(jí)和軟件包管理工具。yum會(huì)自動(dòng)計(jì)算出程序之間的關(guān)聯(lián)性,并且計(jì)算出完成軟件包的安裝需要哪些步驟。默認(rèn)情況下,yum需要從RedHat公司的服務(wù)器上下載程序并安裝。如果用戶的電腦直接連接到了Internet,使用這種方式安裝顯得非常方便。安裝命令

[root@Candyroot]#yuminstalltomcat5tomcat5-webappstomcat5-admin-webapps該命令用于安裝Tomcat服務(wù)及關(guān)聯(lián)程序,如圖11-9所示:圖11-9yuminstall命令的運(yùn)行結(jié)果啟動(dòng)Tomcat服務(wù)啟動(dòng)Tomcat服務(wù)的命令如下:[root@Candyroot]#/etc/rc.d/init.d/tomcat5start停止Tomcat服務(wù)的命令如下:[root@Candyroot]#/etc/rc.d/init.d/tomcat5stop若要重新啟動(dòng)Tomcat服務(wù),使用如下命令:[root@Candyroot]#/etc/rc.d/init.d/tomcat5restartntsysv命令如果要讓Tomcat服務(wù)隨系統(tǒng)啟動(dòng)而自動(dòng)加載,可以執(zhí)行ntsysv命令啟動(dòng)服務(wù)配置程序,找到“Tomcat5”服務(wù),選中后選擇“確定”即可。如圖11-11所示。圖11-11自動(dòng)啟動(dòng)Tomcat5服務(wù)測(cè)試Tomcat服務(wù)啟動(dòng)Tomcat服務(wù)后,打開客戶端的瀏覽器訪問http://服務(wù)器的IP地址:8080,如果出現(xiàn)如圖11-12所示的Tomcat缺省頁(yè)面,則表示Tomcat已正常工作。圖11-12Tomcat的缺省頁(yè)面Apache和Tomcat的整合單獨(dú)運(yùn)行Tomcat具有如下優(yōu)點(diǎn):1)容易架設(shè)。下載Tomcat后經(jīng)行簡(jiǎn)單配置后就完成了。不需要花費(fèi)時(shí)間將Web服務(wù)器的連接器整合至其它的Web服務(wù)器中。2)不需要擔(dān)心連接器。永遠(yuǎn)不需要排除在其它Web服務(wù)器與Tomcat之間的任何性能或聯(lián)機(jī)方面的問題。3)有較佳的安全防護(hù)。相對(duì)于其它以C、C++所編寫的Web服務(wù)器,Tomcat比較能忍受遠(yuǎn)程緩沖區(qū)溢位的攻擊。因?yàn)門omcat的Java虛擬機(jī)是位于網(wǎng)絡(luò)及操作系統(tǒng)之間,它可以防止幾乎所有類型的緩沖區(qū)溢位攻擊。使用Tomcat的安全防護(hù)領(lǐng)域,可以指定對(duì)各個(gè)資源的訪問。4)容易移植??梢詫omcat服務(wù)器(以及應(yīng)用程序)移植到不同的服務(wù)器、操作系統(tǒng)甚至架構(gòu)上。因?yàn)門omcat是以Java編寫的,因此可以將其整個(gè)目錄結(jié)構(gòu)的內(nèi)容復(fù)制到其它計(jì)算機(jī)上運(yùn)行,而完全不需要任何改變,甚至于新的計(jì)算機(jī)的架構(gòu)與原來的不同也一樣。單獨(dú)運(yùn)行Tomcat的缺點(diǎn)1)Tomcat的支持軟件比較少。Tomcat內(nèi)建Web服務(wù)器的支持軟件比ApacheWeb服務(wù)器少。2)Tomcat的Web服務(wù)器功能少。相對(duì)于TomcatWeb服務(wù)器,ApacheWeb服務(wù)器有更完整的功能。3)雖然Tomcat運(yùn)行速度快,但沒有Apache快。特別是在提供靜態(tài)頁(yè)面內(nèi)容上沒有Apache快。因此在實(shí)際應(yīng)用中很多企業(yè)是通過mod_jk連接器(Connectors)將Apache和Tomcat整合在一起提供服務(wù),Apache處理靜態(tài)頁(yè)面的請(qǐng)求,Tomcat則用于處理Servlet和JSP程序。Apache和Tomcat的整合配置過程一.下載mod_jk二.安裝和配置mod_jk1.將mod_jk-1.2.26-httpd-2.2.6.so拷貝到/etc/httpd/modules命令下,并將它重命名為mod_jk.so;2.在/usr/share/tomcat5/conf目錄中新建子目錄jk,并新建文件perties;3.修改/usr/share/tomcat5/conf/server.xml文件;4.重新啟動(dòng)Tomcat服務(wù),這時(shí)將自動(dòng)生成目錄;/usr/share/tomcat5/conf/auto和文件/usr/share/tomcat5/conf/auto/mod_jk.conf。將文件/usr/share/tomcat5/conf/auto/mod_jk.conf

溫馨提示

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

評(píng)論

0/150

提交評(píng)論