Web服務器是在網絡中實現信息發佈、資料查詢、數據處理、視頻欣賞等多項應用而搭建的服務平臺,它使得成千上萬的用戶通過簡單的圖形界面就可以訪問各個大學、組織、公司等的最新信息和各種服務。
Web服務器是因特網上最主要的服務之一,即人們常說的www服務。Web服務的核心技術是超文本標記語言HTML和超文本傳輸協議HTTP。Web瀏覽器和服務器通過HTTP協議來建立鏈接、傳輸信息和終止鏈接。Web瀏覽器將請求發送到web服務器,服務器響應這種請求,將其所有請求的頁面或文檔傳送給web服務器,瀏覽器獲得web頁面並顯示出來。
其中目前世界上最流行的、也是最好用的web服務器還是Apache;其主要特點是簡單、速度快、性能穩定,並可做代理服務器來使用。它可以支持SSL技術,並支持多個虛擬主機。
首先要安裝Apache服務器,它所需要的軟件包有http-2.2.3-11.el5.i386(主軟件包) http-devel-2.2.3(Apache開發程序包)
由於Apache在安裝時就採用了一系列默認值,所以不對它進行配置也可以讓www服務器運行起來。只需要將主頁放到/var/www/html/目錄下即可;其中核心的配置文件是httpd.conf,它位於/etc/httpd/conf/httpd.conf目錄下,大部分設置都是通過修改該配置文件來完成的,該配置文件其中大部分都是註釋部分
整個配置文件可以分爲三個部分;全局環境配置(它所能處理的併發請求數或者在哪裏找其配置文件)、主服務配置(指令的設置及響應<VirtalHost>所處理的請求)、虛擬主機配置(在服務器上實現多個域名和主機名的服務)。
在修改主配置文件後,重新啓動一下服務就可以顯示出來 (使用命令service httpd restart);再將製作好的網頁及相關資料放在文檔目錄/var/www.html中;就可以打開瀏覽器來測試 。(注:主頁的文件名稱一定要是index.html)
可以通過查看日誌來查看服務能否正常啓動,命令 vim /etc/httd/logs/error_log 基本的http服務器就可以使用了。
但由於網站的飛速發展,使得傳統的一臺服務器對應一個網站的方式已經不能適應其需求了,從而出現了虛擬機技術。虛擬主機在在web服務器,可以爲多個單獨域名提供web服務,並且每個域名完全獨立,包括具有完全獨立的文檔目錄及設置。不但通過每個域名訪問的內容完全獨立,並且使用另一個域名無法訪問其他域名提供的網頁內容。
在Apache服務器上配置虛擬主機的三種方式、:基於端口、基於IP地址、基於域名的幾種。如下:
虛擬主機
基於IP 使用不同地址 端口相同
基於端口 使用相同地址 端口不同
基於域名 IP地址與端口號相同 主機名不同
要想啓用虛擬主機則啓用NameVirtualHost、CGI 協議,且得先取消中心主機,註釋中心主機的DocumentRoot
虛擬主機的創建應用:(本實驗爲創建新配置文件、新目錄,有個別設置需要在主配置文件/etc/httpd/conf/httpd.conf/中修改。還有在顯示頁面的主機上的host文件(在C:\WINDOWS\system32\drivers\etc下,有可能隱藏了文件)也要分別添加其主機名)
- [root@localhost conf.d]# vim virtual.conf 創建文件 (在指定目錄下)
- NameVirtualHost 172.16.34.2:80 添加主機ip
- <VirtualHost 172.16.34.1:80>
- ServerName hello.magedu.com 網站名
- DocumentRoot "/www/magedu.com" 網站路徑
- CustomLog /var/log/httpd/magedu.com/access_log combined 網站產生日誌
- </VirtualHost>
- <VirtualHost 172.16.34.2:80>
- ServerName www.a.org
- DocumentRoot "/www/a.org"
- CustomLog /var/log/httpd/a.org/access_log combined
- <Directory "/www/a.org"> 添加密碼
- Options none
- AllowOverride authconfig
- AuthType basic
- AuthName "Restrict area."
- AuthUserFile "/etc/httpd/.htpasswd"
- Require valid-user
- </Directory>
- </VirtualHost>
- <VirtualHost 172.16.34.2:80>
- ServerName www.d.gov
- DocumentRoot "/www/d.gov"
- CustomLog /var/log/httpd/d.gov/access_log combined
- <Directory "/www/d.gov"> 限制用戶登錄
- Options none
- AllowOverride none
- Order deny,allow
- Deny from 192.168.0.232()
- </Directory>
- </VirtualHost>
- <VirtualHost 172.16.34.1:8080>
- ServerName www.b.net
- DocumentRoot "/www/b.net"
- </VirtualHost>
[root@localhost conf.d]# mkdir /www/b.net 分別創建指定目錄 (在指定目錄下編輯演示網頁,網站名必須是index.html)
[root@localhost conf.d]# vim /www/b.net/index.html 編輯創建演示網頁
[root@localhost conf.d]# service httpd restart
Stopping httpd: [ OK ] 重新啓動服務
- [root@localhost conf.d]# tail /var/log/httpd/error_log 查看錯誤日誌
- [root@localhost conf.d]# tail /var/log/httpd/access_log 查看正確日誌信息
- [root@localhost conf.d]# ll -d /var/log/httpd 查看權限/
- drwx------ 2 root root 4096 Apr 5 15:26 /var/log/httpd/
- [root@localhost conf.d]# cd /var/log/httpd/
- [root@localhost httpd]# mkdir a.org magedu.com d.gov 創建日誌目錄
通過以上命令的使用就可以用來創建一個虛擬目錄了,其中實現了3種,還設定了限制用戶登錄方式、爲指定用戶添加登錄密碼、創建日誌系統。