Apache是最流行的HTTP服務器軟件之一,其以快速、可靠(穩定)而著稱,並且可通過簡單的API擴展,Perl/Python解釋器可被編譯到服務器中,完全免費,並且源代碼全部開放。如果有自己的服務器或者VPS,並且不想為了方便而購買昂貴的控制面板的話,那自己動手配置Apache就成了一門必修課了。下面簡單的介紹了如何通過設置Apache的 http.conf文件,進行多個域名以及其相關的二級域名的綁定(假設我們要綁定的域名是45it.com和45it.com,二級域名是 blog.45it.com,獨立IP為72.167.11.30).
apache怎麼綁定多個域名
打開http.conf
1,ServerName 127.0.0.1 修改成ServerName 72.167.11.30
2,#NameVirtualHost * 修改成"NameVirtualHost 72.167.11.30"
3,在文件最後面有虛擬主機格式,
#<VirtualHost *>
# ServerAdmin [email][email protected][/email]
# DocumentRoot /www/httpd/html/45it.com
# ServerName 45it.com
# ErrorLog logs/45it.com-error_log
# CustomLog logs/45it.com-access_log common
#</VirtualHost>
簡單的添加:
<VirtualHost 72.167.11.30>
DocumentRoot usr/local/www/
ServerName 72.167.11.30
</VirtualHost>
<VirtualHost 72.167.11.30>
DocumentRoot usr/local/www/45it.com/
ServerName 45it.com
</VirtualHost>
<VirtualHost 72.167.11.30>
DocumentRoot usr/local/www/45it.com/
ServerName 45it.com
</VirtualHost>
日志文件的話也可以按照自己的路徑添加。
Apache如何添加二級域名
httpd.conf 中需要打開mod_rewrite功能(關於URL重定向的具體說明,可以參照.htaccess使用方法總結),具體操作就是,在httpd.conf 的最後,添加以下內容:
RewriteEngine on
RewriteMap lowercase int:tolower
RewriteMap vhost txt:/usr/local/etc/apache/vhost.map
RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
RewriteCond ${vhost:%1} ^(/.*)$
RewriteRule ^/(.*)$ %1/$1
其中的 /usr/local/etc/apache 是你的 apache 服務器配置文件所在路徑,根據實際情況更改(例如在/etc/httpd/下面)。然後,在這個所在路徑的目錄下創建一個文件: vhost.map,內容為:
www.45it.com /usr/local/www/45it.com
www.45it.com /usr/local/www/45it.com
blog.45it.com /usr/local/www/45it.com/blog
最後,在網站根目錄 /usr/local/www/下,創建對應目錄就可以了。如果需要增加,修改或者刪除域名,子域名,僅僅需要更改vhost.map文件,而不用重啟apache進程。