项目部署上线过程

news2024/11/19 15:15:02

写在前面

       你应该去喜欢那些,让你觉得自己很美好,由衷感受到幸福的人,而不是那些让你卑微到尘埃里,让你觉得自己很没用的人。                                                                                                                                                                                       ​​——不吃葱的阿冬


🍟本文主要讲解springBoot项目在借助阿里云服务器,xshell7的情况下部署上线

🍔本文属于在Linux上部署项目最简单的方式,只需要将依赖的程序安装上即可

🥪这里我使用的JDK是yum(centos)来进行安装,当然你也可以使用apt(ubuntu)


目录

写在前面

目录:

1.JDK

1)先确认软件包的完整名称

2)进行安装

3)验证是否安装成功

2.Tomcat

1)下载安装包

2)传到Linux上

3)解压缩

4)启动tomcat

3.Mysql

1) 安装

2)启动 

​编辑 3) 测试连接

 4. 部署

1)微调代码,让你本地代码和云服务器上的一致

2)构造依赖的数据,在云服务器上建库建表


1.JDK

1)先确认软件包的完整名称

yum list | grep jdk    (centos)

apt serch jdk    (ubuntu)

2)进行安装

先确保在管理员(root)身份下

centos,已经处于root中

ubuntu,需要通过 sudo su - 这个命令切换到管理员用户,安装完成之后,exit退出root用户

yum+install+软件包名字

apt+install+软件包名字

🍟这里我已经安装好了

3)验证是否安装成功

在命令行直接输入 javac看看是否能够识别

🌹🌹🌹这样就算安装成功了!!! 

2.Tomcat

由于centos7上tomcat版本是7,版本较低,我至少需要tomcat8。但是tomcat是Java写的可以跨平台,现在只需要把windows上下载好的tomcat压缩包传到Linux上就行了。

1)下载安装包

直接去到tomcat官网下载tomcat8就行

2)传到Linux上

直接将压缩包拖到xshell上就行,由于有些系统无法直接托上去,需要安装一个额外的软件(我的可以)

yum install lrzsz

apt install lrzsz

rz:windows->linux  sz :linux->windows

3)解压缩

unzip+压缩包名字,如果没有就先安装一下unzip。

 yum install unzip;apt install unzip。 

4)启动tomcat

进入bin目录

找到startup.sh来启动

首次启动前需要给.sh文件赋予可执行权限 通过命令 chmod +x *.sh 

这些.sh文件就可执行了,如何通过命令 sh startup.sh 就可以运行tomcat了。

 由于我这里之前已经部署过tomcat所以可以通过查看日志发现启动失败,如果想启动成功就要把之前哪个tomcat干掉!!!

🌹🌹🌹此时tomcat就部署完成了!!!

如果跟我一样前面进程没有关闭怎么办?这个时候可以使用 ps aux | grep tomcat 命令来查询进程,然后通过kill+id这个命令来关闭这个进程。

 再次使用sh startup.sh 

这个时候就可以通过你的服务器端口号+:8080/来访问tomcat 

如果不行,进入你的服务器安全组/防火墙中,添加一个这样的安全策略

就可以了 

3.Mysql

具体可以观看这篇帖子:CentOS 7 通过 yum 安装 MariaDB - 知乎 (zhihu.com)

我之前已经安装过这些...... 

1) 安装

安装 mariadb 服务:

yum install -y mariadb-server

安装 mariadb 命令行客户端:

yum install -y mariadb

安装 mariadb C library:

 yum install -y mariadb-libs

安装 mariadb 开发包:

yum install -y mariadb-devel

2)启动 

启动服务:systemctl start mariadb

设置服务开启自启动:systemctl enable mariadb

 查看服务状态:

systemctl status mariadb

 3) 测试连接

我这里没有密码,带有密码的后面再加上-p

使用命令行客户端尝试连接

mysql -uroot

 查看 mariadb 版本号:select version();

