apache默認虛擬主機
阿新 • • 發佈:2019-01-24
bin 創建 graceful 主機配置 vhost mkdir https curl命令 erro 一臺服務器可以訪問多個網站,每個網站都是一個虛擬主機
概念:域名(主機名)、DNS、解析域名、hosts
任何一個域名解析到這臺機器,都可以訪問的虛擬主機就是默認虛擬主機 //內容如下
概念:域名(主機名)、DNS、解析域名、hosts
任何一個域名解析到這臺機器,都可以訪問的虛擬主機就是默認虛擬主機
1、默認虛擬主機
這個站點就是默認的虛擬主機
2、設置自定義虛擬主機(第一個為默認)
vim /usr/local/apache2/conf/httpd.conf //搜索httpd-vhost,去掉#
vim /usr/local/apache2/conf/extra/httpd-vhosts.conf 這個是虛擬主機配置文件//改為如下
<VirtualHost *:80> DocumentRoot "/data/wwwroot/abc.com" ServerName abc.com ServerAlias www.abc.com www.123.com ErrorLog "logs/abc.com-error_log" CustomLog "logs/abc.com-access_log" common </VirtualHost> <VirtualHost *:80> DocumentRoot "/data/wwwroot/111.com" ServerName 111.com ServerAlias www.111.com ErrorLog "logs/111.com-error_log" CustomLog "logs/111.com-access_log" common </VirtualHost>
ServerAdmin這個用來定義管理員的郵箱,要不要無所謂,可以刪除
DocumentRoot這個用來定義網站的根目錄在哪
ServerAlias 別名
ErrorLog指定錯誤日誌
CustomLog指定訪問日誌
3、測試上面配置的虛擬主機
首先創建目錄
mkdir /data/wwwroot/
mkdir /data/wwwroot/abc.com
mkdir /data/wwwroot/111.com
在目錄中添加一個PHP代碼文件vim /data/wwwroot/abc.com/index.php
//內容如下
<?php
echo "abc.com"
?>
vim /data/wwwroot/111.com/index.php
<?php
echo "111.com"
?>
4、使上面配置生效/usr/local/apache2/bin/apachectl –t
//測試語法/usr/local/apache2/bin/apachectl graceful
//重新加載配置文件,不會重啟服務
5、
編輯vi /etc/hosts文件來設置abc.com訪問到本機上
或者curl命令用法:
curl -x192.168.111.120:80 abc.com
curl -x192.168.111.120:80 www.abc.com
curl -x192.168.111.120:80 111.com
apache默認虛擬主機