Linux安装jdk、mysql、并部署Springboot项目
- 😜作 者:是江迪呀
- ✒️本文关键词:
Linux
、环境安装
、JDK安装
、MySQL
、MySQL安装
- ☀️每日 一言:
知行合一!
文章目录
- 一、前言
- 二、安装步骤
- 2.1 安装`JDK`
- (1)创建文件夹(便于后期管理)
- (2)下载`tar`格式的JDK文件。下载地址:[JDK17下载](https://www.oracle.com/java/technologies/downloads/#java17)
- (3)并将`tar`文件传输到`linux`服务器。上传文件到服务器有两种方式:
- (4)加压`tar`文件
- (5)删除`tar`文件
- (6)获取当前解压目录
- (7)设置全局配置
- (8)重加载一下profile文件
- (9)验证`JDK`是否安装成功
- 2.2 安装MySQL
- (1)下载`MySQL`文件
- (2) 安装`MySQL`
- (3)安装mysql服务器
- (4)启动`MySQL`
- (5)查看`MySQL`状态
- (6)找到初始密码
- (7)进入`MySQL`
- (8)修改密码
- (9)防止`MySQL`自动更新
- (9)本地连接`MySQL`
- 2.3 部署SpringBoot项目
- (1)打包
- (2)启动项目
- (3)访问项目
- 三、总结:
一、前言
在本篇文章中,我们将探索如何在Linux操作系统上安装JDK(Java Development Kit)和MySQL数据库,并最终部署一个基于Spring Boot框架开发的应用程序。JDK是Java编程语言的核心组件,而MySQL则是一个流行的开源关系型数据库管理系统。通过本指南,您将了解如何为您的开发环境配置这些关键工具,并将Spring Boot应用程序部署到Linux服务器上。
二、安装步骤
2.1 安装JDK
(1)创建文件夹(便于后期管理)
在/usr/local/下面创建java文件夹
mkdir /usr/local/java
(2)下载tar
格式的JDK文件。下载地址:JDK17下载
(3)并将tar
文件传输到linux
服务器。上传文件到服务器有两种方式:
- 通过
Xftp
上传:
这个软件收费,所以并不是所有的小伙伴都有条件。所以有下面的免费的方案二。 - 使用
rz
命令上传:
在使用这个命令之前你必须确保linux
已经安装了lrzsz
,安装命令如下:
sudo apt-get update
sudo apt-get install lrzsz
然后敲出rz
命令就可以上传文件了,上传文件的目录是当前目录:
rz
(4)加压tar
文件
tar -zxvf 目标JDK
(5)删除tar
文件
我们要过河拆桥,解压过后,为了避免占用不必要的空间,应当将tar
文件删除,只保留解压后的文件,删除命令:
rm -rf 目标JDK.tar
(6)获取当前解压目录
pwd
(7)设置全局配置
进入全局配置文件命令:
vim /etc/profile
在文件的末尾添加JDK
配置:
export JAVA_HOME=[JDK安装路径]
export CLASSPATH=.:$JAVA_HOME/lib/dt.:jar$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
保存并退出。
按下 Esc 键以确保您处于命令模式。
:wq
并按下 Enter 键,它会保存文件并退出Vi/Vim
编辑器。
(8)重加载一下profile文件
source /etc/profile
(9)验证JDK
是否安装成功
javac
输出下面的内容表示安装成功:
2.2 安装MySQL
(1)下载MySQL
文件
下载安装MySql
官方的Yum Repository
(注意:在CentOS中默认安装有MariaDB,这个事MySQL
的分支,但是为了需要,还是要在系统中,安装mysql,而且安装完之后可以直接覆盖掉MariaDB)
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
如果没有wget ,可以安装一下:
sudo yum -y install wget
使用上面的命令就直接下载了安装用的Yum Repository,然后就可以直接安装了。
(2) 安装MySQL
yum -y install mysql57-community-release-el7-10.noarch.rpm
(3)安装mysql服务器
yum -y install mysql-community-server
这可能会花费一点时间,安装完成之后就会覆盖掉之前mariaDB
如果在安装过程中出现以下错误提示:
Failing package is: mysql-community-client-5.7.40-1.el7.x86_64
GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
则需要禁掉GPG验证检查:
yum -y install mysql-community-server --nogpgcheck
(4)启动MySQL
systemctl start mysqld.service
(5)查看MySQL
状态
systemctl status mysqld.service
展示下面的内容表示,MySQL
启动成功:
可能会出现的问题:启动和查看MySQL
状态使用的命令无效。这样可能是因为Linux
的版本太低,不支持,(4)和(5)命令仅在CentOS7
以及更高版本支持。
(6)找到初始密码
可以通过下面的命令找到初始密码:
cd /var/log // 进入log文件夹
ll|grep mysqld.log
cat mysqld.log|grep password
下面显示的就是原始密码:
(7)进入MySQL
找到mysql初始密码后,进入mysql 命令:
mysql -uroot -p
Enter然后输入密码。
(8)修改密码
alter user ‘root’@’localhost‘ identified by ’新密码‘
如果你修改的密码过于简单,是不被允许的,如果你比较叛逆,非要简单的密码,你可以除这个限制:
mysql>set global validate_password_policy=0;
musql>set global validate_password_length=1;
(9)防止MySQL
自动更新
因为安装了Yum Repository,以后每次Yum操作都会自动更新,所以需要卸载,命令:
yum -y remove mysql57-community-release-el7-10.noarch
(9)本地连接MySQL
- 确保你可以开了
3306
端口。开通端口命令如下:
firewall-cmd --permanent --add-port=3306/tcp
firewall-cmd --reload
firewall-cmd --list-all
- 修改权限,允许远程链接数据库。
GRANT ALL PRIVILEGES ON *.* TO 'yourusername'@'%' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
刷新权限
flush privileges
我上面设置的全部IP
在知道账号密码的前提下都能够连接,不太安全,你可以开放指定的IP
:
GRANT ALL PRIVILEGES ON *.* TO 'yourusername'@'指定的IP' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
2.3 部署SpringBoot项目
假设你一个项目已经写好,万事俱备,只欠部署!我这里展示下最原始的部署方式:
(1)打包
找到maven
打包:
将jar
包上传到服务器,上传的方式和JDK
一样。
(2)启动项目
nohup java -jar 项目名称 >日志文件名.log 2>&1 &
上面的命令是后台启动并将日志文件输出到指定文件夹。
(3)访问项目
在浏览器输入服务器IP
+端口号 就可以访问啦~。
三、总结:
以上就是安装JDK
、MySQL
并启动一个SpringBoot
项目的全部内容啦~
但是在实际开发中,操作的步骤会出入很大。比如部署SpringBoot
项目,不会是像我讲的这样,因为这样的方式太原始,效率太低,对于发版比较频繁的测试分支,这样搞那简直是噩梦,所以诞生了Jenkins
,或者是Docker
。
Jenkins
的详细部署全教程我已经写过了,连接在此:Jenkins安装+Springboot项目完整部署流程(超详细)
关于使用Docker
部署的,等我吃个50
个汉堡再说吧~
相关文章:

Linux安装jdk、mysql、并部署Springboot项目
😜作 者:是江迪呀✒️本文关键词:Linux、环境安装、JDK安装、MySQL、MySQL安装☀️每日 一言:知行合一! 文章目录 一、前言二、安装步骤2.1 安装JDK(1)创建文件夹(便于后…...

tomcat更改端口号和隐藏端口号
因为默认端口:8080不会自动隐藏,因此为了更显格调需要将其改为:80 进入tomcat的server文件 将其改为80,之后将tomcat重新启动即可 tomcat启动流程 [rootshang ~]# cd /usr/local/tomcat/apache-tomcat-8.5.92 [rootshang apache-tomcat-8.5.92]# cd b…...

生信分析Python实战练习 2 | 视频19
开源生信 Python教程 生信专用简明 Python 文字和视频教程 源码在:https://github.com/Tong-Chen/Bioinfo_course_python 目录 背景介绍 编程开篇为什么学习Python如何安装Python如何运行Python命令和脚本使用什么编辑器写Python脚本Python程序事例Python基本语法 数…...

wps设置其中几页为横版
问题:写文档的时候,有些表格列数太多,页面纵向显示内容不完整,可以给它改成横向显示。 将鼠标放在表格上一页的底部,点击‘插入-分页-下一页分节符’。 将鼠标放在表格页面的底部,点击‘插入-分页-下一页分…...
如何在Ubuntu 22.04上安装PHP 8.1并设置本地开发环境
引言 PHP是一种流行的服务器脚本语言,用于创建动态和交互式web页面。开始使用你选择的语言是学习编程的第一步。 本教程将指导您在Ubuntu上安装PHP 8.1,并通过命令行设置本地编程环境。您还将安装依赖管理器Composer,并通过运行脚本来测试您…...

wazuh安装与使用
目录 一、wazuh安装 二、wazuh使用 一、wazuh安装 下载:https://wazuh.com 可以直接安装OVA这个,然后导入到Linux中就可以使用了。 导入完毕后开启,使用远程连接工具进行连接,出现以下画面则成功了。 之后可以看一下图形化界面…...

Vue 3 常见面试题汇总
前端面试题库 (面试必备) 推荐:★★★★★ 地址:前端面试题库 前言 最近两年许多大厂都在实行“降本增效”、“优化组织架构”,然后“为社会输送了大量人才”,今年(2023ÿ…...

Docker是什么?详谈它的框架、使用场景、优势
作者:Insist-- 个人主页:insist--个人主页 作者会持续更新网络知识和python基础知识,期待你的关注 目录 一、什么是 Docker? 二、Docker 的架构 1、Docker客户端 2、Docker守护进程 3、Docker镜像 4、Docker容器 5、Docker…...

neo4j
UNWIND 将列表里的值展开 CREATE (N0:Person {name: Anders}) CREATE (N1:Person {name: Becky}) CREATE (N2:Person {name: Cesar}) CREATE (N3:Person {name: Dilshad}) CREATE (N4:Person {name: George}) CREATE (N5:Person {name: Filipa})CREATE (N0)-[:KNOWS]->(N3)…...
【项目 计网5】 4.15 TCP通信实现(服务器端)4.16 TCP通信实现(客户端)
文章目录 4.15 TCP通信实现(服务器端)4.16 TCP通信实现(客户端) 4.15 TCP通信实现(服务器端) // TCP 通信的服务器端// TCP 通信的服务器端 #include <stdio.h> #include <arpa/inet.h> #incl…...

windows可视化界面管理服务器上的env文件
需求:在 Windows 环境中通过可视化界面编辑位于 Linux 主机上的 env 文件的情况,我现在环境是windows环境,我的env文件在linux的192.168.20.124上,用户是op,密码是op,文件绝对路径是/home/op/compose/env …...

自然语言处理在智能客服和聊天机器人中的应用
文章目录 1. 引言2. NLP基础2.1 词法分析2.2 语法分析2.3 语义理解2.4 情感分析 3. 智能客服中的应用3.1 自动问答3.2 意图识别3.3 情感分析与情绪识别 4. 聊天机器人中的应用4.1 对话生成4.2 上下文理解 5. 技术原理与挑战5.1 语言模型5.2 数据质量和多样性5.3 上下文理解 6. …...

为什么不建议使用@Async注解创建线程
1 前言 在很久很久之前,我有一段痛苦的记忆。那种被故障所驱使的感觉,在我脑海里久久无法驱散。 原因无它,有小伙伴开启了线程池的暴力使用模式。没错,就是下面这篇文章。 夺命故障 ! 炸出了投资人! 我有必要简单的…...
更新Ubuntu18.04上的CUDA和GCC
问题: 有一台服务器的GPU是1080,有八张卡,已经好久没有人用了。cuda版本是10.1,我现在拿来复现一些论文的模型,经常遇到版本依赖问题,报错Driver is too old。所以要更新一下驱动。遇到的主要问题是gcc版本也太低了&am…...

算法通过村第6关【青铜】| 如何通过中序和后序遍历恢复二叉树
中序:3 4 8 6 7 5 2 1 10 9 11 15 13 14 12 后序:8 7 6 5 4 3 2 10 15 14 13 12 11 9 1 通过这两个遍历顺序恢复二叉树 首先我们知道中序遍历顺序左中右,后序遍历顺序左右中 第一步: 由后序遍历确定根结点为1 > 由中序遍历…...
高斯牛顿法和LM算法异同示例
LM(Levenberg-Marquardt)算法和高斯牛顿(Gauss-Newton)算法是两种用于非线性最小二乘问题的优化算法,它们也有一些相似之处: 迭代优化:LM算法和高斯牛顿算法都使用迭代的方式来优化参数值&#…...

奥威BI财务数据分析方案:只做老板想看的
奥威BI财务数据分析方案是一套从老板的视角出发,做老板想看的财务数据分析报表,帮助老板更好地了解公司的财务状况和经营绩效的综合性智能财务数据分析方案,可实现财务数据分析可视化、灵活自主性,随时为老板提供最为直观的财务数…...

opencv进阶19-基于opencv 决策树cv::ml::DTrees 实现demo示例
opencv 中创建决策树 cv::ml::DTrees类表示单个决策树或决策树集合,它是RTrees和 Boost的基类。 CART是二叉树,可用于分类或回归。对于分类,每个叶子节点都 标有类标签,多个叶子节点可能具有相同的标签。对于回归,每…...
Unity通过TCP/IP协议进行通信
uinty项目中需要与C编写的硬件进行通信,因此采用TCP/IP协议进行通信,主要实现了与服务器的连接、通信内容的发送以及断开连接等功能。 根据确定好的协议格式,编写需要发送的内容,将其转为字节流(byte[])通过…...
基于VuePress搭建知识库
我这边需要搭建一个运维知识库,将项目的方方面面记录下来,方便新手接手运维。 准备环境 Nginx 1.19.0VuePress 1.xMinio RELEASE.2022-02-16T00-35-27Zvuepress-theme-vdoing主题 安装VuePress 根据官网步骤即可 # 创建目录 mkdir vuepress-starter…...
Linux简单的操作
ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...
力扣-35.搜索插入位置
题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...
JavaScript基础-API 和 Web API
在学习JavaScript的过程中,理解API(应用程序接口)和Web API的概念及其应用是非常重要的。这些工具极大地扩展了JavaScript的功能,使得开发者能够创建出功能丰富、交互性强的Web应用程序。本文将深入探讨JavaScript中的API与Web AP…...

Netty从入门到进阶(二)
二、Netty入门 1. 概述 1.1 Netty是什么 Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. Netty是一个异步的、基于事件驱动的网络应用框架,用于…...

在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)
考察一般的三次多项式,以r为参数: p[z_, r_] : z^3 (r - 1) z - r; roots[r_] : z /. Solve[p[z, r] 0, z]; 此多项式的根为: 尽管看起来这个多项式是特殊的,其实一般的三次多项式都是可以通过线性变换化为这个形式…...
NPOI Excel用OLE对象的形式插入文件附件以及插入图片
static void Main(string[] args) {XlsWithObjData();Console.WriteLine("输出完成"); }static void XlsWithObjData() {// 创建工作簿和单元格,只有HSSFWorkbook,XSSFWorkbook不可以HSSFWorkbook workbook new HSSFWorkbook();HSSFSheet sheet (HSSFSheet)workboo…...
Qt 事件处理中 return 的深入解析
Qt 事件处理中 return 的深入解析 在 Qt 事件处理中,return 语句的使用是另一个关键概念,它与 event->accept()/event->ignore() 密切相关但作用不同。让我们详细分析一下它们之间的关系和工作原理。 核心区别:不同层级的事件处理 方…...

Vue ③-生命周期 || 脚手架
生命周期 思考:什么时候可以发送初始化渲染请求?(越早越好) 什么时候可以开始操作dom?(至少dom得渲染出来) Vue生命周期: 一个Vue实例从 创建 到 销毁 的整个过程。 生命周期四个…...
【SpringBoot自动化部署】
SpringBoot自动化部署方法 使用Jenkins进行持续集成与部署 Jenkins是最常用的自动化部署工具之一,能够实现代码拉取、构建、测试和部署的全流程自动化。 配置Jenkins任务时,需要添加Git仓库地址和凭证,设置构建触发器(如GitHub…...
第八部分:阶段项目 6:构建 React 前端应用
现在,是时候将你学到的 React 基础知识付诸实践,构建一个简单的前端应用来模拟与后端 API 的交互了。在这个阶段,你可以先使用模拟数据,或者如果你的后端 API(阶段项目 5)已经搭建好,可以直接连…...