一、Apache服務器
目前,Web服務器能夠提供極其豐富的內容服務,Apache幾乎是主流Linux系統選用的唯一Web服務器軟
件。
二、安裝及配置Apache服務器
2.1安裝httpd服務器
2.2啓動httpd服務並且測試
2.2.1啓動apache服務器
2.2.2查看httpd服務器進程
2.2.4查看httpd端口狀態
2.2.5查看運行狀態
2.2.6使用瀏覽器進行檢測
2.2.7設置隨系統啓動
2.2.8修改配置文件
2.3.1Apache服務器的目錄與文件分佈
/etc/httpd/* 配置文件所在的目錄,其中conf子目錄含有主配置文件,conf.d子目錄含有各種模塊的配
置文件 。
/var/www/html 文檔根目錄
/usr/lib/httpd/modules/* 其中含有可動態加載的模塊文件
/var/log/httpd/* 其中含有access_log訪問日誌文件和error_log錯誤日誌文件
/etc/rc.d/init.d/httpd Shell啓動文件
/var/run/httpd.pid httpd進程ID文件
/etc/httpd/conf/httpd.conf:默認的主配置文件,其中包含全局配置文件,可用於定製全局變量,如超時值(Timeout)與各種限制(MaxClients)控制Apache服務器的整體運行行爲。
/etc/httpd/conf.d:在這個目錄中,用戶可以創建任何附加的配置文件。
2.3.2配置指定
1.Servername配置指令
Servername配置指令用於設置Apache服務器的主機名(和端口號),如果服務器的監聽針對www.abc.com
端口號80的訪問請求,
#ServerName www.abc.com:80
2.ServerRoot配置指令
ServerRoot配置指定用於設置Apache服務器樹形結構的根目錄,其中包含conf、logs、和modules等子目
錄。服務器的配置文件和日誌文件分別存儲在相應的子目錄下面。
3.Listen配置文件
Listen配置指令的設置使Apache能夠僅僅監聽指定的IP地址或端口。
例如,如果一個服務器軟件已經佔用了端口80,可以指定其他端口
Listen 8080
例如:如果想監聽多個IP地址與端口,可以使用多個Listen配置指令。爲了讓服務器僅接受針對端口80
8080訪問請求。
Listen 80
Listen 8080
例如:爲了讓服務器可以接受多個IP地址與端口的訪問請求,可以增加配置指令
Listen 192.170.2.1:80
Listen 192.170.2.5:8080
例如:Apache採用HTTPS協議處理針對端口443的訪問請求,採用標準的HTTPS協議處理針對其他所有
端口的訪問請求。如果其他端口(8000)也要採用加密方式的HTTP協議處理,配置指令如下
Listen 192.170.2.1:8080 https
2.3.3User/Group配置指令
User與Group配置指令用於指定用戶和用戶組的名字,表示以哪一個用戶或用戶組的身份運行http守護進
程。
user apache
group apache
2.3.4DocumentRoot配置指令
DocumentRoot配置用於設置Apache提供的HTML文檔根目錄,用來訪問這個文檔。
例如Apache服務器的域名是www.abc.com ,DocumentRoot設置/var/www/html目錄。
DocumentRoot "/var/www/html"
2.3.5 Directory配置指令
<Directory></Directory>用於指定Apache服務器能夠訪問的每個目錄及其子目錄(也即是瀏覽器訪問的目錄)。
<Directory "/var/www/html">
Options Indexes FollowSymLinks #詳見Options配置指令
AllowOverride None #忽略.htaccess文件
Oreder allow, deny
Allow from all #設置誰能夠訪問當前的Apache服務器
</Directory>
2.3.6DirectoryIndex
DirectoryIndex配置指令用於設置Apache服務器網站主頁(index.html)
#DirectoryIndex index.html index.htm index.php
2.3.7NameVirtualHost配置指令
在配置基於主機名的虛擬主機時,NameVirtualHost是必不可少的配置指令。利用NameVirtualHost配置
指令,可以指定一個IP地址,以便Apache服務器能夠接收對基於主機名的虛擬主機的訪問請求。
NameVirtualHost 192.168.0.100:8080
NameVirtualHost * #表示所有達到網絡接口的IP地址
在設置基於主機名的虛擬主機時,VirtualHost配置指令定義的地址必須嚴格匹配NameVirtualHost定義的
地址。例如
NameVirtualHost 192.168.0.100
<VirtualHost 192.168.0.100>
,,,,,,,,
</VitualHost>
2.4.1虛擬主機
虛擬主機是一個Apache服務器能夠同時支持多個網站。在Linux系統主機beijing.abc.net中,可以把Apache服務器配置www.abc.net與news.abc.net兩個虛擬主機,同時支持http://www.abc.net和http://news.abc.net
虛擬主機的實現方式有兩種:一種是基於IP地址的虛擬主機;一種是基於名字的虛擬主機。
基於IP地址的虛擬主機:採用IP地址確定訪問的目的虛擬主機。因此,每個虛擬主機都需要有一個單獨的IP地址。採用基於主機名的虛擬主機技術,不同的服務器能夠共享同一個IP地址。
基於域名的虛擬主機:意味着一個IP地址能夠對應多個不同的主機名。因爲只需配置DNS服務器,把
每個主機名映射到一個正確的IP地址,然後配置ApacheHTTP服務器,使之能夠識別不同的主機名即可。基於主機名的虛擬主機也容易解決IP地址資源缺乏的問題。
2.4.2配置基於主機名的虛擬主機
1.在服務器的目錄中創建/var/www/news網站目錄
2.在服務器的目錄中創建/var/www/public網站目錄
3.修改/etc/httpd/conf/httpd.conf
4.檢查服務器的配置是否有問題(/usr/sbin/httpd -S)
2.5.1配置基於不同IP地址的虛擬主機
當利用多個IP地址實現多個網站時,需要在Apache服務器上配置基於IP地址的虛擬主機,服務器要
求配有多個網卡接口卡,或採用虛擬網絡接口,在同一個網卡上設置多個不同的地址,每個虛擬主機
對應一個IP地址。
假定Apache服務器的主機名www.example.com,其IP地址爲192.168.0.101,另外兩個網卡接口的IP地址
爲192.168.0.102。這樣,我們可以建立兩個虛擬主機www.beijing.com和www.shandong.com。
2.5.2配置 vim /etc/httpd/conf/httpd.conf
2.5.3使用/usr/sbin/httpd -S命令檢測
2.6.1利用不同的端口提供不同的網站服務
假定我們有兩個域名,但指定同一IP地址。爲了提供兩個不同內容的網站服務,可以利用NameVirtual
Host配置指令定了兩個端口,配置兩個虛擬主機。
2.6.2 vim /etc/httpd/conf/httpd.conf配置文件
2.6.3 /usr/sbin/httpd -S 進行檢測