部署 ssm 项目到云服务器上(购买云服务器 + 操作远程云服务器 + 服务器中的环境搭建 + 部署项目到服务器)

部署 Web 项目

  • 1、获取 Linux 环境
    • 1.1、如何去买一个云服务器
    • 1.2、远程操作云服务器
    • 1.3、在 Linux 系统中搭建 Java Web 的运行环境。
        • 1)安装 JDK(使用包管理器 yum 来安装)
        • 2) 安装Tomcat
        • 3)安装 MySQL。
    • 1.4、在云服务器中创建数据库
  • 2、把 ssm 项目部署到云服务器
    • 2.1、打包项目
    • 2.2、在服务器中运行项目

1、获取 Linux 环境

推荐的做法:买一个云服务器。(主要是要有一个外网 IP)

好处:① 方便(如果自己搭建,就比较麻烦)、② 便宜(如果只是为了学习使用,最低配置的服务器完全够用,不到 50 元就能买一年使用权)、③有外网 IP,可以部署项目(有了外网 IP,我们部署的项目,别人就可以访问了)。

1.1、如何去买一个云服务器

由于云服务器提供的厂商很多,例如:华为云、腾讯云、阿里云 … 等等,我们只需要选其中最便宜的就可以了。
以购买华为云为例:

1)由于在淘宝中搜索的比较便宜,官网中搜索的比较贵,我就在淘宝上买了。(29元一年,这是我买过最便宜的一个服务器了)

淘宝

2)直接询问客服怎么操作(注册账号 -> 实名认证 -> 要账号密码)客服帮我们买。

3)客服会让我们选配置、Linux 操作系统是主要的服务器系统(因为要在服务器上面部署项目,所以我们的服务器要使用 Lunix 操作系统),我选的配置如下。

在这里插入图片描述

4)设置云服务器的密码。(浏览器中搜索华为云 -> 登录刚才注册的账号 -> 点击右上角的控制台 -> 搜索自己买的服务器(我买的是云耀云服务器) -> 然后就能看到自己的服务器(点击其中的重置密码,第一次买的云服务器是没有密码的,自己要设置一个密码))。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

5)服务器防火墙开放 8080 端口。

为了安全考虑,服务器中的端口并不是所有都是开放的,需要去开通端口。

以华为云为例:

在这里插入图片描述

点击安全组 -> 点击配置规则

在这里插入图片描述

点击入方向规则 -> 点击添加规则 -> 填写信息

在这里插入图片描述

如果要开通其他端口,重复上面操作就可以了

1.2、远程操作云服务器

要想在 Windows 下远程连接 Linux 的 ssh 客户端,就需要借助像Xshell这样的终端模拟器软件。

为什么使用 Xshell 而不使用其他的终端模拟器软件:

Xshell 的优点:① 界面设计简洁、人性,使用方便。② 支持标签,打开多个服务器时候很方便,点击标签切换。③ 有免费的版本。

1)官网中下载 Xshell(点击下载 -> 选择家庭个人免费版 -> 然后点击下载)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2)连接云服务器。(进入下载好的 Xshell -> 点击新建 -> 输入新建会话的名称 -> 输入外网 IP -> 输入账号 -> 输入密码)

外网IP:我们买的云服务器外网 IP 地址。

账号:一般账号为 root

密码:前面我们第一次对服务器设置的密码

新建

输入账号

密码

在这里插入图片描述

1.3、在 Linux 系统中搭建 Java Web 的运行环境。

新买的服务器,就像是新的电脑一样,里面没有软件,需要我们去安装一些重要的软件程序。(JDK + Tomcat + MySQL)

① JDK:运行 Java 程序,安装 JDK 是无可厚非的。(JDK1.8)

② Tomcat: ssm 项目不用安装,ssm 项目自带 Tomcat。(Tomcat8.5)

③ MySQL:如果项目要从数据库拉取数据,就要安装。

1)安装 JDK(使用包管理器 yum 来安装)

# 使用命令 yum install java-1.8.0-openjdk-devel.x86_64 -- 安装 JDK1.8)
# 可以输入 javac 来查看是否安装成功 -- 不报错,提示帮助选项

在这里插入图片描述

2) 安装Tomcat

如果不是 selvet 项目,是 ssm 项目,不用安装Tomcat,因为 ssm 项目中自带了 tomcat)

从官网中下载 Tomcat 8.5 软件包:Tomcat

在这里插入图片描述

自己在远程的 Linux 操作系统中创建一个目录,把下载好的 Tomcat 压缩包直接拖拽进去。

如果在拖拽过程中发生报错或者卡住进度条不动,需要下载一个软件包,输入下面的指令。

yum install lrzsz

接下来把 Tomcat 进行解压缩,输入下面命令

unzip 包名

在这里插入图片描述

3)安装 MySQL。

我们在这里安装的是 MariaDB,在 MySQL 中能执行的命令在 MariaDB 中都能执行,语法基本没有什么区别。

MariaDB 和 MySQL 就像是双胞胎兄弟,基本没有什么区别。

# 执行下面 4 个命令
# yum install -y mariadb-server  --  安装 mariadb 服务
# yum install -y mariadb  -- 安装 mariadb 命令行客户端
# yum install -y mariadb-libs  --  安装 mariadb C library
# yum install -y mariadb-devel  --  安装 mariadb 开发包

启动服务器

# systemctl start mariadb

设置服务开启自动启动

systemctl enable mariadb

查看服务状态

systemctl status mariadb -- 如果启动成功、结果是绿的

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

mysql -uroot  -- 如果云服务器中的 数据库 有密码需要在后面加上 -p

连接成功

创建数据库时为了支持中文,统一使用 utf8mb4 字符集

MariaDB [(none)]> create database 数据库名称 charset utf8mb4;

