LAMP架構之構建虛擬主機

虛擬Web主機

在同一臺服務器中運行多個Web站點,其中每個站點並不獨立
佔用一臺真正的計算機html

httpd支持的虛擬主機類型

1.基於域名的虛擬主機
2.基於IP地址的虛擬主機
3.基於端口的虛擬主機web

範例演示

基於域名的虛擬主機

第一步:環境部署

1.安裝DNS的軟件包bind和httpd的服務,用以測試vim

[root@localhost ~]# yum install bind httpd -y           
...

2.爲虛擬主機提供域名解析安全

[root@localhost ~]# vim /etc/named.conf             //進入主配置文件
options {
        listen-on port 53 { any; };         //將原有的127.0.0.1替換成any
        ...
         allow-query     { any; };              //將localhost替換成any

[root@localhost ~]# vim /etc/named.rfc1912.zones            //進入區域配置文件

zone "accp.com" IN {                                                    //第一個正向域名
type master;                            
        file "accp.com.zone";                                           //指向區域數據配置文件accp.com.zone
        allow-update { none; };
};      
zone "kgc.com" IN {                                                 //第二個正向域名
        type master;
        file "kgc.com.zone";                                        //指向區域數據配置文件kgc.com.zone
        allow-update { none; };
};

[root@localhost ~]# cd /var/named/                                      //進入/var/named/目錄
[root@localhost named]# cp -p named.localhost accp.com.zone         //複製模板文件named.localhost爲accp.com.zone的區域數據配置文件

[root@localhost named]# vim accp.com.zone                       //編輯區域數據配置文件

$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
www IN  A       192.168.235.129                                     //添加解析A記錄,並指向本主機IP地址

[root@localhost named]# cp -p accp.com.zone kgc.com.zone                //複製accp.com.zone爲kgc.com.zone的區域數據配置文件,無需進行修改

[root@localhost named]# systemctl start named                       //啓動域名解析服務
[root@localhost named]# systemctl stop firewalld.service                        //關閉防火牆
[root@localhost named]# setenforce 0                        //關閉加強型安全功能


第二步:使用客戶機進行測試DNS服務

1.修改客戶機的DNS服務器地址爲虛擬主機的地址
在這裏插入圖片描述bash

2.打開客戶機的cmd命令提示符,使用nslookup命令加上域名便可獲取解析到的地址
在這裏插入圖片描述服務器



第三步:設定虛擬主機相關配置文件

1.配置虛擬主機的配置文件ide

[root@localhost named]# cd /etc/httpd/conf          //進入配置文件的conf目錄
[root@localhost conf]# mkdir extra                  //建立擴展目錄
[root@localhost conf]# cd extra/                        //進入目錄
[root@localhost extra]# vim vhost.conf              //編輯虛擬主機配置文件,可自行定義

<VirtualHost *:80>              //標籤 *全部ip 80端口     
DocumentRoot "/var/www/html/accp/"  //站點目錄  
ServerName www.accp.com         //站點域名
ErrorLog "logs/www. accp.com.error_log"     //站點錯誤日誌文件,logs爲/var/log/httpd的軟連接(相對路徑)
CustomLog "logs/www.accp.com.access_1og" common     //站點訪問日誌
<Directory "/var/www/html/">        //控制目錄權限
Require all granted         //容許全部訪問
</Directory>
</VirtualHost>

<VirtualHost *:80>
DocumentRoot "/var/ www/ html/kgc/"
ServerName www. kgc. com
ErrorLog "logs/www.kgc.com.error_1og"
CustomLog "logs/www.kgc.com.access_log」 common
<Directory "/var/www/html/">
Require all granted
</Directory>
</VirtualHost>

2.配置網頁測試

[root@localhost extra]# cd /var/www/html/       //進入站點目錄
[root@localhost html]# mkdir accp kgc
[root@localhost html]# cd accp/
[root@localhost accp]# vim index.html
<h1>this is accp web</h1>

[root@localhost accp]# cd ../kgc/
[root@localhost kgc]# vim index.html
<h1>this is kgc web</h1>

3.進入httpd.conf配置文件,聲明包含先前建立的虛擬主機子配置文件ui

[root@localhost kgc]# cd /etc/httpd/conf        
[root@localhost conf]# vim httpd.conf 
...
Include conf/extra/vhost.conf               //在末行接入此條目,用以聲明包含虛擬主機子配置文件

[root@localhost extra]# systemctl start httpd       //啓動httpd服務

第四步:使用客戶機訪問網頁

在這裏插入圖片描述

在這裏插入圖片描述



2、基於端口的虛擬主機

1.編輯虛擬主機配置文件this

[root@localhost extra]# vim vhost.conf         
...                     //省略以前設定好得部分配置
<VirtualHost  *:8080>           //添加accp域名的8080端口
DocumentRoot "/var/www/html/accp02"
ServerName www.accp.com
ErrorLog "logs/www.accp02.com.error_log"
CustomLog "logs/www.accp02.com.access_log" common
<Directory "/var/www/html/">
Require all granted
</Directory>
</VirtualHost>

2.建立新建的8080端口的網頁站點

[root@localhost extra]# cd /var/www/html/ 
[root@localhost html]# mkdir accp02
[root@localhost html]# cd accp02/
[root@localhost accp02]# vim index.html
<h1>this is accp02 test web</h1>

3.修改httpd.conf配置文件的監聽地址

vim /etc/httpd/conf/httpd.conf      //進入配置文件
...
Listen 192.168.235.129:80           
Listen 192.168.235.129:8080         //找到Listen條目並添加8080端口監聽項
[root@localhost accp02]# systemctl restart httpd        //重啓服務

4.使用客戶機網頁
在這裏插入圖片描述



3、基於IP的虛擬主機

1.首先添加第二塊網卡,而後他會自動獲取到一個IP地址
在這裏插入圖片描述
2.配置虛擬主機的配置文件

[root@localhost accp02]# cd /etc/httpd/conf/extra/
[root@localhost extra]# ls
vhost.conf
[root@localhost extra]# vim vhost.conf

  1 <VirtualHost 192.168.235.129:80>
  2 DocumentRoot "/var/www/html/accp/"
  3 ServerName www.accp.com
  4 ErrorLog "logs/www.accp.com.error_log"
  5 CustomLog "logs/www.accp.com.access_1og" common
  6 <Directory "/var/www/html/">
  7 Require all granted
  8 </Directory>
  9 </VirtualHost>
 10 
 11 <VirtualHost  192.168.235.142:80>
 12 DocumentRoot "/var/www/html/accp02"
 13 ServerName www.accp.com
 14 ErrorLog "logs/www.accp02.com.error_log"
 15 CustomLog "logs/www.accp02.com.access_log" common
 16 <Directory "/var/www/html/">
 17 Require all granted
 18 </Directory>
 19 </VirtualHost>

3.修改httpd.conf配置文件的監聽地址

[root@localhost extra]# vim /etc/httpd/conf/httpd.conf 
...
Listen 192.168.235.129:80
Listen 192.168.235.142:80           //添加另外一個IP的監聽

[root@localhost extra]# systemctl restart httpd     //重啓服務

4.使用客戶機網頁
在這裏插入圖片描述

在這裏插入圖片描述

相關文章
相關標籤/搜索