在阿里云上部署Springboot项目

news/2024/5/21 1:34:06/文章来源:https://blog.csdn.net/mingiao/article/details/131609291

文章目录

      • 环境准备
        • 1.安装jdk
        • 2.安装mysql
        • 3.开启端口
      • 上传项目
        • 1.数据库上传
        • 2.项目上传

环境准备

1.安装jdk

  • 查看系统中原来是否含有java环境
rpm -qa |grep java
rpm -qa |grep jdk
rpm -qa |grep gcj

其中,gcj是一个轻巧的,性能优越的Java语言编译器。它能够将Java源文件编译为Java字节码文件或者直接将Java源文件编译为本地机器码,它也能够将Java字节码文件编译为本地机器码。

如果存在自带的相关环境,需要删除再执行后面的操作:

rpm -qa | grep java | xargs rpm -e --nodeps 

  • 查看可用的openjdk版本
yum search java | grep -i --color jdk

  • 安装openjdk1.8.0版本(可自选),中间出现停顿问is this [y/N],选y
 yum install java-1.8.0-openjdk*

  • 查看jdk安装,出现以下信息则安装成功
java -version

在这里插入图片描述


  • jdk变量配置,使用vim /etc/profile编辑,将以下配置复制到profile中,其中注意JAVA_HOME中的jdk版本要一致
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64
JRE_HOME=$JAVA_HOME/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH

输入:wq保存退出后,执行以下命令,让配置生效

source /etc/profile



2.安装mysql

  • 查看版本:有则需要卸载
rpm -qa|grep mariadb #MySQL 的一个分支,主要由开源社区维护。rpm -qa|grep mysql

  • 卸载
rpm -e --nodeps 文件名

  • 下载,在/usr/local/目录下执行
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz

  • 解压
# .tar.gz 后缀
tar -zxvf 文件名# .tar.xz 后缀
tar -Jxvf 文件名
tar -Jxvf mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz

  • 重命名
# 重命名(也可通过Xftp修改)
mv 原文件夹名 mysql8# 软链接
ln -s 文件夹名 mysql8
mv mysql-8.0.20-linux-glibc2.12-x86_64 mysql8

  • 创建用户组
groupadd mysql
useradd -r -g mysql mysql
  • 修改配置

临时生效:export 命令(连接会话关闭后失效,通常用于测试环境)

export PATH=$PATH:/usr/local/mysql8/bin

创建目录

mkdir -p /data/mysql8_data

赋予权限

# 更改属主和数组
chown -R mysql:mysql /data/mysql8_data# 更改模式
chmod -R 750 /data/mysql8_data

永久生效:修改配置文件。
vim /usr/local/etc/my.cnf

配置内容

[mysql]
# 默认字符集
default-character-set=utf8mb4
[client]
port       = 3306
socket     = /tmp/mysql.sock
[mysqld]
port       = 3306
server-id  = 3306
user       = mysql
socket     = /tmp/mysql.sock
# 安装目录
basedir    = /usr/local/mysql8
# 数据存放目录
datadir    = /data/mysql8_data/mysql
log-bin    = /data/mysql8_data/mysql/mysql-bin
innodb_data_home_dir      =/data/mysql8_data/mysql
innodb_log_group_home_dir =/data/mysql8_data/mysql
# 日志及进程数据的存放目录
log-error =/data/mysql8_data/mysql/mysql.log
pid-file  =/data/mysql8_data/mysql/mysql.pid
# 服务端字符集
character-set-server=utf8mb4
lower_case_table_names=1
autocommit =1
##### 以上涉及文件夹明,注意修改
skip-external-locking
key_buffer_size = 256M
max_allowed_packet = 1M
table_open_cache = 1024
sort_buffer_size = 4M
net_buffer_length = 8K
read_buffer_size = 4M
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 64M
thread_cache_size = 128
#query_cache_size = 128M
tmp_table_size = 128M
explicit_defaults_for_timestamp = true
max_connections = 500
max_connect_errors = 100
open_files_limit = 65535
binlog_format=mixed
binlog_expire_logs_seconds =864000
# 创建表时使用的默认存储引擎
default_storage_engine = InnoDB
innodb_data_file_path = ibdata1:10M:autoextend
innodb_buffer_pool_size = 1024M
innodb_log_file_size = 256M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
transaction-isolation=READ-COMMITTED
[mysqldump]
quick
max_allowed_packet = 16M
[myisamchk]
key_buffer_size = 256M
sort_buffer_size = 4M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout

初始化
  • --defaults-file:指定配置文件(要放在–initialize 前面)
  • --user: 指定用户
  • --basedir:指定安装目录
  • --datadir:指定初始化数据目录
  • --intialize-insecure:初始化无密码(否则生成随机密码)
mysqld --defaults-file=/usr/local/etc/my.cnf --basedir=/usr/local/mysql8 --datadir=/data/mysql8_data/mysql --user=mysql --initialize-insecure

  • 启动
