springboot打包(jar)部署在linux环境上(idea,maven) - Go语言中文社区

springboot打包(jar)部署在linux环境上(idea,maven)


一:打开idea的terminal(alt+f12),执行命令:mvn clean package -Dmaven.test.skip=true

这样在你的项目的target目录下出现一个jar包,就是你打的包。

二:将这个jar包上传到linux系统上,具体怎么上传请另搜,这里不作介绍。

例如:我上传在/dev/app/这个目录下,我的包叫girl-0.0.1-SNAPSHOT.jar(版本号和名称跟你pom.xml中写的有关系);

java -jar /dev/app/girl-0.0.1-SNAPSHOT.jar,就会启动成功(linux安装jdk,并且环境变量设置ok),这个只能这样占用界面运行。一旦退出,项目也就终止了;

用下面的命令可以实现后台运行,日志输出

nohup java -jar /dev/app/girl-0.0.1-SNAPSHOT.jar  > 日志文件名.log 2>&1 &

命令详解:

nohup:不挂断地运行命令,退出帐户之后继续运行相应的进程。

>日志文件名.log:是nohup把command的输出重定向到当前目录的指定的“日志文件名.log”文件中,即输出内容不打印到屏幕上,而是输出到”日志文件名.log”文件中。不指定文件名会在当前目录创建nohup.out,如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。如果没有文件能创建或打开以用于追加,那么 Command 参数指定的命令不可调用。

2>&1:2就是标准错误,1是标准输出,该命令相当于把标准错误重定向到标准输出么。这里&相当于标准错误等效于标准输出,即把标准错误和标准输出同时输出到指定的“日志文件名.log”文件中。

java -jar 自己的springboot项目.jar:执行springboot的项目,如果单单只执行该命令,linux只会短暂的运行该项目,当退出控制台后会自动关闭该项目。

最后的&:让改作业在后台运行。

三:访问

postman进行访问:我只是简单的返回了数据库的数据

http://linux服务器ip:自己配的端口号(没配的话默认是tomcat的8080)/url名称。

要注意的几点:

1.如果访问接口不通的话,

注意给服务器添加该项目的端口号,linux默认打开的只有22

vi /etc/sysconfig/iptables

给这一行下面加同样的内容,把22改成项目的端口就行(我的是8081),

-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 8081 -j ACCEPT

保存。重新启动防火墙:执行命令 /sbin/service iptables restart

2.如果日志中报数据库连接错误的话,因为我是windows开发,数据库也在windows,所以数据库连接写的127.0.0.1:5432,这个打包之前一定得更改成本机windows的ip(打开cmd,ip config找到本机ip),因为项目在linux上,127.0.0.1代表本机,发现linux并没有安装数据库,就会报错。

修改好之后重新打包,部署,启动,这样就可以访问。我也是刚调试通。

 

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/laolvbig/article/details/82433000
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-03-07 16:27:18
  • 阅读 ( 840 )
  • 分类:Linux

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