发表于: 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的配置
评论