# 完整命令
/usr/local/mysql8/bin/mysqld_safe --defaults-file=/usr/local/etc/my.cnf &
# 若添加了PATH变量,可省略如下
mysqld_safe --defaults-file=/usr/local/etc/my.cnf &

确认启动
ps -ef|grep mysql

  • 登录

无密码:若以 --initialize-insecure 初始化,首次登录时跳过密码。

mysql -u root --skip-password

有密码:若初始化时设置了随机密码,在 /data/mysql8_data/mysql/mysql.log 查看

mysql -u root -p

  • 修改密码

进入mysql用户:

# 修改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';# 刷新权限
FLUSH PRIVILEGES;

Linux命令:

mysqladmin -u用户名 -p旧密码 password 新密码

  • 修改访问权限

查看用户

USE mysql;SELECT user,host,plugin,authentication_string FROM user;

创建用户,设置远程访问权限

# 创建用户
CREATE user 'root'@'%';# 设置首次密码
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';# 授权用户所有权限,刷新权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
FLUSH PRIVILEGES;

3.开启端口

登录阿里云,找到工作台–云服务器ECS–安全组–配置规则

将需要用到的端口号配置进去

在这里插入图片描述



上传项目

1.数据库上传

使用navicat远程连接数据库(服务器ip+3306端口),将本地数据导出,导入到服务器的数据库上

在这里插入图片描述


2.项目上传

  • 在项目的pom.xml中添加
<packaging>jar</packaging>

在这里插入图片描述

在application.yml中将数据库连接改成服务器中的数据库设置,并注意此处的端口号需要在阿里云的安全组中配置。

在这里插入图片描述

启动项目,先在本地测试能不能打开项目,并访问服务器上的数据库,如果可以,则进行下一步,不然就检查一下数据库配置和防火墙配置。

  • 关闭项目,在maven–Lifecycle这里找到package,双击打包

在这里插入图片描述

在该项目路径的target中找到jar包

在这里插入图片描述

  • 使用xftp工具,将jar包上传到根目录

在这里插入图片描述

  • 使用java指令运行jar包
java -jar ***.jar ``//``***为你的jar包名
java -jar blog-0.0.1-SNAPSHOT.jar //普通运行,关掉xshell,或者ctrl+z/ctrl+c都会关闭项目
nohup -jar blog-0.0.1-SNAPSHOT.jar & //不中断运行,只有关闭服务项目才会停止

netstat -lnp|grep 端口号
kill 进程号 //关闭进程服务

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

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

相关文章

基于深度学习的高精度球场足球检测识别系统(PyTorch+Pyside6+YOLOv5模型)

摘要&#xff1a;基于深度学习的高精度球场足球检测识别系统可用于日常生活中或野外来检测与定位球场足球目标&#xff0c;利用深度学习算法可实现图片、视频、摄像头等方式的球场足球目标检测识别&#xff0c;另外支持结果可视化与图片或视频检测结果的导出。本系统采用YOLOv5…

【考研408计算机组成原理】第三章存储系统 第五节cache

3.5.1工作原理 局部性原理&#xff1a;在最近可能会使用到周围的数据和指令。 性能分析&#xff1a;访问数据的时间 例题&#xff1a; 提出问题 知识总结 3.5.2 cache和主存的映射方式 3.5.3 替换算法 3.5.4 cache写策略

确保无缝、安全的云转型

随着云计算继续主导数字化转型&#xff08;这是理所当然的&#xff09;&#xff0c;组织面临着双重挑战&#xff1a;将运营无缝转移到云并确保这种转型的安全。 虽然云的采用保证了可扩展性、成本效率和生产力的提高&#xff0c;但保持警惕对于组织防范网络安全威胁和安全漏洞…

Nuxt3引入Element-plus和sass

