项目部署

目录

  • 描述
  • 通过 脚本 运行
  • 通过 Jar 运行
  • 通过 Tomcat 运行

描述

本文档提供了 3 种部署方式,对应 Jboot 里的 3 种打包方式

通过 脚本 运行

打包方式 文档中,我们可以把项目打包成一个 .zip 的压缩包项目,里面带有 jboot.sh (和 jboot.bat) 执行脚本, 只需要我们解压 .zip 压缩文件,通过如下命令就可以对 jboot 项目进行启动和停止。

  1. # 启动
  2. ./jboot.sh start
  3. # 停止
  4. ./jboot.sh stop
  5. # 重启
  6. ./jboot.sh restart

在 Windows 系统中,通过如下命令执行

  1. # 启动
  2. jboot.bat start
  3. # 停止
  4. jboot.bat stop
  5. # 重启
  6. jboot.bat restart

通过 Jar 运行

打包方式 文档中,我们可以把所有的资源文件(html、css、js、配置文件 等)以及项目的所有依赖打包到一个 jar 包 里去,打包成功后,可以通过如下命令运行。

启动(前台启动,命令窗口不能关闭)

  1. java -jar xxx.jar

当前ssh窗口(命令窗口)被锁定,可按 CTRL + C 打断程序运行,或直接关闭窗口,程序退出。

启动(后台启动,命令窗口不能关闭)

  1. java -jar xxx.jar &

& 代表在后台运行。当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行。

启动(后台启动)

  1. nohup java -jar xxx.jar &

nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行,当用 nohup 命令执行作业时,缺省情况下该作业的所有输出被重定向到nohup.out的文件中,除非另外指定了输出文件。

启动(后台启动)

  1. nohup java -jar xxx.jar>temp.txt &

command >out.file 是将 command 的输出重定向到 out.file 文件,即输出内容不打印到屏幕上,而是输出到 out.file 文件中。 以上命令,就是把 java 启动的输出,输入到 temp.txt 文件里,而不是在屏幕上。

另外:可以通过如下命令实时查看日志:

  1. tail -f temp.text

可通过jobs命令查看后台运行任务

  1. jobs

jobs 命令就会列出所有后台执行的作业,并且每个作业前面都有个编号。如果想将某个作业调回前台控制,只需要 fg + 编号即可。

  1. fg 33

查看程序端口的进程的pid

  1. netstat -nlp | grep:8080

通过 Tomcat 运行

Jboot 在 Tomcat 运行,在需要在如下的目录下创建 web.xml 文件

  1. src
  2. ├── main
  3. ├── java
  4. ├── resources
  5. └── webapp
  6. └── WEB-INF
  7. └── web.xml

web.xml 的内容如下:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee"
  4. xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
  5. id="WebApp_ID" version="2.5">
  6. <filter>
  7. <filter-name>jfinal</filter-name>
  8. <filter-class>com.jfinal.core.JFinalFilter</filter-class>
  9. <init-param>
  10. <param-name>configClass</param-name>
  11. <param-value>io.jboot.core.JbootCoreConfig</param-value>
  12. </init-param>
  13. </filter>
  14. <filter-mapping>
  15. <filter-name>jfinal</filter-name>
  16. <url-pattern>/*</url-pattern>
  17. </filter-mapping>
  18. </web-app>