Linux服务器部署JavaWeb后端项目

适用于:MVVM前后台分离开发、部署、域名配置

前端:Vue
后端:Spring Boot

这篇文章只讲后端部署,前端部署戳这里

目录

  • Step1:服务器上搭建后端所需环境
      • 1、更新服务器软件包
      • 2、安装JDK8
      • 3、安装MySQL
      • 4、登录MySQL
      • 5、修改MySQL配置文件
      • 6、重启MySQL
  • Step2:Spring Boot项目打Jar包
      • 1、jar包放在服务器自定义的目录下
            • `nohup java -jar packageName.jar` VS `java -jar packageName.jar`

Step1:服务器上搭建后端所需环境

1、更新服务器软件包

# centOS
sudo yum update
# Ubuntu
sudo apt-get update

2、安装JDK8

# centOS
sudo yum -y install java-1.8.0-openjdk*
# Ubuntu
sudo apt-get install openjdk-8-jdk

验证安装

java -versionopenjdk version "1.8.0_382"
OpenJDK Runtime Environment (build 1.8.0_382-8u382-ga-1~22.04.1-b05)
OpenJDK 64-Bit Server VM (build 25.382-b05, mixed mode)

3、安装MySQL

# centOS
wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql-community-server --nogpgcheck# Ubuntu
sudo apt-get install mysql-server

验证安装

# 注意大写 V
mysql -V# centOS
mysql  Ver 8.0.34 for Linux on x86_64 (MySQL Community Server - GPL)
# UbunTu
mysql  Ver 8.0.34-0ubuntu0.22.04.1 for Linux on x86_64 ((Ubuntu))

4、登录MySQL

先去查看默认用户名密码,用这个密码去登录

# 查看
sudo vi /etc/mysql/debian.cnf# 登录
mysql -u debian-sys-maint -p

在这里插入图片描述
密码为上面查到的密码

登录后,修改root密码

mysql> use mysql
# 查看用户的权限,是否是mysql_native_password,如果不是,则将auth_sock改为mysql_native_password
mysql> select Host,user,authentication_string,plugin from user;ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your password';

修改后exit退出,用root账号重新登录

mysql -u root -p

可以看到root权限密码已经修改
在这里插入图片描述

5、修改MySQL配置文件

sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf

找到
在这里插入图片描述
改为:

bind-address            = 0.0.0.0
mysqlx-bind-address     = 0.0.0.0

6、重启MySQL

service mysql restart

查看端口状态

netstat -an|grep 3306

在这里插入图片描述
发现3306端口是tcp6,这样会导致无法远程连接数据库

Tips:
远程连接数据库如果出现 1130 - Host XXX is not allowed to connect to this MySQL server 错误提示

1、登录MySQL,然后查看配置

mysql> use mysql;
mysql> select host from user where user='root';

在这里插入图片描述

2、可以看到是 localcost,修改配置

update user set host = '%' where user ='root';

3、使配置生效

flush privileges;

4、host设置了“%”后便可以允许远程访问,再次查看

在这里插入图片描述

然后关闭服务器防火墙

sudo systemctl stop ufw

这时候就可以远程连接数据库了

Step2:Spring Boot项目打Jar包

1、jar包放在服务器自定义的目录下

我这里是 /home/AAA_Projects/assessment/
在这里插入图片描述
执行

nohup java -jar packageName.jar &
nohup java -jar packageName.jar VS java -jar packageName.jar

nohup java -jar packageName.jarjava -jar packageName.jar 是两种在Unix和Linux系统中运行Java应用程序的方式,它们之间有一些重要的区别:

  1. 后台运行:

    • nohup java -jar packageName.jarnohup 命令用于在后台运行进程,并且不会受到终端关闭或断开连接的影响。这意味着当你关闭终端或注销时,Java应用程序仍然在运行。
    • java -jar packageName.jar:这只是在当前终端会话中启动Java应用程序,如果你关闭终端,应用程序也会终止。
  2. 输出重定向:

    • nohup java -jar packageName.jarnohup 默认将标准输出重定向到一个名为nohup.out的文件,这是为了捕获应用程序的输出,以便后续查看。你也可以使用> somefile.log来自定义输出文件。
    • java -jar packageName.jar:标准输出通常会在终端中显示,除非你手动重定向它,例如,java -jar packageName.jar > output.log
  3. 退出会话的影响:

    • nohup java -jar packageName.jar:这种方式可以在终端会话退出后继续运行,因此适合长时间运行的任务或后台服务。
    • java -jar packageName.jar:如果从终端启动应用程序,它将在终端会话退出时一同终止。

这时候Spring Boot后端项目部署就大功告成了!

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

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

相关文章

钉钉消息已读、未读咋实现的嘞?

前言 一款app,消息页面有:钱包通知、最近访客等各种通知类别,每个类别可能有新的通知消息,实现已读、未读功能,包括多少个未读,这个是怎么实现的呢?比如用户A访问了用户B的主页,难道…

Mac下Docker Desktop安装命令行工具、开启本地远程访问

Mac系统下,为了方便在terminal和idea里使用docker,需要安装docker命令行工具,和开启Docker Desktop本地远程访问。 具体方法是在设置-高级下, 1.将勾选的User调整为System,这样不用手动配置PATH即可使用docker命令 …

Nuxt 菜鸟入门学习笔记五:CSS 样式

文章目录 本地样式表在组件内导入通过 Nuxt 配置 CSS 属性导入使用字体导入通过 NPM 发布的样式表 外部样式表动态添加样式表【高级】使用 Nitro 插件修改渲染的头部 使用预处理器单文件组件 SFC 样式类和样式绑定使用 v-bind 的动态样式Scoped StylesCSS Modules预处理器支持 …

基于Python+OpenCV智能答题卡识别系统——深度学习和图像识别算法应用(含Python全部工程源码)+训练与测试数据集

目录 前言总体设计系统整体结构图系统流程图 运行环境Python 环境PyCharm安装OpenCV环境 模块实现1. 信息识别2. Excel导出模块3. 图形用户界面模块4. 手写识别模块 系统测试1. 系统识别准确率2. 系统识别应用 工程源代码下载其它资料下载 前言 本项目基于Python和OpenCV图像处…

图像扭曲之旋转

源码: void twirl(cv::Mat& src,cv::Mat& dst,double angle,double radius) {dst.create(src.rows, src.cols, CV_8UC3);dst.setTo(0);int radius2radius*radius;int cx src.cols / 2;int cy src.rows / 2;int distance,distance2 0;for (int h 0; h &…

P13 VUE 二级menu实现

主要修改以下几个点&#xff1a; CommonAside.vue中 外层便利有孩子节点&#xff0c;关键词key是对应的标签&#xff0c;class动态图表渲染 内层遍历不能再用item&#xff0c;用subitem&#xff0c;遍历该item.childeren&#xff0c;关键词是path&#xff0c; <templat…

k8s etcd 简介

Etcd是CoreOS基于Raft协议开发的分布式key-value存储&#xff0c;可用于服务发现、共享配置以及一致性保障&#xff08;如数据库选主、分布式锁等&#xff09;。 如&#xff0c;Etcd也可以作为微服务的注册中心&#xff0c;比如SpringCloud也基于ETCD实现了注册中心功能&#…

dayjs格式转换成日期

目录 方法一&#xff1a; ​编辑方法二&#xff1a; 这个项目在筛选订单时间的时候是由前端进行筛选的&#xff0c;用的是adt-design-pro进行二开的&#xff0c;其中在用日期组件的时候遇到了一个问题&#xff0c;组件返回的是&#xff1a; 但是我需要的是年-月-日&#xff…

计算机网络 第二节

目录 一&#xff0c;计算机网络的分类 1.按照覆盖范围分 2.按照所属用途分 二&#xff0c;计算机网络逻辑组成部分 1.核心部分 &#xff08;通信子网&#xff09; 1.1电路交换 1.2 分组交换 两种方式的特点 重点 2.边缘部分 &#xff08;资源子网&#xff09; 进程通信的方…

模拟电子技术基础学习笔记三 PN结

采用不周的掺杂工艺&#xff0c;将P型半导体与N型半导体制作在同一块硅片上&#xff0c;在它们的交界面就形成PN结。 扩散运动 物质总是从浓度高的地方向浓度低的地方运动&#xff0c;这种由于浓度差而产生的运动称为扩散运动。 空间电荷区 - 耗尽层 漂移运动 在电场力的作…

成集云 | 飞书审批同步金蝶云星空 | 解决方案

源系统成集云目标系统 方案介绍 飞书员工报销审批通过后&#xff0c;审批单据内容和审批状态实时同步金蝶云星空 飞书是字节跳动于2016年自研的新一代一站式协作平台&#xff0c;将即时沟通、日历、云文档、云盘和工作台深度整合&#xff0c;通过开放兼容的平台&#xff0c;…

BIO到NIO、多路复用器, 从理论到实践, 结合实际案例对比各自效率与特点(下)

文章目录 多路复用器简介多路复用器的两个阶段Java中的多路复用器封装测试代码压测结果总结 本篇文章是BIO到NIO、多路复用器, 从理论到实践, 结合实际案例对比各自效率与特点(上)的下一篇, 如果没有看的小伙伴, 可以先看下, 不然可能会不连贯. 多路复用器简介 多路复用器是对…

使用 Laf 一周内上线美术狮 AI 绘画小程序

“美术狮 AI 绘画”&#xff08;以下简称“美术狮”&#xff09;&#xff0c;是我们小团队的一次尝试&#xff0c;定位是人人都可以上手的&#xff0c;充满创意的&#xff0c;理解中文和中国文化的图片生成工具。 在完善图像模型和论证核心问题之后&#xff0c;我们开始构建 MV…

linux离线环境安装redis

先检查gcc版本&#xff0c;使用gcc --version进行检查&#xff0c;版本在5以下的&#xff0c;安装redis要安装redis6以下的版本 如果没有gcc命令&#xff0c;要先安装gcc命令。因为是离线环境&#xff0c;yum命令什么的用不了。为了安装gcc&#xff0c;进行了几种尝试。 1、下…

「MySQL-03」用户管理与给用户授权

目录 一、用户管理 1. 用户信息 2. 创建用户 3. 删除用户 4. 修改用户密码 二、给用户授权 0.MySQL数据库提供的权限列表 1. 给用户授权 2. 回收权限 一、用户管理 1. 用户信息 1.0 数据库mysql和user表 安装好 MySQL后&#xff0c;里面会有一个默认的数据库mysql里面有一个u…

文件属性查看和修改学习

这个是链接&#xff0c;相当于快捷方式&#xff0c;指向usr/bin这个目录&#xff0c;链接到这个目录

大数据-玩转数据-Flink窗口

一、Flink 窗口 理解 在流处理应用中&#xff0c;数据是连续不断的&#xff0c;因此我们不可能等到所有数据都到了才开始处理。当然我们可以每来一个消息就处理一次&#xff0c;但是有时我们需要做一些聚合类的处理&#xff0c;例如&#xff1a;在过去的1分钟内有多少用户点击…

【三等奖方案】小样本数据分类任务赛题「痛!太痛了!」团队解题思路

第十届CCF大数据与计算智能大赛&#xff08;2022 CCF BDCI&#xff09;已圆满结束。大赛官方竞赛平台DataFountain&#xff08;简称DF平台&#xff09;将陆续释出各赛题获奖队伍的方案思路。 本方案为【小样本数据分类任务】赛题的三等奖获奖方案&#xff0c;赛题地址&#xf…

研磨设计模式day15策略模式

场景 问题描述 经常会有这样的需要&#xff0c;在不同的时候&#xff0c;要使用不同的计算方式。 解决方案 策略模式 定义&#xff1a; 解决思路&#xff1a;

【马蹄集】第二十四周——高精度计算专题

高精度计算专题 目录 MT2191 整数大小比较MT2192 AB problemMT2193 A-B problemMT2194 大斐列MT2195 升级版斐波那契数列MT2196 2的N次幂 MT2191 整数大小比较 难度&#xff1a;黄金    时间限制&#xff1a;1秒    占用内存&#xff1a;128M 题目描述 给出两个正整数&…