发表于: 2018-04-03 23:14:33

1 504


今天做了什么:

昨天做了tomcat的单机多实例,今天配置resin。

windows

resin官网下载zip文件解压,运行setup.exe。 
有一些常用配置

{setup.exe}

然后应该就可以访问8080端口,是resin的欢迎页面,点击/resin-admin 
注册admin然后会转到一个信息页面,根据页面提示,记住用户名和hash之后的密码。

然后把conf下后缀为generated的文件的.generated后缀去掉,在resin.properties文件最下方把刚才的用户名密码代替原本的默认值并取消注释。

可能还需要刚才注册完admin页面中的两行命令添加到对应配置文件。

然后就可以用账号密码登陆。

  • 部署项目

在resin.xml中

    <host id="" root-directory=".">

下加上

    <web-app id="/" root-directory="webapps/yourprojectname"/>

可以把原来那个注释掉。

随后在webapps下部署war包,会自动解压。

linux

我用的ubuntu,下载.tar.gz,到本地解压,mv到所需的目录

./configure -prefix={你希望的目录}
java -jar lib/resin.jar start

然后访问8080端口,其他类似。

下面是重点

我用的jdk9,java_home中不包含此前都有的JAXB的api。

staroverflow上的解释是jdk9移除了本属于java ee的一些api,想要用的话有其他方式代替。

我在这里用的在pom.xml中添加依赖

        <dependency>
            <groupId>javax.xml.bind</groupId>
            <artifactId>jaxb-api</artifactId>
            <version>2.3.0</version>
        </dependency>

然后因为又出了错误,resin对web.xml表头似乎不满,不过好在错误提示下方给出了代替的选项,我这边用的是

<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1" metadata-complete="true">

然后终于跑起来了,但是,图片又无法显示。

因为之前配置的web.xml中设置的静态文件默认servlet是tomcat的default,而resin的默认servlet是resin-file。。。

以下是常用的服务器的默认servlet

Tomcat, Jetty, JBoss, and GlassFish  默认 Servlet的名字 -- "default"Google App Engine 默认 Servlet的名字 -- "_ah_default"Resin 默认 Servlet的名字 -- "resin-file"WebLogic 默认 Servlet的名字  -- "FileServlet"WebSphere  默认 Servlet的名字 -- "SimpleFileServlet"

这样总算好了。。。

明天打算做什么:

学习脚本,打印日志内容统计数据,配置本地host用子域访问。


遇到的问题:

jdk9与resin的问题


学到了什么:

resin的配置


返回列表 返回列表
评论

    分享到