1.4、在云服务器中创建数据库

根据要部署程序所对应的数据库,创建数据库。这个数据库和本地中项目所需的数据库一样,重新创建一次就可以了。

注意:Linux 操作系统区分大小写。

这个步骤很重要,多花一点时间,数据库容易创建出错,如果数据库出错,数据库连接就会有问题

2、把 ssm 项目部署到云服务器

2.1、打包项目

1)更改配置,更改配置很重要,多花一点时间,如果有一些地方没有更改,部署大概率不会成功。(有一些配置要进行更改,比如:连接数据库所需的账号密码,本地中用到的地址改成服务器中的地址,服务器中的地址需要自己创建)。

2)打包 (双击 package)

打包

打包成功。显示如下:

在这里插入图片描述

2.2、在服务器中运行项目

1)把包放到服务器中(使用 Xshell 连接远程服务器,把本地的包直接拖拽到服务器中)。

如果在拖拽过程中发生报错或者卡住进度条不动,需要下载一个软件包,输入下面的指令。

yum install lrzsz

包的位置:

在这里插入图片描述

右击target -> import

2)运行项目

在云服务器中存放包的目录下输入下面的第一条指令:

# nohup java -jar 包名 >> log.log &# nohup -- 后台运行项目指令
# java -jar 包名 -- 运行程序
# >> log.log -- 把日志放到 log.log 中
# & -- 表示后台一直运行

运行成功,如下:

运行成功

通过外网 IP 成功访问到项目的登录页面。

在这里插入图片描述

就此,大功告成,项目部署完成 !!!

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

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

相关文章

成功项目风险预防可控的5个重点

成功的项目往往重视项目风险的预防和管控,这样有利于可能风险的及时控制和解决,将其不利影响降到最小。如果不重视对风险的预防和管控,不及时发现和处理项目风险,那么项目风险往往会为我们带来意想不到的不利后果,往往…

Stm32的时钟系统以及使用SysTick滴答定时器实现延时

前言 STM32的时钟系统由多个时钟源和时钟树组成时钟源包括主时钟源(HSE)、内部高速时钟源(HSI)、内部低速时钟源(LSI)和外部低速时钟源(LSE)。时钟树由多个时钟分频器和时钟门控器组…

08 通过从 库1 复制 *.ibd 到 库2 导致 mysql 启动报错

前言 呵呵 最近同事有这样的一个需求 需要将 库1 的一张表 复制到 库2 然后 我想到了 之前一直使用的通过复制这个库的 data 文件来进行数据迁移的思路, 是需要复制这个 库对应的 data 目录下的数据文件, 以及 ibdata1 文件 然后 我又在想 这里的场景能否也使用这里的额方式…

机器连接和边缘计算

以一种高效、可扩展的方式进行连接和边缘计算的结合,解决了在工业物联网应用中的机器数据集成问题。 一 边缘计算 边缘计算描述了由中央平台管理的数据分散式处理,它对于工业物联网而言非常重要。在许多应用程序中,由于数据量非常大&#xf…

一文速学-让神经网络不再神秘,一天速学神经网络基础-前向传播(三)

前言 思索了很久到底要不要出深度学习内容,毕竟在数学建模专栏里边的机器学习内容还有一大半算法没有更新,很多坑都没有填满,而且现在深度学习的文章和学习课程都十分的多,我考虑了很久决定还是得出神经网络系列文章,…

Could not autowire. No beans of ‘DiscoveryClient‘ type found.

一、导错了包 DiscoveryClient对应有两个包: org.springframework.cloud.client.discovery.DiscoveryClient; com.netflix.discovery.DiscoveryClient; 目前导入的包是: 改成第一个包,发现不再报红了。

构建安全可信、稳定可靠的RISC-V安全体系

安全之安全(security)博客目录导读 2023 RISC-V中国峰会 安全相关议题汇总 说明:本文参考RISC-V 2023中国峰会如下议题,版权归原作者所有。

GaussDB技术解读系列:高级压缩之OLTP表压缩

8月16日,第14届中国数据库技术大会(DTCC2023)在北京国际会议中心顺利举行。在GaussDB“五高两易”核心技术,给世界一个更优选择的专场,华为云数据库GaussDB首席架构师冯柯对华为云GaussDB数据库的高级压缩技术进行了详…

【QT】ComboBox的使用(14)

ComboBox这个控件我常用于多文本的储存、调用,正如他的中文意思为:下拉列表框。 下拉列表框:字面意思就是一个多文本的列表框,今天来看下如何使用ComboBox这个控件。 一.环境配置 1.python 3.7.8 可直接进入官网下载安装&…

大数据精准营销获客能为企业带来哪些东西?

广告圈里一句名言:我知道我的广告浪费了一半,但我不知道浪费了哪一半。当前,越来越多的企业在大数据思维指导下进行广告投放,广告能通过对人群的定向,投放给准确的目标顾客,特别是互联网广告现在能够做到根据不同的人向…

从零开始的Hadoop学习(二)| Hadoop介绍、优势、组成、HDFS架构

1. Hadoop 是什么 Hadoop是一个由Apache基金会所开发的分布式系统基础架构。主要解决,海量数据的存储和海量数据的分析计算问题。广义上来说,Hadoop通常是指一个更广泛的概念—Hadoop生态圈。 2. Hadoop 的优势 高可靠性:Hadoop底层维护多…

C++中<iostream> 的cin >> str 和<string>的getline(cin, str) 用来读取用户输入的两种不同方式的不同点

C中<iostream> 的cin >> str 和<string>的getline(cin, str) 用来读取用户输入的两种不同方式的不同点 &#xff1c;string&#xff1e;的getline()函数语法如下【https://cplusplus.com/reference/string/string/getline/】&#xff1a; istream& getl…