10.1 網(wǎng)站服務(wù)程序

2023-05-12 10:14 更新

1970年,作為互聯(lián)網(wǎng)前身的ARPANET(阿帕網(wǎng))已初具雛形,并開(kāi)始向非軍用部門(mén)開(kāi)放,許多大學(xué)和商業(yè)部門(mén)開(kāi)始接入。雖然彼時(shí)阿帕網(wǎng)的規(guī)模(只有4臺(tái)主機(jī)聯(lián)網(wǎng)運(yùn)行)還不如現(xiàn)在的局域網(wǎng)成熟,但是它依然為網(wǎng)絡(luò)技術(shù)的進(jìn)步打下了扎實(shí)的基礎(chǔ)。

想必我們大多數(shù)人都是通過(guò)訪(fǎng)問(wèn)網(wǎng)站而開(kāi)始接觸互聯(lián)網(wǎng)的吧。我們平時(shí)訪(fǎng)問(wèn)的網(wǎng)站服務(wù)就是Web網(wǎng)絡(luò)服務(wù),一般是指允許用戶(hù)通過(guò)瀏覽器訪(fǎng)問(wèn)到互聯(lián)網(wǎng)中各種資源的服務(wù)。如圖10-1所示,Web網(wǎng)絡(luò)服務(wù)是一種被動(dòng)訪(fǎng)問(wèn)的服務(wù)程序,即只有接收到互聯(lián)網(wǎng)中其他主機(jī)發(fā)出的請(qǐng)求后才會(huì)響應(yīng),最終用于提供服務(wù)程序的Web服務(wù)器會(huì)通過(guò)HTTP(超文本傳輸協(xié)議)或HTTPS(安全超文本傳輸協(xié)議)把請(qǐng)求的內(nèi)容傳送給用戶(hù)。

目前能夠提供Web網(wǎng)絡(luò)服務(wù)的程序有IIS、Nginx和Apache等。其中,IIS(Internet Information Services,互聯(lián)網(wǎng)信息服務(wù))是Windows系統(tǒng)中默認(rèn)的Web服務(wù)程序,這是一款圖形化的網(wǎng)站管理工具,不僅可以提供Web網(wǎng)站服務(wù),還可以提供FTP、NMTP、SMTP等服務(wù)。但是,IIS只能在Windows系統(tǒng)中使用,而我們這本書(shū)的名字是《Linux就該這么學(xué)》,所以它也就不在我們的學(xué)習(xí)范圍之內(nèi)了。

圖10-1 主機(jī)與Web服務(wù)器之間的通信

2004年10月4日,為俄羅斯知名門(mén)戶(hù)站點(diǎn)而開(kāi)發(fā)的Web服務(wù)程序Nginx橫空出世。Nginx程序作為一款輕量級(jí)的網(wǎng)站服務(wù)軟件,因其穩(wěn)定性和豐富的功能而快速占領(lǐng)服務(wù)器市場(chǎng),但Nginx最被認(rèn)可的還當(dāng)是系統(tǒng)資源消耗低且并發(fā)能力強(qiáng),因此得到了國(guó)內(nèi)諸如新浪、網(wǎng)易、騰訊等門(mén)戶(hù)站的青睞。本書(shū)將在第20章講解Nginx服務(wù)程序。

Apache程序是目前擁有很高市場(chǎng)占有率的Web服務(wù)程序之一,其跨平臺(tái)和安全性廣泛被認(rèn)可且擁有快速、可靠、簡(jiǎn)單的API擴(kuò)展。圖10-2所示為Apache服務(wù)基金會(huì)的著名Logo,它的名字取自美國(guó)印第安人的土著語(yǔ),寓意著擁有高超的作戰(zhàn)策略和無(wú)窮的耐性。Apache服務(wù)程序可以運(yùn)行在Linux系統(tǒng)、UNIX系統(tǒng)甚至是Windows系統(tǒng)中,支持基于IP、域名及端口號(hào)的虛擬主機(jī)功能,支持多種認(rèn)證方式,集成有代理服務(wù)器模塊、安全Socket層(SSL),能夠?qū)崟r(shí)監(jiān)視服務(wù)狀態(tài)與定制日志消息,并有著各類(lèi)豐富的模塊支持。

Apache程序是在RHEL 5、6、7系統(tǒng)的默認(rèn)Web服務(wù)程序,其相關(guān)知識(shí)點(diǎn)一直也是RHCSA和RHCE認(rèn)證考試的重點(diǎn)內(nèi)容。

圖10-2 Apache軟件基金會(huì)著名的Logo

總結(jié)來(lái)說(shuō),Nginx服務(wù)程序作為后起之秀,已經(jīng)通過(guò)自身的優(yōu)勢(shì)與努力贏得了大批站長(zhǎng)的信賴(lài)。本書(shū)配套的在線(xiàn)學(xué)習(xí)站點(diǎn)https://www.linuxprobe.com就是基于Nginx服務(wù)程序部署的,不得不說(shuō)Nginx也真的很棒!

但是,Apache程序作為老牌的Web服務(wù)程序,一方面在Web服務(wù)器軟件市場(chǎng)具有相當(dāng)高的占有率,另一方面Apache也是RHEL 7系統(tǒng)中默認(rèn)的Web服務(wù)程序,而且還是RHCSA和RHCE認(rèn)證考試的必考內(nèi)容,因此無(wú)論從實(shí)際應(yīng)用角度還是從應(yīng)對(duì)紅帽認(rèn)證考試的角度,我們都有必要好好學(xué)習(xí)Apache服務(wù)程序的部署,并深入挖掘其可用的豐富功能。

第1步:把光盤(pán)設(shè)備中的系統(tǒng)鏡像掛載到/media/cdrom目錄。

    [root@linuxprobe ~]# mkdir -p /media/cdrom
    [root@linuxprobe ~]# mount /dev/cdrom /media/cdrom
    mount: /dev/sr0 is write-protected, mounting read-only

第2步:使用Vim文本編輯器創(chuàng)建Yum倉(cāng)庫(kù)的配置文件,下述命令中具體參數(shù)的含義可參考4.1.4小節(jié)。

    [root@linuxprobe ~]# vim /etc/yum.repos.d/rhel7.repo
    [rhel7]
    name=rhel7
    baseurl=file:///media/cdrom
    enabled=1
    gpgcheck=0

第3步:動(dòng)手安裝Apache服務(wù)程序。注意,使用yum命令進(jìn)行安裝時(shí),跟在命令后面的Apache服務(wù)的軟件包名稱(chēng)為httpd。如果直接執(zhí)行yum install apache命令,則系統(tǒng)會(huì)報(bào)錯(cuò)。

    [root@linuxprobe ~]# yum install httpd
    Loaded plugins: langpacks, product-id, subscription-manager
    ………………省略部分輸出信息………………
    Dependencies Resolved
    ================================================================================
     Package Arch Version Repository Size
    ================================================================================
    Installing:
     httpd x86_64 2.4.6-17.el7 rhel 1.2 M
    Installing for dependencies:
     apr x86_64 1.4.8-3.el7 rhel 103 k
     apr-util x86_64 1.5.2-6.el7 rhel 92 k
     httpd-tools x86_64 2.4.6-17.el7 rhel 77 k
     mailcap noarch 2.1.41-2.el7 rhel 31 k
    Transaction Summary
    ================================================================================
    Install 1 Package (+4 Dependent packages)
    Total download size: 1.5 M
    Installed size: 4.3 M
    Is this ok [y/d/N]: y
    Downloading packages:
    --------------------------------------------------------------------------------
    ………………省略部分輸出信息………………
    Complete!

第4步:?jiǎn)⒂胔ttpd服務(wù)程序并將其加入到開(kāi)機(jī)啟動(dòng)項(xiàng)中,使其能夠隨系統(tǒng)開(kāi)機(jī)而運(yùn)行,從而持續(xù)為用戶(hù)提供Web服務(wù):

    [root@linuxprobe ~]# systemctl start httpd
    [root@linuxprobe ~]# systemctl enable httpd
    ln -s '/usr/lib/systemd/system/httpd.service' '/etc/systemd/system/multi-user.target.wants/httpd.service'

大家在瀏覽器(這里以Firefox瀏覽器為例)的地址欄中輸入http://127.0.0.1并按回車(chē)鍵,就可以看到用于提供Web服務(wù)的httpd服務(wù)程序的默認(rèn)頁(yè)面了,如圖10-3所示。

圖10-3 httpd服務(wù)程序的默認(rèn)頁(yè)面

以上內(nèi)容是否對(duì)您有幫助:
在線(xiàn)筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)