springboot项目后台运行关闭_springboot项目在服务器上部署过程(新手教程)

环境:

服务器系统:ubuntu16

jdk

mysql

工具 
xshell6下载地址:https://www.netsarang.com/download/down_form.html?code=622&downloadType=0&licenseType=1
xftp6下载地址:https://www.netsarang.com/download/down_form.html?code=623&downloadType=0&licenseType=1
下载jdk1.8包地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

一 安装jdk

1 下载jdk包,根据服务器下载相应位数的jdk

官网下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

2 在linux服务器下创建目录:usr/java

 68af946e665789ec537631c61d9dc658.png

3 将jdk的包通过xftp复制到usr/java文件夹下

 bd3337875aa0bce16dbc7b31ca5862c5.png

4 进入usr/java目录下,执行命令执行 tar zxvf jdk-8u171-linux-x64.tar.gz  解压jdk包

 c7abb380a16089bb03ad276224576c39.png

解压完成在usr/java目录下会生成文件夹如下:

 97e889dd345fc0b372057fcb9f6cfa3f.png

5 配置环境变量

打开控制台输入命令 vi /etc/profile ,会出现profile文档内容,点击i进入编辑模式,在文档最后插入如下代码:

JAVA_HOME=/usr/java/jdk1.8.0_171

CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH

完成后,按下Esc,再输入:wq(注意是输入冒号和wq,意思是退出并保存)

 2da481e0b1ce4faf813e4c357b12cdc5.png

6 运行 source /etc/profile使配置环境生效

7运行java -version,若出现jdk版本号则配置成功

 7fefaac5932a5e94b63730cc994f3959.png

二 安装mysql

1 更新系统

apt-get update

2 安装mysql-server

apt-get install mysql-serverapt-get isntall mysql-clientapt-get install libmysqlclient-dev

3使用命令查询是否安装成功

 dc467673a359c923460333edcfe6384c.png

三 导入数据库脚本

Mysql数据库安装成功后,接着就是进入数据库创建我们项目所需的数据库,

1 输入命令mysql -u root -p,再输入密码,可直接回车键(按照上述安装完后似乎没有设置密码,本文档后面会有设置密码命令),进入数据库如下

 986a9e31bcbc44f4207b32d78cc2da4b.png

2 创建数据库,命令为create database 数据库名(注意:在执行数据库语句后面记得加;结尾)

 7eacbf6f0b7904e7906d0c1f5d7a4bd7.png

3查看数据库 show databases;

 ecf2b9cf72903b43d4d798981126081f.png

4 导入数据库脚本

将项目的sql文件通过xftp复制到系统的目录下

 4c15309e481842aaa7059b63f7f7a546.png

2连接数据库,打开所使用的数据库,命令use 数据库名

 d14e8fc7c5bb17b01121f9e44d2bc496.png

3 导入脚本文件

 89daab7976dcc88e755352a507bb4875.png

执行成功样式如下:

 4dddd2577110d978df670f33e7615f42.png

四  运行项目

1 将springboot项目打成jar包,通过xftp复制到系统/usr/java目录下

 c4b0f4e4dff388ef3e8f20ff6b050205.png

2 控制台进入jar包所在目录

 ee22370b09ac5128f2b956c925e7574d.png

3 运行jar ,命令java -jar  jar包名称

e3fefb060e845e0160ce930f307f9f6e.png

4开启数据库服务,service mysql start;

 1fb49f4140ebc8c3076b37c437e54a99.png

五 实用知识点

5.1在ubuntu16安装mysql,但安装时没有提示输入root用户密码

解决方法如下:

1 进入mysql数据库,use mysql

2 更改密码

 update user set authentication_string=PASSWORD("这里输入你要改的密码") where User='root'; #更改密码

update user set plugin="mysql_native_password"; #如果没这一行可能也会报一个错误,因此需要运行这一行

3 更新所有操作权限

flush privileges;

4 离开