创建数据库时为了支持中文,统一使用 utf8mb4 字符集:create database 数据库名  charset utf8mb4;

 4. 部署

1)微调代码,让你本地代码和云服务器上的一致

主要是修改sql密码,我的云服务器上的密码是一个空字符串,跟本地密码不一致。

IP 127.0.0.1 不用修改,即使部署上去之后,部署的程序和数据库也是在同一个主机上,任然可以通过127来访问。

端口号 3306 默认的就不用修改,如果是和别人一起合用一个服务器,端口号改成服务器上滴。

2)构造依赖的数据,在云服务器上建库建表

直接将你建库建表的语句复制到服务器上

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

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

相关文章

第四十一周:文献阅读+GAN存在的问题和改进

目录 摘要 Abstract 文献阅读:基于Transformer的时间序列生成对抗网络 现有问题 提出方法 相关前提 GAN(生成对抗网络) Transformer 方法论 时间序列处理 TTS-GAN (基于Transformer的时间序列生成对抗网络)…

【网络基础】网络协议传输层UDP和TCP

UDP 解包和分用 解包(解析数据包) 捕获数据包:首先,接收端的网络栈捕获UDP数据包。检查目的端口:接收端检查数据包头部的目的端口,以确定哪个应用程序应该接收该数据包。验证校验和:接收端可能…

day33_js

今日内容 0 复习昨日 1 JS概述 2 JS的引入方式 3 JS语法 3.1 变量 3.2 基本数据类型 3.3 引用类型 3.4 数组类型 3.5 日期类型 3.6 运算符(算术运算,逻辑,关系运算,三目运算) 3.7 分支 3.8 循环 3.9 函数(重点) 3 常见弹窗函数 alter,confirm,prompt 0 复习昨日 1 盒子模型 对d…

Kafka(九)跨集群数据镜像

目录 1 跨集群镜像的应用场景1.1 区域集群和中心集群1.2 高可用(HA)和灾备(DR)1.3 监管与合规1.4 云迁移1.5 聚合边缘集群的数据 2 多集群架构2.1 星型架构2.2 双活架构2.2 主备架构2.2.1 如何实现Kafka集群的故障转移2.2.1.1 故障转移包括的内容1. 灾难恢复计划2. 非计划内的故…

【C初阶——基本语法】return关键字

博客简介:本系列博客是C初阶基本语法系列,主要围绕主题对其语法特性进行详谈。 适宜人群:C初学者,可用于C完善补充 作者留言:本博客相关内容如需转载请注明出处,本人学疏才浅,难免存在些许错误&…

前言:穿越迷雾,探索C语言指针的奇幻之旅

各位少年,大家好,我是博主那一脸阳光,今天给大家分享指针,内存和地址的使用,以及使用。 前言: 在编程的世界中,若论灵活多变、深邃神秘的角色,非“指针”莫属。如同哈利波特手中的魔…

netty源码:(59) AbstractNioMessageChannel之read方法

当有客户端连接时,NioEventLoop中的processSelectedKey方法会被调用,这个方法会调用AbstracNioMessageChannel的read方法, 其中调用了doReadMessages方法,它的代码(NioServerSocketChannel中)如下&#xf…

IDEA 构建开发环境

本博客主要讲解了如何创建一个Maven构建Java项目。(本文是创建一个用Maven构建项目的方式,所以需要对Maven有一定的了解) IDEA 构建开发环境 一、创建一个空工程二、构建一个普通的Maven模块 一、创建一个空工程 创建一个空的工程 * 设置整…

分布式空间索引了解与扩展

目录 一、空间索引快速理解 (一)区域编码 (二)区域编码检索 (三)Geohash 编码 (四)RTree及其变体 二、业内方案选取 三、分布式空间索引架构 (一)PG数…

数字图像处理(实践篇)三十三 OpenCV-Python从立体图像创建深度图实践

