美文网首页
webapp部署总结

webapp部署总结

作者: Android8年 | 来源:发表于2017-09-14 16:22 被阅读0次

问题一:

org.apache.jasper.compiler.TldLocationsCache tldScanJar

信息: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.

tomcat 7对EL表达式的语法要求比较严格,例如"${owner.new}"因包含关键字new就会导致解析出错。

问题是出来了,怎么解决呢?有三种,如下:

第一种:严格遵守java规范,修改对象的属性名称,要求不包含java关键字;

第二种:修改EL表达式,例如"${owner.new}"可以修改为"${owner['new']}";

第三种:修改tomcat属性,忽略对EL表达式的关键字检查。修改$CATALINA_BASE/conf/catalina.properties文件,添加org.apache.el.parser.SKIP_IDENTIFIER_CHECK=true选项。

如果你的项目不需要Tld,就修改一下conf/catalina.properties文件

tomcat.util.scan.StandardJarScanFilter.jarsToSkip=*.jar

问题二:

consider increasing the maximum size of the cache

直接简单粗暴的关闭了cache,也是修改的conf/context.xml文件

<Resources

cachingAllowed="false"

/>

问题三:JVM优化

参考链接http://blog.csdn.net/cicada688/article/details/14451541

本人租的是阿里云1G的虚拟机,太小了总是内存溢出,后来优化楼下JVM就好了;

下边是报错信息的头部信息(问题以及解决方法)

# There is insufficient memory for the Java Runtime Environment to continue.

# Native memory allocation (malloc) failed to allocate 57072 bytes for Chunk::new

# Possible reasons:

#  The system is out of physical RAM or swap space

#  In 32 bit mode, the process size limit was hit

# Possible solutions:

#  Reduce memory load on the system

#  Increase physical memory or swap space

#  Check if swap backing store is full

#  Use 64 bit Java on a 64 bit OS

#  Decrease Java heap size (-Xmx/-Xms)

#  Decrease number of Java threads

#  Decrease Java thread stack sizes (-Xss)

#  Set larger code cache with -XX:ReservedCodeCacheSize=

# This output file may be truncated or incomplete.

#  Out of Memory Error (allocation.cpp:390), pid=1928, tid=2960

# JRE version: Java(TM) SE Runtime Environment (8.0_25-b18) (build 1.8.0_25-b18)

# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.25-b02 mixed mode windows-amd64 compressed oops)

# Failed to write core dump.

根据提示 我修改如下:

:noJuliConfig

set "JAVA_OPTS=%JAVA_OPTS% %LOGGING_CONFIG%"

这两句下边加上 set "JAVA_OPTS=-Xms64M -Xmx64M"(注意要带双引号)

这涉及到jvm的优化,根据自己的内存使用情况作出优化。

问题四:用idea打包war

步骤 步骤1 清空之前的target目录 步骤2在target目录下生成war文件

问题五:tomcat server.xml的注意事项

这2个注释必须要打开,用的阿里云的镜像 默认是注释掉的

开始8080端口 其他参数自行百度

问题六:打包war WEB-INFO的classes里边没有xml等资源文件

需要在pom.xml里边配置

问题七:项目里的localhost 可以换成ip或者域名打包成war。

问题八:重新部署项目

问题九:链接阿里云redis服务

记得做验证 输入密码;否则报错Noauth authentication required with root cause

Tomcat7 的目录结构如图:

1、bin:该目录下存放的是二进制可执行文件,如果是安装版,那么这个目录下会有两个exe文件:tomcat6.exe、tomcat6w.exe,前者是在控制台下启动Tomcat,后者是弹出UGI窗口启动Tomcat;如果是解压版,那么会有startup.bat和shutdown.bat文件,startup.bat用来启动Tomcat,但需要先配置JAVA_HOME环境变量才能启动,shutdawn.bat用来停止Tomcat;

2、conf:这是一个非常非常重要的目录,这个目录下有四个最为重要的文件:

server.xml:配置整个服务器信息。例如修改端口号,添加虚拟主机等;

tomcatusers.xml:存储tomcat用户的文件,这里保存的是tomcat的用户名及密码,以及用户的角色信息。可以按着该文件中的注释信息添加tomcat用户,然后就可以在Tomcat主页中进入Tomcat Manager页面了;

web.xml:部署描述符文件,这个文件中注册了很多MIME类型,即文档类型。这些MIME类型是客户端与服务器之间说明文档类型的,如用户请求一个html网页,那么服务器还会告诉客户端浏览器响应的文档是text/html类型的,这就是一个MIME类型。客户端浏览器通过这个MIME类型就知道如何处理它了。当然是在浏览器中显示这个html文件了。但如果服务器响应的是一个exe文件,那么浏览器就不可能显示它,而是应该弹出下载窗口才对。MIME就是用来说明文档的内容是什么类型的!

context.xml:对所有应用的统一配置,通常我们不会去配置它。

3、lib:Tomcat的类库,里面是一大堆jar文件。如果需要添加Tomcat依赖的jar文件,可以把它放到这个目录中,当然也可以把应用依赖的jar文件放到这个目录中,这个目录中的jar所有项目都可以共享之,但这样你的应用放到其他Tomcat下时就不能再共享这个目录下的Jar包了,所以建议只把Tomcat需要的Jar包放到这个目录下;

4、logs:这个目录中都是日志文件,记录了Tomcat启动和关闭的信息,如果启动Tomcat时有错误,那么异常也会记录在日志文件中。

5、temp:存放Tomcat的临时文件,这个目录下的东西可以在停止Tomcat后删除!

6、webapps:存放web项目的目录,其中每个文件夹都是一个项目;如果这个目录下已经存在了目录,那么都是tomcat自带的。项目。其中ROOT是一个特殊的项目,在地址栏中没有给出项目目录时,对应的就是ROOT项目。http://localhost:8080/examples,进入示例项目。其中examples就是项目名,即文件夹的名字。

7、work运行时生成的文件,最终运行的文件都在这里。通过webapps中的项目生成的!可以把这个目录下的内容删除,再次运行时会生再次生成work目录。当客户端用户访问一个JSP文件时,Tomcat会通过JSP生成Java文件,然后再编译Java文件生成class文件,生成的java和class文件都会存放到这个目录下。

8、LICENSE:许可证。

9、NOTICE:说明文件。

问题十:图片部署到服务器的目录下(比如E:\pic\

修改tomcat服务器conf文件夹下的server.xml文件,添加context标签如下所示:

其中path是映射的虚拟路径(可视具体情况配置),docBase是静态资源存放的真实物理路径,reloadable指有文件更新时,是否重新加载,一般设置为true后,tomcat不需要重启启动,自动热加载!

然后重启tomcat最终的访问路径是http://localhost:8080/pic/+E盘pic的子目录结构+文件名字

注意:/pic 就相当于E:\pic\

相关文章

  • webapp部署总结

    问题一: org.apache.jasper.compiler.TldLocationsCache tldScan...

  • 3.Maven - 配置tomcat自动发布

    参考: Maven创建servlet webapp项目并在Tomcat上部署 Maven学习总结(11)——Mav...

  • Docker部署多个WebApp

    Docker部署多个WebApp 使用Docker部署多个webapp,相互隔离,使用不的端口号,互不影响的独立服...

  • Tomcat共享jar包设置的log4j配置注意事项

    Tomcat部署了多个webapp,这些webapp都用到了很多相同的jar包,为此配置了Tomcat的conf/...

  • Tomcat部署Web应用的几种方式

    Tomcat中WebApp的部署可以分为静态部署和动态部署两种。 一、静态部署静态部署又可以分为以下的几种:1、直...

  • Vapor 部署 webApp

    Vapor 部署webApp 这里是使用Ubuntu进行部署的。 这里和Vapor没有太大关系、主要是Linux的...

  • Tomcat 多实例部署 I

    单实例部署的麻烦 掀桌!单实例部署,TMD的每次重启所有项目都被影响!! 单实例部署时,不管是直接放在webapp...

  • Jenkins、GIT与钉钉

    Jenkins 1、Tomcat部署Jenkins直接将Jenkins的war包放到Tomcat的webapp目录...

  • IDE配置tomcat记录

    参考链接 IDEA WEB 部署tomcat webapp下 IntelliJ IDEA通过Tomcat启动项目过...

  • 第八章(二)

    开始部署代码 将代码部署到tomcat的webapp的目录下面 问题:当我们进行访问的时候,希望输入cym.com...

网友评论

      本文标题:webapp部署总结

      本文链接:https://www.haomeiwen.com/subject/cxwwmttx.html