83.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設置默認主機