1.引入Element-plus 打开编辑器终端 运行npm install element-plus/nuxt 或者命令行cd到项目文件 运行npm install element-plus/nuxt package.json文件会出现 使用Element-plus 在nuxt.config.ts文件添加代码 export default defineNuxtConfig({devtools: { enabled: true }…

<数据结构>NO9.选择类排序|直接选择排序|堆排序

文章目录 选择排序1.直接选择排序优化直接选择排序 2. 堆排序 选择排序 基本思想 选组排序是从待排序数据中选出最大/最小的元素放入到序列的起始位置&#xff0c;直到待排序数据全部有序。 直接选择排序和堆排序的基本思想均符合选择排序。 1.直接选择排序 假设数据按升序…

深入理解java虚拟机精华总结:硬件的效率与一致性、Java内存模型、Java与线程、Java与协程

深入理解java虚拟机精华总结&#xff1a;硬件的效率与一致性、Java内存模型、Java与线程、Java与协程 硬件的效率与一致性Java内存模型主内存与工作内存内存间交互操作对于volatile型变量的特殊规则针对long和double型变量的特殊规则原子性、可见性与有序性原子性可见性有序性 …

离线环境下安装微软Visual Studio 2022 生成工具

1. 前言 最近&#xff0c;在学习cython的时候&#xff0c;需要安装windows下的C/C编译、链接工具。开始觉得传统的msvc太大了&#xff0c;想要尝试Mingw&#xff0c;但是都是编译错误。无奈之下&#xff0c;还是要安装msvc。 微软提供了Visual Studio 2022 Build Tools &…

【华为机试】HJ16 购物单详解+完整源代码示例

从毕业到入职&#xff0c;忙于各种事情&#xff0c;所以博客一直也没有空更新。从入职到现在差不多整三个月了&#xff0c;刚刚在比亚迪这边转正。目前干的工作涉及到开发的工作不是很多&#xff0c;但是又怕之前的技能荒废了。所以最近有个想法&#xff0c;再把C算法和数据结构…

【CSS】跳动文字

文章目录 效果展示代码实现 效果展示 代码实现 <!DOCTYPE html> <html><head><meta charset"utf-8" /><title>一颗不甘坠落的流星</title></head><style type"text/css">/* 遮罩盒子样式 */#mask {/* 设…

RabbitMQ系列(27)--RabbitMQ使用Federation Exchange(联邦交换机)解决异地访问延迟问题

前言&#xff1a; (broker北京)、(broker深圳)彼此之间相距甚远&#xff0c;网络延迟是一个不得不面对的问题。有一个在北京的业务(Client北京&#xff09;需要连接(broker北京),向其中的交换器exchangeA发送消息&#xff0c;此时的网络延迟很小,(Client北京)可以迅速将消息发…

Android studio 引入不了R包,手动引入显示红色。可以跑起来却没问题

之前在这个问题踩坑2次&#xff0c;遂记录一下。 问题是&#xff1a;工程里找不到自己包名的R&#xff0c;手动导入显示红色&#xff0c;Run起来倒是没问题 尝试过Clean&#xff0c;Rebuild&#xff0c;清缓存&#xff0c;重启&#xff0c;都没用。 最终发现是没有在 Android…

回溯法解决地图填色问题

目录 回溯法 最大度优先 最少可选颜色优先 向前探测 随机产生不同规模的图&#xff0c;分析算法效率与图规模的关系&#xff08;四色&#xff09; 回溯法 回溯法的基本思想是采用递归和深度优先搜索的方法&#xff0c;尝试在一组可能的解中搜索出符合要求的解&#xff0c…

git bash---打开当前路径所在文件夹

0 Preface/Foreword 在Windows操作系统中使用git bash时&#xff0c;可以通过命令直接打开当前路径下的文件夹&#xff0c;命令如下 explorer .

机器学习之多元微积分

机器学习的多元微积分跟高等数学中的多元微积分有很多不同之处。 矩阵求导也是一样的&#xff0c;本质就是每个函数分别对矩阵或者向量中的每个元素逐个求偏导&#xff0c;只不过写成了向量、矩阵形式而已。 机器学习中的变量都是向量或者矩阵机器学习中的函数一般都是线性函…

前端vue入门(纯代码)24_Modules

穷不怪父&#xff0c;苦不责妻&#xff0c;方为真男人&#xff01; 【23.Vuex中的模块化和命名空间】 [可以去官网看看Vuex3文档](Module | Vuex (vuejs.org)) 由于使用单一状态树&#xff0c;应用的所有状态会集中到一个比较大的对象。当应用变得非常复杂时&#xff0c;sto…

ElasticSearch学习笔记一——下载及安装

最近发现ES是个很重要的内容啊&#xff0c;各种大厂都会使用ES来做一些大范围的搜索之类的功能&#xff0c;所以今天我们也来学习一下。 首先我们要准备Java的环境&#xff0c;推荐版本8、11、14 ES官方的JDK兼容性列表(有些慢&#xff0c;需要耐心等待一下哈) 在我写文章时&…

Unity VR:Oculus Integration 中 OVRManager 的 Eye Level,Floor Level,Stage 的区别

Oculus Integration 开发包中有个 OVRManager 脚本被挂载到 OVRCameraRig 物体上。OVR Manager 中有个 Tracking Origin Type 参数&#xff0c;它相当于追踪的参考系&#xff0c;参数分为 Eye Level, Floor Level 和 Stage。 VR 设备会对头显进行追踪&#xff0c;于是现实中头显…

热门实践丨如何结合实际业务进行 ECS 规格选型与容量验证

作者&#xff1a;赵佳佳 随着云原生技术的蓬勃发展以及云产品价格愈发低廉&#xff0c;越来越多 Geek 开发者、技术爱好者选择 OSS 对象存储、ECS 云服务器等基础产品构建自己的网站、网盘等应用。但对于企业而言&#xff0c;面对种类与规格的丰富的 ECS 云服务器&#xff0c;…

用颜色表示数据的第三个维度

横纵坐标显示时间和空间后&#xff0c;第三个数据的特征有时就不好表示了&#xff0c;3d图有的时候看起来更复杂。对于某些情况&#xff0c;用颜色来表示更加简洁。 这里展示的效果图有点像烟花&#xff0c;所以选了这张&#xff0c;但是换其他的cmap才能使得数据展示更加直观 …

OpenCV库进行图像旋转、仿射变换和透视变换

#include <iostream> #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp>