这两天搞了下RESIN3.0.8,一直配不好,和apache的配合通过SO模块可以正常工作,JSP页面也的确和HTML各自分好了工,可就是打不开虚机目录下的JSP页面,倒是RESIN目录下的webapps中的JSP可以正常打开,估计肯定还是配置文件resin.conf有问题啊,来回弄了两三天了,在网上看了无数帖子,大家都说这样配置好就行了(当然了,JDK环境,JAVA全局变量,RESIN和APACHE 的安装和SO支持都没有大问题,否则不可能只出现目录错误的问题啦):
apache : <VirtualHost 192.168.1.144:80> ServerAdmin webmaster@dummy-host.example.com DocumentRoot /usr/local/resin/hosts/192.168.1.144 ServerName 192.168.1.144 ErrorLog logs/144-error_log CustomLog logs/144-access_log common </VirtualHost> resin : <host id='192.168.1.144'> <document-directory>/usr/local/resin/hosts/192.168.1.144</document-directory> <!-- configures the root web-app --> <web-app id='/'> <!-- adds xsl to the search path --> <class-loader> <simple-loader path="$host-root/xsl"/> </class-loader> <servlet-mapping url-pattern="/servlet/*" servlet-name="invoker"/> </web-app> </host> 这样配置了两者是可以分别处理静态和动态页面了,测试方法是在浏览器里分别输入不存在的.html 和 .jsp文件,看是谁的报错,结果 .html是apache 的报错,.jsp是resin的报错,说明SO模块工作正常。 但是两者的目录就是统一不起来,郁闷啊,查看CSDN上的帖子,GOOGLE,BAIDU的都没有发现什么问题,后来想到了resin的官方网站上去,结果真有关于虚拟主机的详细说明: <host-default> <web-app-deploy path="webapps"/> </host-default> <host id="gryffindor.caucho.com"> <root-directory>/vfs/www/gryffindor</root-directory> </host>
其中上面的默认配置是不用虚拟主机,只用单独主机的,我测试过,能正常工作,下面的配置就是说我的resin默认配置中的主目录语法有错误,应该把document 改成root 不知道是不是版本的原因,这个小错误,耽误了两天的时间,真晕,看来这些东西还是自己亲手配置过才行,而且要看就看官方网站,参考东西比较权威啊。
另外,如果不用虚拟主机,只用单独主即的话,修改
<!-- creates the webapps directory for .war expansion -->
<web-app-deploy path='webapps'/>
中的默认目录和APACHE相统一即可,这个比较方