Jar方式(自带Tomcat)

打包成 jar 的方式就不用安装 Tomcat,一个命令 java -jar stusys.jar 就可以启动项目。

设置Jar格式

在Maven的pom.xml文件中加入
image.png

打包项目

利用Maven 自动打包项目。
image.png
image.png

上传到云服务器

image.png

启动项目

进入项目所在目录,执行java -jar stusys.jar就可以启动项目,但是这是一次性的,如果关闭远程连接,项目也就随之关闭。
所以我们需要一直后台运行,命令是 nohup java -jar stusys.jar >temp.txt &
扩展:
nohup 不挂断地运行
>temp.txt 将命令行中输出的内容,写入到 temp.text 中
& 自动运行
启动成功,
image.png
image.png

测试

浏览器输入“ 云服务器的公网ip : 项目的端口号/地址 ”例如我的是 121.89.173.87:8088/login.html

  • 注意项目设置的端口号不要跟服务器其他进程冲突。出现端口占用问题。
  • 同时服务器端口安全组也要开发哦

image.png
image.png

扩展

Linux下查看端口进程:netstat -nlp |grep :8088
image.png
杀掉此进程:kill 29051
image.png

  1. kill -9 `netstat -nlp | grep :8082 | awk '{print $7}' | awk -F"/" '{ print $1 }'`

Mac下

1.查看端口

终端输入:lsof -i tcp:port 将port换成被占用的端口(如:80)
将会出现占用端口的进程信息。

2.kill进程

找到进程的PID,使用kill命令:kill PID(进程的PID,如2044),杀死对应的进程

War方式(需移除本地项目的Tomcat)

docker部署项目

一键重启的Shell脚本

  1. #!/bin/bash
  2. # 作者 后青春期的Keats
  3. # 博客地址 https://www.cnblogs.com/keatsCoder/
  4. # 默认应用名称
  5. defaultAppName='redis-cli.jar'
  6. appName=''
  7. if [ $1 && $1!=0 ]
  8. then
  9. appName=$1
  10. else
  11. appName=$defaultAppName
  12. fi
  13. echo ">>>>>>本次重启的应用: $appName <<<<<<"
  14. # 关闭应用方法
  15. stopApp(){
  16. pid=$( ps -ef |grep $appName |grep 'java -jar'|grep -v grep|awk '{print $2}')
  17. kill -9 $pid
  18. }
  19. # 启动应用方法
  20. startApp(){
  21. nohup java -jar $appName &
  22. }
  23. # 滚动打印日志
  24. printLog(){
  25. tail -1000f nohup.out
  26. }
  27. if [ $2 ]
  28. then
  29. echo '第二个参数有值,仅启动'
  30. else
  31. stopApp
  32. fi
  33. startApp
  34. printLog

image.png