apache多網站配置

前言php

 雖然說apache安裝好後給了咱們一個默認的一個網站。而且咱們還可以將這個默認的網站改動成咱們本身的網站。但是這彷佛還不能全然知足咱們的需要,因爲當咱們要在本機上開發(phpWeb)或者測試另一個網站的時候,那麼咱們是否是要將那個默認的網站改動成咱們本身的那個網站呢,假設咱們但願咱們電腦上有同一時候多個網站,那又該怎麼辦呢?因此需要一種可以同一時候在一個電腦上同一時候提供多個網站,那麼就需要配置多網站了。html

多網站配置apache

(1)打開咱們的apache配置文件。httpd.conf。查找vhost.confkeyword,將查找到的如下這行前面的凝視符號#去掉以打開多網站配置:markdown

#Include conf/extra/httpd-vhosts.conf

(2)打開conf/extra/httpd-vhosts.conf文件,按例如如下步驟配置網站分佈式

a. 在這個文件的頭部(儘可能加入在上面)。加入例如如下一行代碼(apache2.2需要這一步。apache2.4 NameVirtualHost被移除了,可以不作這一步)post

# 設定但願提供「多網站」服務的IP地址和port號,一般默認就是:*.80
# 當中*表明所有的IP。默認事實上apache安裝好以後就設置好,無需手動設置(keywordNameVirtualHost):
# 僅僅寫一次
NameVirtualHost *:80

b. 將默認的兩個網站去掉。或者改動成咱們本身的網站,如咱們將這個兩個網站。第一個網站配置成apache默認的網站,第二個配置成咱們本身的一個網站(就是磁盤上的一個目錄而已)網站

# 將apache的默認網站設置成第一個網站,這樣
# 當請求的網站在這裏沒有匹配到的時候,apache
# 會將這裏的第一個網站返回
<VirtualHost *:80>
    ServerName localhost
    DocumentRoot "D:\AMP\httpd-2.4.18-win64-VC11\Apache24\htdocs"
    # 屬性需要和DocumentRoot一致
    <Directory "D:\AMP\httpd-2.4.18-win64-VC11\Apache24\htdocs">
        Options Indexes
        # 贊成所有的請求
        Require all granted
        # 差點兒不要寫Deny
        DirectoryIndex index.html,index.php
    </Directory>
</VirtualHost>

<VirtualHost *:80>
    ServerName www.myphp.com
    # 設定該網站的別名,即經過如下域名也可以訪問
    ServerAlias "lt.php.com"
    DocumentRoot "D:\Software\PHP\project"
    # 屬性需要和DocumentRoot一致
    <Directory "D:\Software\PHP\project">
        Options Indexes
        # 贊成所有的請求
        Require all granted
        # 差點兒不要寫Deny
        DirectoryIndex index.php index.php
    </Directory>
</VirtualHost>

注意看上面的凝視,當中第一個網站設置成了apache默認的網站,第二個網站設置成了我磁盤上的某個目錄,之後需要不少其它的網站,那麼在後面按上面的形式以此加入就能夠。但是DocumentRoot後面的路徑需要和Directory的那個路徑一致。ui

注意:.net

  1. 因爲咱們打開了多網站配置。那麼當apache檢測沒法匹配到的域名,apache將會將第一個網站默認返回,寫在最前面的那個網站就是第一個網站。code

  2. 上面的網站權限訪問控制是基於apache2.4的,apache2.2是Deny from all(拒絕所有)或者Allow From all 或者Deny From ip地址或域名,Allow From 多個ip地址或者多個域名的形式。

上面的這兩步作好後,需要確保咱們電腦的hosts文件裏有咱們本身設置網站的域名或者別名相應的ip地址,加入本機域名相應的ip可以參考Apache主機(網站)配置。port監聽,目錄訪問權限及分佈式權限這篇文章。

相關文章
相關標籤/搜索