如何做到部署一個Roller實例來實現多個網站?

背景:
你有很多想法,每個想法都是一個獨立域名的網站,而你的資源(機器性能:CPU、內存、磁盤)卻有限!怎麼辦?

原理:
通過減少部署App實例來節約資源。

前提條件:
1、你要有一個固定的IP;
2、你有多個域名指向你的固定IP,比如a.com、b.com、c.com

要解決的問題:
1、你的App必須支持類似博客或者cms的功能。
顯然roller是沒問題的,類似的App比如WordPress
2、URL轉換
URL映射是最關鍵的部分,需要將roller的博客url映射爲域名的url,比如:http://ip/a/映射爲http://www.a.com.

這裏,使用apache  +  ajp +  tomcat裏實現。本文假設你知道如何配置這三個系統的關係。
首先,在roller中創建三個博客,分別爲a、b、c

其次,在apache中配置虛擬主機,如下:
<VirtualHost *:80>
ServerName www.a.com
ServerAlias a.com
ProxyPass / ajp://127.0.0.1:8009/a/
</VirtualHost>

<VirtualHost *:80>
ServerName www.b.com
ServerAlias b.com
ProxyPass / ajp://127.0.0.1:8009/b/
</VirtualHost>

<VirtualHost *:80>
ServerName www.c.com
ServerAlias c.com
ProxyPass / ajp://127.0.0.1:8009/c/
</VirtualHost>


按照以上配置後,在瀏覽器中可以通過http://www.a.com訪問到博客a的首頁。
最後,由於是長URL轉爲短URL,所以在roller中一些url相關的類需要修改一下,另外寫一個文章描述。

3、其他
favicon.ico和robots.txt需要放在網站的根目錄下,可以用一個servlet來實現,再述。

發佈了35 篇原創文章 · 獲贊 2 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章