应大家需要,出一个简单的一库多站的教程。
一库多站的前提要准备多套易读系统(这样可能会多消耗写内存,切记切记)
首先修改tomcat的配置文件 conf/server.xml
添加多套host
<Host name="www.site1.com" appBase="/data/website/tomcat/site1.com" unpackWARs="true" autoDeploy="true">
<Alias>site1.com</Alias>
<Alias>m.site1.com</Alias>
</Host>
<Host name="www.site2.com" appBase="/data/website/tomcat/site2.com" unpackWARs="true" autoDeploy="true">
<Alias>site2.com</Alias>
<Alias>m.site2.com</Alias>
</Host>
<Context path="" docBase=""></Context>不设置的话就要在/data/website/tomcat/site2.com下创建一个ROOT目录
然后在相应的路径在/data/website/tomcat/site1.com,放上易读程序,用site1进行安装,安装完成后,直接修改site2的数据库连接配置
/data/website/tomcat/site1.com/ROOT/WEB-INF/classes/jdbc.properties
jdbc.driverClassName=org.postgresql.Driver
jdbc.url=jdbc:postgresql://localhost:5432/yidu
jdbc.username=postgres
jdbc.password=postgres
jdbc.initialSize=10
jdbc.maxActive=50
jdbc.maxIdle=20
然后修改WEB-INF/web.xml文件,很关键的一步哦
在appName名字标签下添加标记为红色的内容,多个站设置为不同的值,比如第一个设置为site1Novel,第二个设置为site2Novel
<context-param>
<param-name>appName</param-name>
<param-value>yidu-Novel</param-value>
</context-param>
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>site1Novel</param-value>
</context-param>
然后修改缓存存放位置,WEB-INF/classes/cache.ccf文件,红色部分,多个网站设置不同的路径就可以啦
jcs.auxiliary.DC.attributes.DiskPath=/data/website/tomcat/xxx.com/ROOT/jcs_swap
最后修改log的输出路径,默认的话两个网站的log会输出到一个地方,这样将来有问题不好调查
WEB-INF/classes/log4j.properties,修改红色内容
log4j.appender.toFile.File =/var/log/yidu/yidu.log
OK,重启tomcat,这样site1,site2都能访问了,然后登录site2后台,修改相关参数即可!
site1和site2要使用相同的txt的路径,至于封面,因为要使用相对路径,如果是linux创建一个软连接就可以了,ln -s site1路径 site2的路径。如果是windows的话,因为没有软连接的这种概念,找个同步软件同步一个。
这样site1和site2是两套两套独立的程序,有兴趣也可以使用不同的伪静态规则,比如一个开拼音一个不开,等!
最后,一定要在在site2的ROOT目录下,创建一个install.lock文件,这样别人就不能恶意重新安装啦!
祝愉快!