首页 > 系统相关 >在Linux服务器上运行springBoot项目!

在Linux服务器上运行springBoot项目!

时间:2024-04-06 15:31:26浏览次数:16  
标签:profile java springBoot jdk jar Linux 服务器 HOME JAVA

今天闲的无聊,写了一个定时发送邮件到指定邮箱的一个小项目,因为写的很粗糙,这里就不展示代码了,主要记录一下用到的技术:
1.JavaMail
2.Spring-Task
3.在Linux上运行

一、JavaMail:
 JavaMail 是sun公司(现以被甲骨文收购)为方便Java开发人员在应用程序中实现邮件发送和接收功能而提供的一套标准开发包,它支持一些常用的邮件协议,如SMTP,POP3,IMAP,还有MIME等。我们在使用JavaMail API 编写邮件时,无须考虑邮件的底层实现细节,只要调用JavaMail 开发包中相应的API类就可以了。
因为他使用起来很简单,傻瓜式开发,直接调接口,所以可以直接下载下来用就好了;

JavaMail下载:

二、Spring-Task
Spring-Task是Spring自带的定时任务工具,spring task可以将它比作一个轻量级的Quartz,而且使用起来很简单,除spring相关的包外不需要额外的包,而且支持注解和配置文件两种。
我用的是注解的方式,加两个注解,就搞定了,是不是很简单~
首先在启动类上加一个@EnableScheduling 注解,开启定时任务。

然后写一个类,里面写上你要定时执行的任务,在这个要执行定时任务的方法上面加上一个@Scheduled注解,注解里面写执行时间,用corn表达式,为了方便,我在写的时候是直接把时间写死的,一般我们在工作中都是写配置文件里面,从中获取。

三、打包部署
1.在IDEA中测好后,就可以打包上传服务器运行了,首先先clean下,然后用package包,因为我这个是SpringBoot项目,所以打成jar包就好了,springboot项目已经内嵌了Tomcat我们不需要再安装。

打包完成是下面这样,在这个项目的 target目录下就好生成这个项目的jar包。

2.将jar包上传服务器
我用的是FinalShell这个工具连接服务器,用这个上传功能上传,比较方便快捷。

3.安装java环境

我这个服务器没有安装过Java环境,所以还不能运行这个项目,我们先安装jdk,配置下环境。
因为Oracle官网用Cookie限制下载方式,使得眼下只能用浏览器进行下载,使用其他方式可能会导致下载失败。

官网手动下载(下载Linux环境下的jdk1.8)


下载好之后将这个jdk源码包,可以创建一个java的文件夹来放,上传到这个java文件夹里面。
使用解压命令解压:

tar -zxvf jdk-8u301-linux-x64.tar.gz

解压完成

删掉jdk源码包

rm -f jdk-8u301-linux-x64.tar.gz

接下来配置jdk环境变量:
/etc/profile文件的改变会涉及到系统的环境,也就是有关Linux环境变量的东西
所以,我们要将jdk配置到/etc/profile,才可以在任何一个目录访问jdk
执行下面命令,进入配置页面

vi /etc/profile

按i进入编辑,在profile文件尾部添加如下内容:

export JAVA_HOME=/usr/java/jdk1.8.0_301
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}

注意:第一行是你解压后得到的那个jdk文件路径,不一定跟我一样

添加好之后Esc --> :wq保存退出
通过命令source /etc/profile让profile文件立即生效

source /etc/profile

测试是否成功,我们可以看下版本号,执行java -version

4.运行项目jar包
这里要记录一个遇到的小错误:
因为我目前是在jdk包的位置,不在jar包所在文件夹,所以执行Java -jar 命令报错了,原因是找不到我那个项目的jar包在哪。

所以我们在运行java -jar 命令的时候,后面跟上项目的全路径。

java -jar /usr/local/email-0.0.1-SNAPSHOT.jar

你以为这样就可以了???
不不不,这样是有问题的,
使用java -jar xxx.jar 命令时,一旦FinalShell窗口关闭,JAR就停止运行了.
如果想让项目在后台一直运行,通过如下命令启动JAR:

nohup java -jar xxx.jar  > consoleMsg.log 2>&1 &

上面的2 和 1 的意思如下:
0 标准输入(一般是键盘)
1 标准输出(一般是显示屏,是用户终端控制台)
2 标准错误(错误信息输出)

注意:consoleMsg.log日志文件要先创建,执行命令:

touch consoleMsg.log

最后可以查看日志,看看运行了没有;

