1. tomcat 部署
缺点:1). 部署多个应用程序,分别使用不同的端口,这里需要修改tomcat的配置
2). 该应用程序需要区分多个环境,tomcat中也不好设置
2. java -jar 部署
优点:在启动命令中可以很方便的指定所需要的参数
部署步骤:
1). 打包(跳过单元测试)
mvn clean package -Dmaven.test.skip=true
a. 打包后的文件
b. 感觉这个目录比较繁琐,可以在pom.xml 中配置一下,指定打包后的文件名称
c. 修改pom.xml后,重新打包后的文件
2). 连接服务器,上传文件
a. 连接服务器
# ssh user@ip
ssh root@192.168.0.111
b. 存放目录
c. 上传文件到服务器
d. 查看文件
3). 运行
a. 默认为配置文件中的端口号
java -jar xxx.jar
b. 指定的端口号启动
java -jar -Dserver.port=8090 xxx.jar
c. 指定运行环境启动
java -jar -Dserver.port=8090 -Dspring.profiles.active=prod xxx.jar
d. 在后台启动
nohub java -jar xxx.jar > /dev/null 2>&1 &
# 查看进程
ps -ef|grep xxx
e. 可以使用shell脚本启动
#编写脚本文件
vim start.sh
#内容
#!/bin/sh
nohub java -jar xxx.jar > /dev/null 2>&1 &
#启动
bash start.sh
# 查看进程
ps -ef|grep xxx
f. 通过service脚本启动
vim xxx.service
#内容
[Unit]
Description=xxx # 描述service用途
After=syslog.targer network.target
[Service]
Type=simple
ExecStart=/usr/bin/java -jar -Dserver.port=8090 -Dspring.profiles.active=prod /opt/javaapps/xxx.jar # 绝对路径下的项目名
ExecStop=/bin/kill -15 $MAINPID
User=root
Group=root
[Install]
WantedBy=multi-user.target
#启动项目
systemctl start xxx
#停止项目
systemctl stop xxx
#开机启动
systemctl enable xxx
#关闭开机启动
systemctl disable xxx
# 查看进程
ps -ef|grep xxx