Linux 下 Tomcat 服务器独立部署

  • 文档创建者:文档助手1
  • 编辑次数:26次
  • 最近更新:Leo.Tsai 于 2020-02-27
  • 1. 概述

    将 FineReport 报表工程部署到 Linux(CentOS) 系统上的 Tomcat 中。

    注:本文以 CentOS7+JDK1.8+Tomcat8.5 为例进行演示,其他版本命令可能略有区别,请自行处理。

    2. 配置环境

    用户需要提前在 Linux 系统下安装 JDK 和 Tomcat,具体的安装方法可以自行查阅资料,文档和技术支持不负责环境搭建部分的内容。

    3. 操作步骤

    部署报表工程至 Linux(CentOS) 系统上的 Tomcat。

    3.1 报表工程上传到 webapps 下

    将报表工程 webroot 文件夹压缩,将压缩包上传至%TOMCAT_HOME%\webapps下,可以通过 WinSCP/FTP 等软件上传。

    注:不推荐直接上传文件夹,防止文件出现问题。
    222

    上传完成后,再解压。

    unzip webroot.zip

    3.2 额外引入 JDK 中的 tools.jar

    %JAVA_HOME%\jdk\lib下的 tools.jar 拷贝到部署的服务器中,拷贝到%TOMCAT_HOME%\lib下或者%TOMCAT_HOME%\webapps\工程名\WEB_INF\lib下。详细内容参见文档:击报错500:服务器部署需引入tools.jar

    cp /demo/jdk/jdk1.8.0_201/lib/tools.jar /demo/tomcat/tomcat8.5/lib/

    3.3 重启 Tomcat 服务器

    1)进入%TOMCAT_HOME%/bin目录,先运行 shutdown.sh,关闭 Tomcat 服务器。

    ./shutdown.sh

    2)查找是否还有 Tomcat 的进程,如果有 kill tomcat 进程。

    ps -ef |grep tomcat

    如果有 Tomcat 的进程,则 kill,pid 为相应的进程号。

    注:2019-12-05及之后版本的 JAR 包可正常使用 shutdown 完全清理所有进程,不需要再操作这一步。

    kill -9 pid

    3)再运行 startup.sh。

    ./startup.sh

    4) 查看 Tomcat 日志。

    tail -f ../logs/catalina.out

    这样 Tomcat 服务器就重启完成了。


    222

    启动浏览器,在地址栏输入:http://ip:服务器端口号/工程名/decision,能成功看到部署成功页面,则表明  FineReport 应用部署 Tomcat 服务器成功,如下图所示:

    222

    4. 注意事项

    4.1 权限问题

    Linux 的文件权限,检查整个工程读写运行权限,一般我们可以直接给整个工程全部的权限,命令如下:

    chmod -R 777 webroot/

    4.2 路径问题

    Linux 的路径里需要使用反斜杠,举例:Windows 中 URL 路径为 emb:jdbc:hsqldb:file://${ENV_HOME}\finedb\db,而 Linux 中 URL 路径为emb:jdbc:hsqldb:file://${ENV_HOME}/finedb/db

    4.3 中文乱码问题

    Linux 下的中文乱码问题一般可以通过两种方式解决。

    1)安装中文语言包

    安装方法:Linux 系统中文语言包的安装

    案例:Linux 下插入子报表出现中文乱码

    2)安装字体包

    安装方法:在 Windows 系统中下的C:\WINDOWS\Fonts\找到相应的字体,将其拷贝到 Linux 系统下报表服务器使用的 JDK 下 JRE 的\lib\fonts目录下,重启服务器。

    案例:

    Linux 导出或打印乱码

    Linux 报表斜线丢失

    4.4 云迁移目录丢失

    1)问题描述

    Ubuntu 系统下,将正式环境中的 Tomcat 打包后拷贝到云服务器上,启动Tomcat后,目录丢失,同时,在目录管理中新增目录,提示报错信息“目录已存在”。

    2)报错信息一

    AWT is not properly configured on this server. Perhaps you need to run your container with "-Djava.awt.headless=true"? See also: https://wiki.jenkins-ci.org/display/JENKINS/Jenkins+got+java.awt.headless+problem

    java.lang.UnsatisfiedLinkError: /mnt/jdk1.8/jre/lib/amd64/libawt_xawt.so: libXrender.so.1: cannot open shared object file: No such file or directory

    解决方案:

    apt-get install libxrender-dev,重启tomcat。

    3)报错信息二

    java.lang.UnsatisfiedLinkError: /mnt/jdk1.8/jre/lib/amd64/libawt_xawt.so: libXtst.so.6: cannot open shared object file: No such file or directory

    解决方案:

    apt-get install libxtst-dev,重启tomcat。

    附件列表


    主题: 部署集成
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!