quit;

5.2运行进程查看

查看当前运行进程 ps

查看端口属于那个进程lsof -i:80

结束进程 kill -9 进程id

查看端口使用情况 netstat -tln

查看指定端口netstat -tln | grep 80

5.3 jar包运行

方法一:java -jar jar包名   (这样ssh窗口被锁定,直接关闭窗口,ctrl+c打断程序运行)

方法二:java -jar jar包名  &   (&表示在后台运行,ssh窗口不被锁定,但窗口关闭程序终止运行)

方法三:nohup java -jar jar包名 &  (关闭窗口,用户退出登录程序仍然运行,但执行nohup命令时,缺省情况下输出作业被重定向到nohup.out文件中,除非指定文件位置)

方法四: nohup java -jar jar包名 & >a.txt

解释下 >temp.txt

command >out.file

command >out.file是将command的输出重定向到out.file文件,即输出内容不打印到屏幕上,而是输出到out.file文件中。

可通过jobs命令查看后台运行任务

jobs

那么就会列出所有后台执行的作业,并且每个作业前面都有个编号。

如果想将某个作业调回前台控制,只需要 fg + 编号即可。

fg 23

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/542062.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何在React Native中使用文本输入组件?

You know, an app becomes more authentic and professional when there is the interaction between the app and the user. 您知道,当应用程序与用户之间存在交互时,该应用程序将变得更加真实和专业。 The text input component in react-native brin…

lvs负载均衡—NAT模式

NAT模式原理图 Virtual Server via NAT : 用地址翻译实现虚拟服务器,地址转换器有能被外界访问到的合法IP地址,它修改来自专有网络的流出包的地址,外界看起来包是来自地址转换器本身,当外界包送到转换器时,它能判断出应该将包送到内部网的哪个节点。 优点是节省IP …

Django1.9开发博客06- 模板继承

模板继承就是网站的多个页面可以共享同一个页面布局或者是页面的某几个部分的内容。通过这种方式你就需要在每个页面复制粘贴同样的代码了。 如果你想改变页面某个公共部分,你不需要每个页面的去修改,只需要修改一个模板就行了,这样最大化复用…

乐高机器人亮剑_2500名选手大比拼 全球机器人广州从化“亮剑”

导读:国际机器人从化总动员学生自己编程、拼装的机器人既能像相扑手一样摔跤,又能像蜘蛛侠一样爬上爬下。还有智能垃圾处理系统,瞄准城市垃圾分类下的“痛点”。在2019RoboRAVE国际教育机器人大会全球总决赛的现场,只有想不到&…

python 编码问题_Python电源挑战| 竞争编码问题

python 编码问题Question: 题: A power function is that positive number that can be expressed as x^x i.e x raises to the power of x, where x is any positive number. You will be given an integer array A and you need to print if the elements of arr…

lvs负载均衡—高可用集群(keepalived)

基本概念: 什么是Keepalived呢,keepalived观其名可知,保持存活,在网络里面就是保持在线了,也就是所谓的高可用或热备,用来防止单点故障(单点故障是指一旦某一点出现故障就会导致整个系统架构的不可用)的发…

定期定量采购_企业常见的六种采购策略

注册职业采购经理CPPM考试网​www.apscppm.com对不起,我是采购合同生效的条件是什么?怎样制定谈判方案?如何在采购时让供应商听你的指挥!没做预算不能采购,应该作为企业采购管理的基本原则。编制现金预算就是要解决收入…

stringreader_Java StringReader markSupported()方法与示例

stringreaderStringReader类markSupported()方法 (StringReader Class markSupported() method) markSupported() method is available in java.io package. markSupported()方法在java.io包中可用。 markSupported() method is used to check whether this StringReader strea…

pacemaker+corosync实现集群管理

前言: 高可用集群,是指以减少服务中断(如因服务器宕机等引起的服务中断)时间为目的的服务器集群技术。简单的说,集群就是一组计算机,它们作为一个整体向用户提供一组网络资源。这些单个的计算机系统就是集群的节点。 …

