Linux 部署Java项目-jar包和war包(五)

这篇具有很好参考价值的文章主要介绍了Linux 部署Java项目-jar包和war包(五)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、前景(jar包和war包区别)

部署之前先说下两种包,java项目部署到服务器一般有用war包的,也有用jar包的,微服务spring-cloud普及后大部分打包都是jar,部署之前先搞清楚自己要打war包还是jar包,下面小介绍两种包的区别:

spring boot既可以打成war发布,也可以打成jar包发布。说一下区别:

jar包:直接通过内置tomcat运行,不需要额外安装tomcat。如需修改内置tomcat的配置,只需要在spring boot的配置文件中配置。内置tomcat没有自己的日志输出,全靠jar包应用输出日志。但是比较方便,快速,比较简单。

war包:传统的应用交付方式,需要安装tomcat,然后放到waeapps目录下运行war包,可以灵活选择tomcat版本,可以直接修改tomcat的配置,有自己的tomcat日志输出,可以灵活配置安全策略。相对打成jar包来说没那么快速方便。

个人比较偏向打成jar包的方式发布应用,因为spring boot已经内置了tomcat,无需额外配置。其实可以搜索下spring
boot的特点,有个非常重要的特性就是spring.

boot把市面优秀的开源技术,都集合起来,方便快速应用。技术没有百分百这种好,也没有百分百那种不好,存在即合理,最主要还是看个人习惯和业务场景需求了。

一、部署jar包程序

1. 项目打成jar包

①方式一:使用idea工具打包项目

linux java -jar,Linux环境配置,java,linux,jar

②方式二:通过cmd命令的方式打包项目

在Windows系统下,通过按下Win + R键打开终端运行窗口;
通过 cmd cd 到你的java项目文件夹下; ( G: 切换盘符,注意:不需要区分大小写,但是“:”冒号需要加上)
linux java -jar,Linux环境配置,java,linux,jar
PS:上面的Java项目文件夹,指的是你项目的根路径
linux java -jar,Linux环境配置,java,linux,jar

最后执行命令

mvn clean package -DskipTests

( PS: 意思是:先执行mvn clean,删除之前编译的文件,再执行mvn package,进行工程打包操作,在打包的时候跳过test文件夹和文件)

linux java -jar,Linux环境配置,java,linux,jar
linux java -jar,Linux环境配置,java,linux,jar

然后就会在你的target文件夹下有一个jar包

linux java -jar,Linux环境配置,java,linux,jar

2. 项目命令启动

通过FinalShell、XShell或者命令的形式把jar包上传到Linux服务器中。(springboot的jar包,可以不必放在webapp目录下。)

① 查看之前启动的程序,关闭之

1.查看项目运行的进程的id
ps -ef|grep java

linux java -jar,Linux环境配置,java,linux,jar
以上说明没有包含 .jar包运行的Java文件

2.kill 掉该进程即可 ;  -9表示无条件结束
kill -9 xxx

② 启动程序

1.nohup启动方式('推荐,也是本次使用的命令')。nohup java -jar XXX.jar >jarLog.txt &
nohup java -jar person-admin.jar >jarLog.txt &

// 这种方法会把日志文件输入到你指定的文件中,没有则会自动创建。进程会在后台运行。

nohub: 不挂断的运行命令
&:后台运行
>: 日志重定向输出到某个文件

PS: java -jar启动方式。
java -jar *.jar
此中方式只会运行在当前窗口,当关闭窗口或断开连接,jar程序就会结束。故不推荐使用。只适合本地开发和测试时使用

③ 验证是否部署成功

本地电脑(外网访问) : 输入虚拟机Linux环境的IP地址加项目端口xxxx访问

linux java -jar,Linux环境配置,java,linux,jar

PS: 注意:如果是正常的部署项目端口号且为8080;那么就没有下述的问题,可以跳过不用管。

④ 部署时的问题 (多个项目不同端口的防火墙问题/解决方法)

注意: 如果Linux虚拟机内网中能够正常访问,而外部本地电脑不能够访问,那么很可能是Linux环境防火墙没有关闭。
或者说端口号没开启。

linux java -jar,Linux环境配置,java,linux,jar

解决方式一:直接关闭防火墙(不推荐)

(此举只适用于自己本身的开发或者测试环境、生产环境不建议这么做)

输入以下命令关闭防火墙:

 
查看防火墙状态
systemctl status firewalld.service
 
关闭防火墙
systemctl stop firewalld.service
 

延伸的相关命令:

开启防火墙
systemctl start firewalld.service
 
关闭防火墙开机启动
systemctl disable firewalld
检查防火墙服务是否已启用 (/禁止还是启用状态)
systemctl is-enabled firewalld
打开开机自启
systemctl enable firewalld
 
查看防火墙已开放端口列表
firewall-cmd --list-all

解决方式二:增加对应的访问端口 (推荐)
1. 查看防火墙已开发端口

通过命令查看防火墙已开放端口列表有哪些:

firewall-cmd --list-all

linux java -jar,Linux环境配置,java,linux,jar

