Linux上部署maven打包的jar

导读:本篇文章讲解 Linux上部署maven打包的jar,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

1.maven打包jar

   首先需要把pom.xml的packaging标签设置为jar,packaging这个标签决定了使用maven快捷打包 是打包成war包还是jar,打包成war需要使用tomcat,而jar包不需要tomcat吗,但是需要jdk。

在这里插入图片描述
在把需要打包的项目clear一下,把不需要的文件清理掉。
在这里插入图片描述
在点击package把项目打包成你需要的包
在这里插入图片描述
你会发现你项目会多一个target目录,里面就有打包的项目包。
在这里插入图片描述

2.Linux上传maven包 和 activemq队列 和 redis缓存

我使用的是EditPlus连接linux客户端并且把文件上传到服务器。

在这里插入图片描述
   我这个项目需要activemq队列所以把gz的安装包上传到linux中,jar包的上传也是这样。

回到linux控制台找到上传的目录并且通过tar把文件解压。
在这里插入图片描述
在这里插入图片描述

activemq启动分linux-x86-32和linux-x86-64进入对应的目录,我的是64位的
在这里插入图片描述
进入后通过 ./activemq start 启动 (注意./ 后面不能有空格)
在这里插入图片描述

Redis缓存上传: 下载同款
验证码:p1xv

在这里插入图片描述

解压:

tar -zxvf redis-3.2.8.tar.gz

在这里插入图片描述
解压后进入到文件夹在输入make回车:前提需要有gcc环境

在这里插入图片描述
这样就成功了
在这里插入图片描述
进入到src下通过./redis-service 启动redis的服务端
在这里插入图片描述
这样服务端就启动了,但是这个窗口就不能输入其他命令,能不能设置成后台运行redis呢?
在这里插入图片描述
    可以看到如果我们启动redis服务的话,每次都要进入到安装目录,这样是不是很繁琐,所以我们将redis做成一个服务,我们直接启动。

首先将utils/redis_init_script文件复制到/etc/init.d下,同时易名为redis。执行命令

 cp /usr/local/redis/redis-3.2.8/utils/redis_init_script /etc/rc.d/init.d/redis

在这里插入图片描述

然后在执行命令,vi/etc/rc.d/init.d/redis,并在文档第二行添加# chkconfig: 2345 80 90。如果/usr/local/redis/bin中没有redis-server和redis-cli文件的话,我们要在我们的安装目录下复制一个过来。否则服务启动时找不到redis-server。下图第二个红框所示。并且在第三个$EXEC $CONF 后边加一个&,表示让redis作为后台服务启动,否则该服务会独占输入屏。
在这里插入图片描述
然后进入到redis的src中把下面2个文件夹复制到指定的目录下,这个指定目录看上图第二个框框。

在这里插入图片描述

可以看到在/etc/init.d/redis文件中有这么一行:CONF=”/etc/redis/${REDISPORT}.conf”。于是将redis配置文件拷贝到/etc/redis/下 。

mkdir /etc/redis 

  cp /usr/local/redis-3.0.2/redis.conf /etc/redis/6379.conff


在这里插入图片描述

完成上面的操作之后,即可注册服务:

chkconfig --add redis

然后启动redis服务

service redis start

出现这个问题
在这里插入图片描述
那么就删除就行

rm -rf /var/run/redis_6379.pid 

我到这里就成功了:可以通过service redis start 启动
和 service redis stop 关闭
在这里插入图片描述

这样我们就将redis服务注册好了,但是如果你测试一下service redis stop ,你会发现他提示/var/run/redis_6379.pid does not exist, process is not running 这说明在run下没有这个文件,我们进入到/var/run下发先真的没有这个文件,但是有redis.pid文件。
在这里插入图片描述
我们我们要将/etc/rc.d/init.d/redis 文件中的redis_${REDISPORT}.pid修改为redis.pid。在这里插入图片描述
这样我们重启服务后,在用该命令关闭就可以了。到这里我们的redis服务就安装好了,并做好了一个服务。

以上就是Linux下安装Redis的全过程,希望对大家安装Redis有所帮助。

3.使用nohup命令运行jar

回到上传jar包的目录通过命令:

java -jar 项目名称

在这里插入图片描述
启动完成后会有端口号:我这里是8280
在这里插入图片描述

本地访问是ip:8280 但是我的不能访问,有可能是linux端口没有打开。

注意:使用java -jar 项目名称 运行只要连接断开项目就不能访问,如何解决:可以通过

nohup : 后台启动 log-$(date +%Y-%m-%d).log 2>&1 & :输出日志,日志位置会在jar包的目录中

nohup java -jar 项目名称 >>  log-$(date +%Y-%m-%d).log 2>&1 &

这样就运行成功!在这里插入图片描述
补充:需要注意的是运行后日志文件是log-2021-12-06.log的格式,并且日志是在项目的同一目录显示,将来时间久了就会产生很多日志信息这样会运行我们查看其他文件,我们打算把日志存放到log文件夹中去
在这里插入图片描述
我们只需要在命令前面添加目录:./log
改造命令:nohup java -jar 项目名称 >> ./log/log-$(date +%Y-%m-%d).log 2>&1 &
运行后日志就创建在了log目录里面
在这里插入图片描述

如果需要关闭!
查看进程
在这里插入图片描述

通过kill -9 进程号 关闭部署的项目
在这里插入图片描述

问题: jar包部署在Linux上后浏览器访问不到的问题

   有可能是防火墙没有被放行,项目使用的是8280那么就需要放行端口,设置 /etc/sysconfig/iptables添加下面这行

  1. 是否安装了iptables包:/etc/sysconfig/iptables是否存在
  2. jdk环境是否正确配置
  3. 保证程序是正常运行的

步骤

编辑/etc/sysconfig/iptables文件加入应用端口的白名单

vi /etc/sysconfig/iptables

如果没有这个文件通过yum安装

yum install iptables-services

进入之后添加

-A INPUT -P tcp -m state --state NEW -m tcp --dport 8280 -j ACCEPT

在这里插入图片描述
保存退出

Ctrl+c  //退出编辑模式
:wq  

重启防火墙

systemctl restart iptables

运行jar包项目

java -jar 程序名.jar

在浏览器访问
198.xxx.xxx.xxx:8280/index.html
IP地址:8280/index.html

注意:如果加载不出来,可能是没有安装iptables包,检查一下防火墙状态,安装命令在最上面。
开放的端口号为jar指定端口号,默认8080

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/83906.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!