1、打包前准备
1.1、 打包前确认工程中指定的端口在服务器在未被占用。
application.properties文件
server.port=8090
并确保改端口已经添加到你的阿里云安全组中,具体参考前面文章中
阿里云服务器mysql安装 、部署web项目到阿里云 tomcat的8080端口或者mysql的3306端口设置。
1.2、 确保数据源连接参数正确,开发时若使用的是本地数据库,那在打包前将数据库连接参数修改为目标数据库。
#datasourcespring.datasource.driver-class-name=com.mysql.jdbc.Driverspring.datasource.url=jdbc:mysql://数据库所在主机ip:3306/数据库名?useSSL=true&characterEncoding=utf-8spring.datasource.username = ***spring.datasource.password = ***
1.3、确保工程使用的是jdk不能是jre,如下图所示。
1.4、在pom.xml中添加如下依赖。
<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><fork>true</fork></configuration></plugin></plugins></build>
2、打包
2.1、右键单击pom.xml文件,执行“Run As”–>“Maven clean”,清理之前的打包数据,出现如下图表示成功:
2.2 右键单击pom.xml文件,执行“Run As”–>“Maven build…”,
2.3 在窗口中的Goals中输入package,点击run
如下图所示打包成功
2.4 jar包就在工程的target目录下,如果看不到就刷新下工程。
3.部署到阿里云
1、首先在服务器home目录下创建jar目录,在jar中在创建一个工程目录(这都是方便管理,不能随便找个地方一扔,后面项目多了就乱七八糟)
2、将jar包上传到创建的工程目录
3、启动
可以直接使用java -jar命令,但是这个命令有问题,如果是使用远程工具连接方式操作服务器,那当远程连接窗口关闭项目也会随之停止,并且项目启动后会占据窗口,直接在服务器上操作也是一样,所以需要解决。我们可以通过 nohup 和 & 让项目在后台运行。
# --server.port=8090指定端口nohup java -jar xxx.jar --server.port=8090 &
nohup:不挂起的意思( no hang up),退出、关闭窗口都不影响;&:后台运行。
同时相应的日志会默认输出到nohup.out中,可以查看该文件来查看相应的log。
既然有启动那也有停止,上面启动后会有对应的进程ID,通过kill -9 ID 即可停止。
为了方便管理,可以定通过shell脚本来操作项目。
3.1首先创建start.sh
#!/bin/bashnohup java -jar xxx.jar --server.port=8090 &
3.2 创建stop.sh
#!/bin/bashPID=$(ps -ef | grep xxx.jar | grep -v grep | awk '{ print $2 }')if [ -z "$PID" ]thenecho Application is already stoppedelseecho kill $PIDkill $PIDfi
3.3 创建run.sh
#!/bin/bashecho stop applicationsource stop.shecho start applicationsource start.sh
注意 xxx.jar替换成自己的jar包
3.4 设置shell文件的执行权限
chmod u+x *.sh
然后就可以通过 ./run.sh启动项目,./stop.sh停止项目
如果觉得《springboot项目打包部署到阿里云》对你有帮助,请点赞、收藏,并留下你的观点哦!