tailf -n 10 consoleMsg.log  #打印最后10行日志,并且持续跟踪日志。
tail -n 2000 consoleMsg.log | more   #分页查看最后2000行日志。

标签:profile,java,springBoot,jdk,jar,Linux,服务器,HOME,JAVA
From: https://blog.csdn.net/qq_55994562/article/details/137379699

相关文章

  • Linux查看日志的几种方法
    最常用查看日志方法:·实时日志:tail-fXXX.log·搜索关键字附近日志:cat-nfilename|grep"关键字"查看日志常用命令:tail:-n是显示行号;相当于nl命令;例子如下:tail-100ftest.log实时监控100行日志tail-n10test.log查询......
  • nginx反向代理实现不同域名映射到同一台服务器的相同端口
    在实际应用中,我们经常会遇到多个域名需要映射到同一台服务器的相同端口的情况,这时可以使用nginx反向代理来实现。以实现将www.example.com和www.test.com都映射到127.0.0.1的80端口为例,具体步骤如下:修改hosts文件在本地hosts文件中添加以下两行:127.0.0.1www.example.com12......
  • 【清明3天】云服务器价格即将回调 2G 50/年,4G 618/3年,附阿里云 京东云 腾讯云2-64G对
    更新日期:4月6日(阿里云价格回调,京东云采购季持续进行)本文纯原创,侵权必究《最新对比表》已更新在文章头部—腾讯云文档,文章具有时效性,请以腾讯文档为准!【腾讯文档实时更新】2024年-服务器专区最新云服务器对比表https://docs.qq.com/document/DV0RCS0lGeHdMTFFV?tab=000003......
  • linux - GPG 非对称加密工具
    GNUPrivacyGuard(GPG)是一种主要设计用于使用公钥加密技术对数据进行加密和签名的工具。然而,它还包含仅使用用户提供的密码来加密数据的能力,并且支持多种加密算法。1.查看gpg支持的算法gpg--version2.生成密钥#使用默认选择gpg--generate-key#更灵活的算法选择g......
  • 腾讯云2核4G轻量服务器应用场景详解:2024年5M带宽服务器测评与优惠活动大放送
     随着云计算技术的日益成熟,腾讯云推出的2核4G5M轻量应用服务器已成为众多用户的首选。那么,这款服务器究竟能干什么?适用哪些场景呢?腾讯云2核4G5M轻量应用服务器,凭借其出色的性能与合理的价格,已成为性价比极高的云服务器产品。对于大部分个人使用需求,如网页浏览、在线视频播放......
  • 腾讯云服务器优惠购买攻略:2024年新手详细购买流程指南
     随着云计算技术的日益发展,越来越多的企业和个人开始选择云服务器来满足其数据存储和处理需求。作为国内领先的云服务提供商,腾讯云以其稳定的服务和强大的性能获得了广大用户的青睐。那么,如何在腾讯云上购买服务器呢?下面就来为大家详细介绍腾讯云服务器的购买流程。首先,你需......
  • 云服务器6M带宽够不够用?2024年并发承载能力及优惠活动一览
    当我们探讨云服务器的性能时,带宽是一个不可忽视的关键指标。很多朋友在选择云服务器时,会对6M带宽的配置产生疑问:这样的带宽究竟能支持多少人同时访问呢?以常见的网站应用为例,一旦有大量用户涌入,公网带宽往往会成为瓶颈。具体来说,6M带宽的下载速度理论上可以达到768KB/秒。假如......
  • 2024年腾讯云免费服务器领取攻略:专区优惠福利活动全解析
    随着互联网的日益发展,云服务器成为了企业和个人用户的首选。作为国内领先的云服务提供商,腾讯云不仅提供了高性能、稳定的云服务器,还为新注册的用户准备了丰厚的福利。其中,最吸引人的莫过于免费云服务器的体验机会。腾讯云免费云服务器,是腾讯云为新注册的个人和企业用户精心准......
  • 【附源码】计算机毕业设计在线教育平台(java+springboot+mysql+mybatis+论文)
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义在数字化时代背景下,传统教育模式正在逐渐向在线教育转型。一个高效的在线教育平台不仅可以突破时间和空间的限制,提供灵活多样的学习方式,还能够实现个性化教育资源......
  • linux文件权限管理1
    id+用户名可以查看用户详细信息这里第一个rw-代表属主对应权限,可读可写,第二个r--代表属组权限,即可读,第三个r--代表其他人,后面第一个root代表用户,第二个root代表用户组开头的-代表为普通文件,其他类型还有l软链接,d文件夹 在这里,我们创建了try.sh文件,并且在执行过程中发现没......