Windows/linux下Apache的網站綁定網域名稱

來源:互聯網
上載者:User

最簡單的

NameVirtualHost *

ServerName rashost.com/blog
DocumentRoot "c:/wamp/www/vpsblog/"上面配置的網站是 vpsblog.rashost.com/ ,該網站對應的目錄是”c:/wamp/www/vpsblog/”,網站名稱和目錄名稱你當然要根據自己的需要自己定。


1、樣本綁定:

■IP地址192.168.1.100
■對應兩個網域名稱http://你的網域名稱.com和http://bbs.你的網域名稱.com(次層網域)
2、綁定過程

a、開啟http.conf,該檔案位置在apache/conf下面,直接用文字編輯器即可開啟。
b、添加以下欄位,位置靠近ServerName 127.0.0.1或ServerName localhost:80下面附近,方便修改和理解。

 代碼如下 複製代碼

<VirtualHost 192.168.1.100>
DocumentRoot D:/xampp/htdocs/你的網域名稱.com
ServerName 你的網域名稱.com
</VirtualHost>
<VirtualHost 192.168.1.100>
DocumentRoot D:/xampp/htdocs/你的網域名稱.com/bbs
ServerName bbs.你的網域名稱.com
</VirtualHost>

這個方法是對指定IP地址的主機比較適合,但是如果是動態擷取IP地址的主機就有問題了,則可以把<VirtualHost 192.168.1.100>統一修改為<VirtualHost *:80>,這樣設定後APACHE不再對IP區分,只根據ServerName和處理優先順序識別。比如很多虛擬機器主機要求使用CNAME解析網域名稱,那麼該虛擬機器主機的IP可能會變化的,就無法使用上面的配置方法,還是<VirtualHost *:80>要更好用一些


Linux VPS下的Apache的網站綁定

Ubuntu下Apache的設定檔知識
Debian/Ubuntu的apache的設定檔的管理方式是一樣的,Ubuntu本身就是基於Debian的,所以很多配置和Debian幾乎一模一樣。Debian/Ubuntu的apache設定檔都在/etc/apache2目錄下。/etc/apache2下面有幾個設定檔,還有幾個子目錄。/etc/apache2下面的設定檔逐個解釋如下:

/etc/apache2/apache2.conf
主設定檔,不精通apache不要修改此檔案
/etc/apache2/httpd.conf
這個檔案的存在是為了保持相容性,即使你精通apache,我也建議不要修改此檔案
/etc/apache2/ports.conf
這個檔案用來配置apache的監聽的連接埠,不精通者請不要修改
/etc/apache2下面的幾個目錄解釋如下:

/etc/apache2/conf.d
apache會讀取這個目錄下的任何檔案,這些檔案的內容都是設定檔的一部分,不建議修改此目錄下的任何內容
/etc/apache2/mods-available
這個目錄下是一些零碎的設定檔,不建議修改,apache不會讀取此目錄下的檔案。該目錄下的檔案一般都是某個apache模組的設定檔
/etc/apache2/mods-enabled
apache會讀取這個目錄下的任何檔案,這些檔案的內容都是設定檔的一部分,不建議修改此目錄下的任何內容。該目錄下的檔案一般都是某個apache模組的設定檔
/etc/apache2/sites-available
這個目錄下是一些零碎的設定檔,不建議修改,apache不會讀取此目錄下的檔案,該目錄下的檔案一般都是某個網站的設定檔
/etc/apache2/sites-enabled
apache會讀取這個目錄下的任何檔案,這些檔案的內容都是設定檔的一部分,不建議修改此目錄下的任何內容,該目錄下的檔案一般都是某個網站的設定檔
從上面的列表可以看出,mods-available和mods-enabled這兩個目錄的區別是apache是否去讀取這個目錄。有個疑問:如果apache從來不讀取mods-available目錄,那要它何用?答案是mods-available下存放所有apache模組的設定檔,但這些模組不一定是啟用的,啟用的模組的設定檔連結到mods-enabled下面,如果沒有連結到mods-enabled下面,那肯定是一些沒有啟用的模組。a2enmod命令可以列出mods-available下面的所有模組,管理員可以選擇啟用哪個模組,啟用之後的模組就會在mods-enabled下面添加一個連結。

同理,sites-available和sites-enabled這兩個目錄也是這樣的原理,a2ensite命令可以列出sites-available下存在的網站檔案,可以建立網站檔案的連結到sites-enabled目錄下。

a2enmod == Apache2 ENable MODule
a2ensite == Apache2 ENable SITE

預設情況下,sites-available下只有一個檔案default,sites-available/default連結到sites-enabled目錄下的連結名為000-default。apache的習慣是一個網站一個設定檔,但我們為了方便管理,把所有的網站的配置都儲存到default這個檔案裡面。

