你有很多想法,每个想法都是一个独立域名的网站,而你的资源(机器性能: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来实现,再述。