2. 增加防火墙开放端口
方式一:使用命令添加 (推荐
firewall-cmd --zone=public --add-port=8888/tcp --permanent   

PS:(–permanent永久生效,没有此参数重启后失效)

方式二:使用编辑/etc/firewalld/zones/public.xml文件的方式增加
sudoedit /etc/firewalld/zones/public.xml

linux java -jar,Linux环境配置,java,linux,jar
输入命令生效:

firewall-cmd --reload

查看是否生效

firewall-cmd --list-all

linux java -jar,Linux环境配置,java,linux,jar

3. 验证访问成功

linux java -jar,Linux环境配置,java,linux,jar

jar包 部署 END 完结



二、部署war包程序

1. 将war包放在webapps目录下

2. 重启Tomcat

(1)进入Tomcat的bin目录

cd /usr/local/tomcat/bin

(2)关闭Tomcat

./shutdown.sh

(3)查看Tomcat是否已关闭

ps -ef|grep java

如果显示如下相似信息,说明Tomcat还没有关闭

root      7010     1  0 Apr19 ?        00:30:13 /usr/local/java/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms1024m -Xmx1024m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m -XX:+DisableExplicitGC -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/usr/local/tomcat/endorsed -classpath /usr/local/tomcat/bin/bootstrap.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start

使用kill命令直接杀死相应进程

kill -9 7010

(4)启动Tomcat

./startup.sh 

war包 部署 END 完结



上一篇:
Linux 导入MySQL数据库(四)
下一篇:文章来源地址https://www.toymoban.com/news/detail-766250.html


end

到了这里,关于Linux 部署Java项目-jar包和war包(五)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux系统部署OpenCV环境(java项目使用方式)

    Opencv4.5.2的zip包(OpenCV官网下载) 1. 上传opencv4.5.2的zip包到home目录(不一定home目录,根据运维情况决定) 2. 运行解压缩命令 3. 进入opencv-452文件夹,创建文件夹 4. 进入文件夹中 5. 如果没有安装cmake,使用下列命令安装,并且查看版本信息。 需要高一点的版本,我安装的是

    2024年02月06日
    浏览(52)
  • jar包和war包的区别

    SpringBoot项目既可以打成war包发布,也可以找成jar包发布。 jar包 jar包:直接通过内置Tomcat运行,不需要额外安装Tomcat。如需修改内置Tomcat的配置,只需要在SpringBoot的配置文件中配置。内置Tomcat没有自己的日志输出,全靠jar包应用输出日志。但是比较方便,快速,比较简单。

    2024年02月10日
    浏览(41)
  • 【Linux】CentOS制作Java+GDAL环境镜像并部署运行SpringBoot项目

    环境部署是一个非常繁琐又耗时的工作,尤其是涉及更换操作系统时,其难度更是成倍的增加。本文通过构建起软件运行镜像,并将SpringBoot项目运行在容器中,以期减小软件部署工作所投入的时间与精力。 在Windows环境下构建了一个SpringBoot项目,涉及对MySQL数据库、PostgreSQ

    2024年02月11日
    浏览(45)
  • Docker:使用dockerFile创建镜像(war包和jar包)

    1、使用war包打镜像 (1)在war的当前路径下,新建一个文件——Dockerfile (2)编辑Dockerfile文件    vim Dockerfile Dockerfile文件内容: FROM java:8                # 选择项目中要求的版本 MAINTAINER ylb             # 作者 WORKDIR /穿件文件夹的路径    # 选择项目中要求的

    2024年02月15日
    浏览(45)
  • 1秒将本地SpringBoot项目jar包部署到Linux环境(看这一篇就够了)

    在IDEA编辑器中 一键 将本地已经打包好的 SpringBoot 项目部署到 linux 环境,实现 秒级 部署 前置知识:需掌握Maven的打包 在windows环境使用命令启动SpringBoot项目 在Linux环境使用命令启动项目 在Linux环境使用脚本启动项目 优化脚本,每次启动时先关闭旧项目 分离依赖,每次上传

    2024年02月04日
    浏览(57)
  • 一文讲解Linux上部署Web项目(war包)

    ​ 首先,我们要先将Web项目打成war包 ​ ​ 这里我们通过SSH客户端,连接远程Linux服务器,需要提前知道Linux的IP地址、登录用户名、密码等; ​ SSH工具常用的有Xshell和Xftp等,也有MobaXterm等 ​ 这里通过MobaXterm工具来演示: 没有安装或使用过此MobaXterm工具的,可参照这篇文章

    2024年02月07日
    浏览(50)
  • SpringBoot学习——项目用maven打包成jar包 & windows + Linux平台运行 & Linux安装java & 遇到的问题

    1.maven打包springboot项目,jar包; 2.windows安装java环境,以及运行jar包; 3.Linux安装java环境,以及运行jar包; 4.运行jar包template might not exist报错及解决; Maven 构建生命周期定义了一个项目构建跟发布的过程。 一个典型的 Maven 构建(build)生命周期是由以下几个阶段的序列组成的

    2024年02月16日
    浏览(74)
  • Linux使用脚本启动jar/war包(springboot+maven工程jar包)

    本文以 jar包 为例(war包是同样的操作流程)。 以springboot工程为例。 我打包用的maven。 在pom文件中可以约束最终的jar包名称: mvn clear 再然后 mvn install 这些都没什么好说的。 通过xftp或别的方式, 将jar包放入服务器某个目录 : yml文件放入jar包的同一个目录,内容是常规的

    2024年02月09日
    浏览(41)
  • Linux下Java项目部署

    ​阿里云服务器一台(可在购买服务器时勾选安装宝塔选项,免去后面的宝塔安装) ​设置阿里云服务器密码并登陆服务器 ​以下操作均在服务器Linux中进行(使用远程连接工具登录) 登录阿里云服务器在Linux命令行中输入bt,查看宝塔信息 ​根据宝塔信息提供的网站登陆宝塔

    2024年02月08日
    浏览(30)
  • Java-jar和war包的区别

    1、war是一个web模块,其中需要包括WEB-INF,是可以直接运行的WEB模块;jar一般只是包括一些class文件,在声明了Main_class之后是可以用java命令运行的。 2、war包是做好一个web应用后,通常是网站,打成包部署到容器中;jar包通常是开发时要引用通用类,打成包便于存放管理。

    2024年02月13日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包