目录 一 方案 二 实践 双眼视觉是指人类使用两只眼睛同时观察同一场景,通过左右眼的视差来感知深度。左眼和右眼的视差是由于它们在空间中的位置不同而产生的,这种差异可以被大脑解读为物体的距离和深度。为了从立体图像构建深度图,找到两个图像之间的视差,可以初始化并创…

系统架构设计师教程(十九)大数据架构设计理论与实践

大数据架构设计理论与实践 19.1 传统数据处理系统存在的问题19.2 大数据处理系统架构分析19.2.1 大数据处理系统面临挑战19.2.2 大数据处理系统架构特征19.3 Lambda架构19.3.1 Lambda架构对大数据处理系统的理解19.3.2 Lambda架构应用场景19.3.3 Lambda架构介绍19.3.4 Lambda架…

AcWing 895. 最长上升子序列(DP序列模型)

[题目概述] 给定一个长度为 N 的数列,求数值严格单调递增的子序列的长度最长是多少。 输入格式 第一行包含整数 N。 第二行包含 N 个整数,表示完整序列。 输出格式 输出一个整数,表示最大长度。 数据范围 1 ≤ N ≤ 1000 , …

RS485Modbus转Profinet网关在工业现场的应用优势

在工业自动化领域,RS485Modbus转Profinet网关的应用愈发广泛,其优势在于简化系统架构、提高通信效率、降低成本和便于维护。接下来,本文将详细介绍RS485Modbus转Profinet网关在工业现场的应用优势、实施方案和注意事项。 应用优势&#xff1a…

cmake-find_package链接第三方库

文章目录 基本调用形式和模块模式使用方式 之前我们是使用了绝对路径来链接OpenCV第三方库,但是现在很多库一般会自己写一些cmake文件提供给用户,用户可以直接使用其中的内置变量即可。使用的命令就是find_package。 基本调用形式和模块模式 find_packa…

对Spring当中AOP的理解

AOP(面向切面编程)全称Aspect Oriented Programminge AOP就是把系统中重复的代码抽取出来,单独开发,在系统需要时,使用动态代理技术,在不修改源码的基础上,将单独开发的功能通知织入(应用)到系统中的过程,完…

【大数据】Flink 架构(六):保存点 Savepoint

《Flink 架构》系列(已完结),共包含以下 6 篇文章: Flink 架构(一):系统架构Flink 架构(二):数据传输Flink 架构(三):事件…

数据结构(二)------单链表

制作不易,三连支持一下呗!!! 文章目录 前言一.什么是链表二.链表的分类三.单链表的实现总结 前言 上一节,我们介绍了顺序表的实现与一些经典算法。 但是顺序表这个数据结构依然有不少缺陷: 1.顺序表指定…

深入理解TCP网络协议(1)

目录 1.TCP协议的段格式 2.TCP原理 2.1确认应答 2.2超时重传 3.三次握手(重点) 4.四次挥手 1.TCP协议的段格式 我们先来观察一下TCP协议的段格式图解: 源/目的端口号:标识数据从哪个进程来,到哪个进程去 32位序号/32位确认号:TCP会话的每一端都包含一个32位&#xff08…

分布式ID(3):雪花算法生成ID之UidGenerator(百度开源的分布式唯一ID生成器)

1 UidGenerator官方地址 UidGenerator源码地址: https://github.com/baidu/uid-generator UidGenerator官方说明文档地址: https://github.com/baidu/uid-generator/blob/master/README.zh_cn.md 这边只做简单介绍,详细说明请看官方说明文档。 2 Snowflake算法 Snowfl…

「 典型安全漏洞系列 」08.文件上传漏洞详解

文件上传功能可被攻击者用作一系列高严重性攻击的强大载体。本文最后将会展示如何绕过常见的防御机制来上传web shell,使你能够完全控制一个易受攻击的web服务器。 1. 简介 文件上传漏洞是指web服务器允许用户在没有充分验证文件名、类型、内容或大小等信息的情况下…