怎樣建立新網站

1.確定新網站的網域名稱和別名,網域名稱是必須的,別名可以沒有,別名也是網域名稱,只不過不是主網域名稱而已。比如我的網站網域名稱是rashost.com,別名有兩個,分別是rashost.com和home.rashost.com。
2.更改網域名稱和別名的DNS,解析到VPS的IP地址。比如到rashost.com的網域名稱註冊商的控制台裡面修改上面三個DNS記錄,都指向我的VPS的IP地址。
3.等待網域名稱更改生效,這個過程通常是0到48小時。運行ping命令可以查看網域名稱指向是否更改過來,比如:ping rashost.com,如果顯示的IP是VPS的IP,則表明生效了
4.用root使用者SSH登入到VPS,運行命令建立新使用者: adduser rashost.com ,更改密碼: passwd rashost.com。修改/etc/apache2/sites-available/default檔案,在檔案的末尾加入下面這段配置後運行/etc/init.d/apache2 force-reload重新啟動apache
5.用新使用者rashost.com登入到VPS,運行命令 mkdir public_html 建立public_html目錄
6.通過FTP,把網頁檔案傳送到public_html目錄下
7.然後就可以通過瀏覽器訪問新網站了

 代碼如下 複製代碼

ServerName 111cn.net
ServerAlias rashost.com home.rashost.com
DocumentRoot /home/rashost.com/public_html/


那麼linux中如何綁定多網站呢


例如:VPS的IP是94.249.188.58,需要將111cn.net綁定到/var/www/html/dir1,將wuleilei.net綁定到/var/www/html/dir2。

開啟http.conf:

1、將#ServerName www.example.com:80修改成ServerName 94.249.188.58:80,注意別忘記了將句首的#去掉;

2、將#NameVirtualHost *:80修改成NameVirtualHost 94.249.188.58:80,注意別忘記了將句首的#去掉;

3、在檔案最後面有虛擬機器主機格式:

代碼

 代碼如下 複製代碼
1.#<VirtualHost 94.249.188.58:80> 
2.#    ServerAdmin webmaster@dummy-host.example.com 
3.#    DocumentRoot /www/docs/dummy-host.example.com 
4.#    ServerName dummy-host.example.com 
5.#    ErrorLog logs/dummy-host.example.com-error_log 
6.#    CustomLog logs/dummy-host.example.com-access_log common 
7.#</VirtualHost> 

在後面添加:

 代碼如下 複製代碼
1.*IP訪問/var/www/html/dir目錄
<VirtualHost 94.249.188.58:80>
2.    ServerAdmin webmaster@dummy-host.example.com
3.    DocumentRoot /var/www/html/dir
4.    ServerName 94.249.188.58 
5.    ErrorLog logs/dummy-host.example.com-error_log 
6.    CustomLog logs/dummy-host.example.com-access_log common 
7.</VirtualHost>

8.*111cn.net與www.111cn.net訪問/var/www/html/dir1目錄

 代碼如下 複製代碼

9.<VirtualHost 94.249.188.58:80> 
10.    ServerAdmin webmaster@dummy-host.example.com

11.    DocumentRoot /var/www/html/dir1

12.    ServerName 111cn.net 
13.    ServerAlias www.111cn.net 
14.    ErrorLog logs/dummy-host.example.com-error_log 
15.    CustomLog logs/dummy-host.example.com-access_log common 
16.</VirtualHost>

17.*wuleilei.net與www

.wuleilei.net訪問/var/www/html/dir2目錄

 代碼如下 複製代碼

18.<VirtualHost 94.249.188.58:8081> 
19.    ServerAdmin webmaster@dummy-host.example.com
20.    DocumentRoot /var/www/html/dir2
21.    ServerName wuleilei.net

22.    ServerAlias www.wuleilei.net
23.    ErrorLog logs/dummy-host.example.com-error_log 
24.    CustomLog logs/dummy-host.example.com-access_log common 
25.</VirtualHost> 

 附:如果想開其他連接埠,請按照如下操作(以8080連接埠為例):

1、開啟http.conf,尋找Listen 80,在下面一行添加Listen 8080;

2、在檔案末尾添加如下代碼:

代碼

 代碼如下 複製代碼

1.<VirtualHost 94.249.188.58:8080> 
2.    ServerAdmin webmaster@dummy-host.example.com
3.    DocumentRoot /var/www/html/dir3

4.    ServerName 111cn.net
5.    ServerAlias www.111cn.net
6.    ErrorLog logs/dummy-host.example.com-error_log 
7.    CustomLog logs/dummy-host.example.com-access_log common 
8.</VirtualHost> 

這樣就將www.111cn.net:8080綁定到/var/www/html/dir3目錄了

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.