虛擬Web主機

虛擬Web主機

來自專欄從零開始學習雲計算

虛擬Web主機定義:同一台伺服器提供多個不同的Web站點

區分方式:基於域名的虛擬主機,基於埠(後台網站一般用埠區分)的虛擬主機,基於IP地址(基於IP幾乎沒人用,幾於IP首先就要買兩個網卡,而且IP還要是公網IP,既耗錢,又複雜,還要調路由器交換機,還要能夠PING通,遠程管理,所以基於IP地址幾乎沒人用)的虛擬主機。

虛擬Web主機最主要的作用就是省錢,為什麼省錢?

默認情況下,一個httpd只有一個DocumentRoot,只有一個ServerName,一台伺服器只能裝一個httpd,也只能夠提供一個主頁,只能一個網站站點。可能一個公司有購物網站、視頻網站、新聞網站……不可能每個網站都有一台伺服器。希望用一台伺服器實現多個站點的部署,這就是虛擬Web主機。

DirectoryIndex:起始頁/首頁文件名(index.html),網頁文件名稱,在全局配置文件里也有,一般不建議修改。

配置文件:

/etc/httpd/conf/httpd.conf 主配置文件

/etc/httpd/conf.d/*.conf 從配置文件

在主配置文件中有一行:IncludeOptional conf.d/.conf,主配置文件會把*.conf的文件全部讀一遍,為什麼還要讀一遍從配置文件?為什麼把配置分開,不全寫到主配置文件中。因為配置太多,自己的配置很難找。當打開一個很大的配置文件速度也會下降,為了配置的方便,精簡主配置的內容, 不影響配置的內容,把自定義的配置寫在從配置文件中。

為每個虛擬站點添加配置

容器級的配置,開關結尾固定不能改,一般IP地址寫*,代表所有IP,埠一般是80

幫助文檔,在哪裡找到配置站點文件的格式?

創建目錄驗證:

mkdir /var/www/test

echo wo shi test > /var/www/test/index.html

然後重啟服務:systemctl restart httpd

然後elinks驗證:

乃nslookup可以解析出IP地址:

httpd服務訪問控制

/etc/httpd/conf/httpd.conf 在全局主配置文件中

使用<Directory>配置區段

-每個文件夾自動繼承其父目錄的ACL訪問許可權

-除非對子目錄有明確設置

上面兩張圖的配置意思是,根下除了/var/www目錄,其它的客戶端都不能訪問。

創建一個網站,只允許一台主機server0訪問

先創建一個目錄mkdir /var/www/abc/private

然後重定向 echo 私密 > /var/www/abc/private/index.html

然後cat一下,/var/www/abc/private/index.html,會出現私密

此時沒有修改配置文件,所以不需要重啟服務

驗證:elinks -dump server0.exampe.com

只允許本機訪問,Directory配置如下,迴環介面訪問,只允許本機和伺服器訪問,操作如下圖:

然後systemctl restart httpd.servive重啟驗證一下:

最後

思路 :客戶端訪問服務端資源 要考慮

1.防火牆是否限制(上面已經設置為trusted沒有限制)

2.服務本身的訪問控制

3.SELinux是否限制

推薦閱讀:

老薛主機怎麼樣?老薛主機到底好不好?看我的評測

TAG:虛擬主機 | 虛擬主機選擇 |