已解答
发布

OneinStack如果部署JAVA应用?

5 答案

发布
管理员 2016-12-08

如果安装lnmt模式,即同时安装nginx、mysql、tomcat,默认是做了动静分离,即nginx处理静态资源(jss、ccc、图片等),其余的交给tomcat处理。
默认(未绑定域名)对应网站根目录/data/wwwroot/default(不是webapps),部署代码时建议将war包解压(比如example.war,解压命令:jar xf example.war ,注意权限必须为www),将其中代码放到对应网站根目录。

  • 如果上传代码之后目录结构为:/data/wwwroot/default/WEB-INF,访问地址为:http://IP
  • 如果上传代码之后目录结构为:/data/wwwroot/default/example/WEB-INF,访问网站地址为:http://IP/example。

注意:
war包也可以不解压即上传到对应网站根目录,但必须注意访问路径和静态资源目录问题。如果访问网站时,静态资源加载不了,可能是原因是做了动静分离静态资源直接有nginx处理,请确认nginx是否能找到相关静态资源(nginx网站根目录:/data/wwwroot/default)
如果vhost.sh绑定了域名,如www.example.com,工具会自动生成对应根目录:/data/wwwroot/www.example.com ,请将代码放入此目录。

#1
发布

部署javaweb后出现错误。
提示如下:
Tomcat – Error reportH1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}.line {height: 1px; background-color: #525D76; border: none;} IMG[width=’980′][src*=’.sinaimg.’] {
DISPLAY: none !important
}
IMG[width=’960′][src*=’.sinaimg.’] {
DISPLAY: none !important
}
.a_t.wp {
DISPLAY: none !important
}
.widget_ui_ads {
DISPLAY: none !important
}
.baiduad {
DISPLAY: none !important
}
.a_pt {
DISPLAY: none !important
}
.a_mu {
DISPLAY: none !important
}
#kfivtwin {
DISPLAY: none !important
}
#haoetv {
DISPLAY: none !important
}
#gg1 {
DISPLAY: none !important
}

HTTP Status 500 – java.lang.ClassNotFoundException: org.apache.jsp.common.jsp.main_jsp
 
type Exception report
message java.lang.ClassNotFoundException: org.apache.jsp.common.jsp.main_jsp
description The server encountered an internal error that prevented it from fulfilling this request.
exception

org.apache.jasper.JasperException: java.lang.ClassNotFoundException: org.apache.jsp.common.jsp.main_jsp
	org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:176)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

root cause

java.lang.ClassNotFoundException: org.apache.jsp.common.jsp.main_jsp
	java.net.URLClassLoader.findClass(URLClassLoader.java:381)
	org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:131)
	org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:62)
	org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:171)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

note The full stack trace of the root cause is available in the Tomcat logs.

#2
发布
管理员 2016-12-26

500代码报错,请自行google解决

#3
发布

1.3版本 可以上传到webapps 然后会自动解压 并且可以通过以下方式访问到该项目

  1. IP+项目名
  2. 任意新建的主机绑定的域名+项目名(比如 我通过vhost.sh新建了两个或以上的主机 然后这里面绑定了 a.xxx.com b.xxx.com 我能通过 a.xxx.com/项目名 b.xxx.com/项目名 来访问接口)

最新版本 上传webapps不会解压 并且上传到/data/wwwroot/default目录只能通过IP访问
每一个主机必须对应一个包 这样就不能不同域名访问同一个项目了 请问1.4+版本 要如何才能做到1.3版本那样子的部署要求?

#4
发布

同问。。。怎么部署2个war项目? 用命令创建了个java vhost。。。war包放进默认的目录,没有效果。
 
步骤:
1,./vhost,选java工程
2,域名目录demo.example.com
3, 把demo.war 包放进demo.exmple.com目录。没有自动解压。
 
如果把demo的文件内容WEB-INF,META-INF, resource放进去, 也报404
 
 note:  maven webapp
 
WEB-INF/views/jsp/index.jsp
 
如果
 

#5

请登录或者 注册 来提交答案