1. 程式人生 > >83.LAMP設置默認主機

83.LAMP設置默認主機

LAMP默認主機

默認主機

Apache服務器上可以配置多個虛擬主機,實現一個服務器提供多站點服務,其實就是訪問同 一個服務器上的不同目錄。
一個服務器主機可以運行多個網站,每個網站都是一個虛擬主機;
任何一個域名解析到這臺機器,都可以訪問的虛擬主機就是默認虛擬主機;

一、在Windows中編輯hosts文件

Windows系統中hosts位置“C:\Windows\System32\drivers\etc\hosts”
說明:在此可以自定義匹配本地IP和域名,目的是添加臨時訪問地址(在DNS未生效的時候使用)。
在hosts中添加一行:
192.168.xxx.xxxx www.xxxx.com PS:

在windows上ping一下看看能否訪問定義的IP:
技術分享圖片

在瀏覽器中:
技術分享圖片

二、在Linux中設置httpd默認虛擬主機

在物理機訪問的域名www.abc.com並未在虛擬機Apache配置文件中定義,虛擬機中只定義了ServerName www.example.com:80一個域名,該域名即為Apache的默認主機,此時通過任何一個綁定該虛擬機IP的域名進行訪問都會跳轉到該主機。
因為一臺服務器可以跑多個域名,為了方便管理,需要對虛擬主機進行配置:

1、編輯httpd配置文件

[root@localhost /]# vim /usr/local/apache2/conf/httpd.conf //搜索httpd-vhost,去掉#

技術分享圖片

2、編輯虛擬主機配置文件

[root@localhost /]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf 
修改內容:
<VirtualHost *:80>                                     //每個VirtualHost代表一個主機,一個主機代表一個網站    
    ServerAdmin [email protected]     //定義管理員的郵箱
    DocumentRoot "/data/webroot/abctest"                   //指定根目錄
    ServerName zlinux.com                                                    //定義網站名稱
    ServerAlias zlinuxbak.com                                                //設置網站別名
    ErrorLog "logs/dummy-host.example.com-error_log"       //錯誤日誌
    CustomLog "logs/dummy-host.example.com-access_log" common
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "/data/webroot/123test"
    ServerName 123test.com
    ServerAlias www.example.com
    ErrorLog "logs/dummy-host2.example.com-error_log"
    CustomLog "logs/dummy-host2.example.com-access_log" common
</VirtualHost>
說明:此時即定義了一個網站,定義網站的核心參數即為:DocumentRoot(網站根目錄)、ServerName(域名)。
註意: 虛擬主機生效後,原Apache配置文件中的默認主機(www.example.com 192.168.204.128)就會失效。

3、添加虛擬主機相應目錄

[root@localhost /]# mkdir /data/wwwroot/
[root@localhost /]# mkdir /data/wwwroot/abctest
[root@localhost /]# mkdir /data/wwwroot/123test
在目錄中創建PHP測試文件:
[root@localhost /]#vim /data/wwwroot/abctest/index.php

<?php
echo "this is a testfile!";
?>
[root@localhost /]# vim /data/wwwroot/123test/index.php

<?php
echo "這是一個123test文件!";
?>

4、測試虛擬主機

[root@localhost /]#curl -x 192.168.204.128:80 zlinux.com
This is a testfile![root@zlinux ~]#
[root@localhost /]# curl -x 192.168.204.128:80 123test.com
這是一個123test文件![root@zlinux ~]#
[root@localhost /]# curl -x 192.168.204.128:80 000test.com //在沒有指定或錯誤域名的情況下,訪問任意的域名都將訪問到默認主機所對應的內容。

83.LAMP設置默認主機