分页导航的实现方法

这个导航是阅读了精通css这本书后做的demo&#xff0c;感觉以前写的真的是弱爆了 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Document</title><style type"text/css">ol.n…

更换mysql_这些被你忽视的MySQL细节,可能会让你丢饭碗!

我们在 MySQL 入门篇主要介绍了基本的 SQL 命令、数据类型和函数&#xff0c;在具备以上知识后&#xff0c;你就可以进行 MySQL 的开发工作了&#xff0c;但是如果要成为一个合格的开发人员&#xff0c;你还要具备一些更高级的技能&#xff0c;下面我们就来探讨一下 MySQL 都需…

Java RandomAccessFile skipBytes()方法与示例

RandomAccessFile类skipBytes()方法 (RandomAccessFile Class skipBytes() method) skipBytes() method is available in java.io package. skipBytes()方法在java.io包中可用。 skipBytes() method is used to skip the given number of bytes in this file and possibly set …

rhcs集群套件—红帽6的高可用

含义及理解&#xff1a; RHCS是Red Hat Cluster Suite的缩写&#xff0c;也就是红帽子集群套件&#xff0c;RHCS是一个能够提供高可用性、高可靠性、负载均衡、存储共享且经济廉价的集群工具集合&#xff0c;&#xff0c;它将集群系统中三大集群架构&#xff08;高可用性集群、…

MapReduce二次排序

2019独角兽企业重金招聘Python工程师标准>>> 默认情况下&#xff0c;Map输出的结果会对Key进行默认的排序&#xff0c;但是有时候需要对Key排序的同时还需要对Value进行排序&#xff0c;这时候就要用到二次排序了。下面我们来说说二次排序 1、二次排序原理 我们把二…

数据有序_详解数据库插入性能优化:合并+事务+有序数据进行INSERT操作

概述对于一些数据量较大的系统&#xff0c;数据库面临的问题除了查询效率低下&#xff0c;还有就是数据入库时间长。特别像报表系统&#xff0c;每天花费在数据导入上的时间可能会长达几个小时或十几个小时之久。因此&#xff0c;优化数据库插入性能是很有意义的。其实最有效的…

Java ProcessBuilder environment()方法与示例

ProcessBuilder类的environment()方法 (ProcessBuilder Class environment() method) environment() method is available in java.lang package. environment()方法在java.lang包中可用。 environment() method is used to return Map interfaces of this process builder env…

容器内应用日志收集方案

容器化应用日志收集挑战 应用日志的收集、分析和监控是日常运维工作重要的部分&#xff0c;妥善地处理应用日志收集往往是应用容器化重要的一个课题。 Docker处理日志的方法是通过docker engine捕捉每一个容器进程的STDOUT和STDERR&#xff0c;通过为contrainer制定不同log dri…

python统计行号_利用Python进行数据分析(第三篇上)

上一篇文章我记录了自己在入门 Python 学习的一些基础内容以及实际操作代码时所碰到的一些问题。这篇我将会记录我在学习和运用 Python 进行数据分析的过程&#xff1a;介绍 Numpy 和 Pandas 两个包运用 Numpy 和 Pandas 分析一维、二维数据数据分析的基本过程实战项目【用 Pyt…

lnmp架构搭建—源码编译(nginx、mysql、php)

含义及理解&#xff1a; LNMP LinuxNginxMysqlPHP&#xff1a;LNMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写。L指Linux&#xff0c;N指Nginx&#xff0c;M一般指MySQL&#xff0c;也可以指MariaDB&#xff0c;P一般指PHP&#xff0c;也可以指P…

Java PipedInputStream available()方法与示例

PipedInputStream类的available()方法 (PipedInputStream Class available() method) available() method is available in java.io package. available()方法在java.io包中可用。 available() method is used to return the number of available bytes left that can be read …