部署文件类型
部署文件一般是war文件,也可以是jar文件
替换JSP
Spring Boot项目,替换JSP文件,Tomcat不用重启,需要在配置文件中加上如下配置
server.jsp-servlet.init-parameters.development=true
application中Tomcat端口号
Spring Boot 内置Tomcat,默认端口号8080
server.port=8686
server.tomcat.accept-count=10240
server.tomcat.max-connections=10240
server.tomcat.max-threads=1024
开发环境的热部署
每次修改Java后,都需要重新运行main方法才能生效,这样会降低开发效率。我们可以使用Spring Boot提供的开发工具来实现热部署,为项目加上以下依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
修改Java文件后,容器会重新加载本项目的Java类。
linux下部署JAR文件
nohup java -jar customerapp-service.jar >/dev/null &
nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行
&代表在后台运行
- 查看Java进程
查看JAR文件是否部署成功
ps –ef | grep java
- 停掉JAR文件提供的服务
kill -9 进程号【kill -9 PID】
PID的查看可以用【ps –ef | grep java】命令,其中每一行(很长的时候会占用若干行)的第二个字段就是进程的ID,即PID【processID】
ps -ef|grep sto-transport-databoard-job.jar|grep -v grep|cut -c 9-15|xargs kill -9
设置定时周期
// 每隔3分钟执行一次(第一个秒参数必须是零,不能是*)
trigger.setCronExpression("0 0/3 * * * ?");
JS调试
- JS文件中添加
debugger;
在谷歌浏览器中运行项目,打开F12,然后通过F8,F10,F11进行调试
修改Tomcat端口号
- 找到Tomcat的conf/server.xml文件,修改三个端口:SHUTDOWN、HTTP/1.1、AJP/1.3三处的端口,全部改成没有使用过的端口号即可
<Server port="8005" shutdown="SHUTDOWN">
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
部署顺序
启动顺序
- 采用分布式部署,Dubbo方式实现
- 先启动服务提供者(比如sto-service-user.jar)
- 再启动WEB项目(服务消费者)(比如sto-web-user.war,我们部署的时候直接放编译好的文件夹)
- 注意:停止服务时,顺序相反
文件权限控制
- 设置所有人可读、可写、可执行
chmod 755 startup.sh
- 最高权限
chmod 777 startup.sh
正常部署
将war文件放到tomcat\webapps下,启动Tomcat即可
热加载和热部署
- 热加载:服务器会监听 class 文件改变,包括web-inf/class,wen-inf/lib,web-inf/web.xml等文件,若发生更改,则局部进行加载,不清空session ,不释放内存。开发中用的多,但是要考虑内存溢出的情况。
在tomcat\conf\server.xml中的内部添加标签,并设置 reloadable=“true”
<Context debug="0" docBase="D:\Jboss-demo" path="/Jboss" privileged="true" reloadable="true"/>
- 热部署: 整个项目重新部署,包括你重新打上.war 文件。 会清空session ,释放内存。项目打包的时候用的多。
在tomcat\conf\server.xml中的内部添加标签,并设置 autoDeploy=“true”
<Context debug="0" docBase="D:\Jboss-demo" path="/Jboss" privileged="true" autoDeploy="true"/>
- 名词解释
- docBase:项目路径,可以使用绝对路径或相对路径,相对路径是相对于webapps
- path:访问项目的路径,如:http://localhost:8080/Jboss/
- reloadable:是否自动加载新增或改变的class文件.
- debug属性与这个Engine关联的Logger记录的调试信息的详细程度。数字越大,输出越详细。如果没有指定,缺省为0。 也就是程序异常时写入日志文件里的详细程度。