Apache中配置多主機多站點,可以通過兩種方式實現
- 將同一個域名的不同端口映射到不同的站點(虛擬主機)
- 將同一個端口映射成不同的域名,不同的域名映射到不同的站點
兩種方法可以同時存在,局域網通過 ip:端口的配置方法跟統一域名不同端口的配置方法一樣
我們只需要修改相應的配置文件即可。
一、准備工作
1、修改系統 hosts文件
centos中hosts的文件路徑: /etc/hosts
在這個文件中我們加入如下兩行代碼:
這兩行代碼的意思是將www.liuyazhuang.com和www.lyz.com映射到本機的ip地址上。
2、准備兩個站點 (ps:這兩個站點可以放到任意的下面)
分別在
1> /var/www/myweb1,下面有個index.html文件.內容是"這是/var/www/myweb1"站點.
2> /usr/local/http2/htdocs/myweb2,下面有個index.html文件.內容是"這是/usr/local/http2/htdoces/myweb2"站點.(安裝好LAMP后,默認的站點)
二、具體實現
我們分別講解兩種不同的實現方案
1)修改監聽端口
在Apache的httpd.conf中,將監聽端口修改為8080和8090,具體如下圖所示:
2)注釋默認的訪問路徑(本人親身測試, 注釋掉或者不注釋掉都可以,貌似沒啥影響)
在httpd.conf文件中找到如下代碼:
- DocumentRoot "/usr/local/http2/htdocs"
將這行代碼注釋掉,如下圖:
3)打開引入httpd-vhosts.conf文件的注釋
在httpd.conf文件中找到如下代碼:
- # Virtual hosts
- #Include conf/extra/httpd-vhosts.conf
將#Include conf/extra/httpd-vhosts.conf這行代碼的注釋打開,如下圖:
2、修改Apache的httpd-vhosts.conf文件
我們說到的方案一和方案二,只是在配置httpd-vhosts.conf文件的時候有所不同。
在 http-vhosts.conf 配置的虛擬主機總的 文件夾訪問權限配置<Directory>也可以放到httpd.conf中
方案一、
將同一個域名的不同端口映射到不同的虛擬主機(站點),不同端口映射到不同的站點
在httpd-vhosts.conf文件中添加如下代碼:
- #配置我們自己的虛擬主機
- <VirtualHost www.lyz.com:8080>
- #配置訪問跟目錄
- DocumentRoot "d:/Apache/myweb1"
- #這里配置歡迎首頁面
- DirectoryIndex index.html index.htm index.php
- <Directory />
- Options FollowSymLinks
- #不允許別人修改我們的頁面
- AllowOverride None
- #設置訪問權限
- Order allow,deny
- Allow from All
- </Directory>
- </VirtualHost>
- #配置我們自己的虛擬主機
- <VirtualHost www.lyz.com:8090>
- #配置訪問跟目錄
- DocumentRoot "d:/Apache/myweb2"
- #這里配置歡迎首頁面
- DirectoryIndex index.html index.htm index.php
- <Directory />
- Options FollowSymLinks
- #不允許別人修改我們的頁面
- AllowOverride None
- #設置訪問權限
- Order allow,deny
- Allow from All
- </Directory>
- </VirtualHost>
具體如下圖所示:
啟動Apache在瀏覽器中輸入:http://www.lyz.com:8080顯示"我是第一個站點",輸入:http://www.lyz.com:8090顯示"我是第二個站點"。
方案二、
將同一個端口映射成不同的域名,不同的域名映射到不同的站點。
在httpd-vhosts.conf文件中添加如下代碼:
- #配置我們自己的虛擬主機
- <VirtualHost *:8080>
- #配置訪問跟目錄
- DocumentRoot "d:/Apache/myweb1"
- ServerName www.lyz.com
- #這里配置歡迎首頁面
- DirectoryIndex news.html index.html index.htm index.php
- <Directory />
- Options FollowSymLinks
- #不允許別人修改我們的頁面
- AllowOverride None
- #設置訪問權限
- Order allow,deny
- Allow from all
- </Directory>
- </VirtualHost>
- #配置我們自己的虛擬主機
- <VirtualHost *:8080>
- #配置訪問跟目錄
- DocumentRoot "d:/Apache/myweb2"
- ServerName www.liuyazhuang.com
- #這里配置歡迎首頁面
- DirectoryIndex news.html index.html index.htm index.php
- <Directory />
- Options FollowSymLinks
- #不允許別人修改我們的頁面
- AllowOverride None
- #設置訪問權限
- Order allow,deny
- Allow from all
- </Directory>
- </VirtualHost>
具體如下圖所示:
啟動Apache在瀏覽器中輸入:http://www.lyz.com:8080顯示"我是第一個站點",輸入:http://www.liuyazhuang.com:8080顯示"我是第二個站點"。