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

news2024/11/15 8:33:30

部署 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.coloradmin.cn/o/930469.html

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

相关文章

南卡开放式耳机再添新品,南卡OE CC会不会成为行业搅局者?

Nank南卡官方于8月25日宣布,将要上线一款百元级性价比神机-南卡OE CC,该新款开放式耳机以“年度开放式耳机百元标杆”为宣传口号,Nank南卡一直以来坚持产品力优先,在研发上一直都很激进,上一代的OE Pro首创了EAA悬停舒…

【无需公网IP】在树莓派上搭建Web站点

目录 1.概述 2.使用 Raspberry Pi Imager 安装 Raspberry Pi OS 3.设置 Apache Web 服务器 3.1测试 web 站点 3.2安装静态样例站点 3.3将web站点发布到公网 3.4安装 Cpolar 3.5cpolar进行token认证 3.6生成cpolar随机域名网址 3.7生成cpolar二级子域名 3.8将参数保存…

使用通信顺序进程(CSP)模型的 Go 语言通道

在并发编程中,许多编程语言采用共享内存/状态模型。然而,Go 通过实现 通信顺序进程(CSP)模型来区别于众多。在CSP中,程序由不共享状态的并行进程组成;相反,它们通过通道进行通信和同步操作。因此…

多线程常见面试题

常见的锁策略 这里讨论的锁策略,不仅仅局限于 Java 乐观锁 vs 悲观锁 锁冲突: 两个线程尝试获取一把锁,一个线程能获取成功,另一个线程阻塞等待。 乐观锁: 预该场景中,不太会出现锁冲突的情况。后续做的工作会更少。 悲观锁: 预测该场景,非常容易出现锁冲突。后…

【宝藏系列】一文带你梳理 Linux 的五种 IO 模型

【宝藏系列】一文带你梳理 Linux 的五种 IO 模型 文章目录 【宝藏系列】一文带你梳理 Linux 的五种 IO 模型👨‍🏫前言1️⃣用户态和核心态1️⃣1️⃣用户态和核心态的切换 2️⃣进程切换3️⃣进程阻塞4️⃣文件描述符(fd, File Descriptor)5️⃣缓存I/O…

jemter连接数据json断言

文章目录 一、jmeter连接数据库1、加载JDBC驱动2、连接数据3、SQL Query的Query Type使用方法:4、Variable Name使用方法:5、Result variable name使用方法: 二、Json响应断言1、添加 》 断言 》 JSON断言2、JSON断言界面参数说明&#xff1a…

Leetcode80. 删除有序数组中的重复项 II

给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使得出现次数超过两次的元素只出现两次 ,返回删除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。 class Solu…

2023水果编曲软件fl studio 21.1.0 .3713官方中文直装破解版

fl studio 21.1.0 .3713官方中文直装破解版是一个完整的软件音乐制作环境或数字音频工作站(DAW)。它代表了 25 多年的创新发展,将您创作、编曲、录制、编辑、混音和掌握专业品质音乐所需的一切集于一身。 fl studio 21.1.0 .3713官方中文直装…

windows10系统安装docker desktop超常见问题

问题报错: An unexpected error was encountered while executing a WSLcommand. Common causes include access rights issues, which occurafter waking the computer or not being connected to your domain/active directory. Please try shutting WSL down (w…

YOLOv5算法改进(6)— 添加SOCA注意力机制

前言:Hello大家好,我是小哥谈。SOCA(self-organizing competitive attention)是一种注意力机制,它模拟了人类视觉系统中的竞争性注意力机制。在视觉场景中,我们通常只关注某些特定的区域,而忽略…

浏览器开发者工具平台js代码开启展开收起

1、如下js左侧可以展开和收起段落,需要打开右上角的设置 2、Preferences这里勾选Code folding 即可像上面那张图展开和收起js段落代码 3、然后重新打开开发者工具,随意打开一个js文件,这里就有缩放了

5G R17R18技术解读

欢迎关注微信公众号“我想我思”

Hystrix: Dashboard流监控

接上两张服务熔断 开始搭建Dashboard流监控 pom依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocat…

codeforce 894

A. Gift Carpet &#xff08;模拟&#xff09; 题意&#xff1a; 给出n*m的矩阵&#xff0c;从左到右每列最多取一个字母&#xff0c;问能否取出"vika" 思路&#xff1a; 直接模拟。 const int N1e610; char g[25][25]; void solve(){int n,m; cin>>n>>…

Vue2向Vue3过度核心技术路由

目录 1 路由介绍1.思考2.路由的介绍3.总结 2 路由的基本使用1.目标2.作用3.说明4.官网5.VueRouter的使用&#xff08;52&#xff09;6.代码示例7.两个核心步骤8.总结 3 组件的存放目录问题1.组件分类2.存放目录3.总结 4 路由的封装抽离5 Vue路由-重定向1.问题2.解决方案3.语法4…

openGauss学习笔记-51 openGauss 高级特性-列存储

文章目录 openGauss学习笔记-51 openGauss 高级特性-列存储51.1 语法格式51.2 参数说明51.3 示例 openGauss学习笔记-51 openGauss 高级特性-列存储 openGauss支持行列混合存储。行存储是指将表按行存储到硬盘分区上&#xff0c;列存储是指将表按列存储到硬盘分区上。 行、列…

最新本地大模型进展#Chinese-LLaMA-2支持16k长上下文

‍‍ Hi&#xff0c;今天为大家介绍最新的本地中文语言模型进展。 [2023/08/25] Chinese-LLaMA-2发布了新的更新&#xff1a; 长上下文模型Chinese-LLaMA-2-7B-16K和Chinese-LLaMA-2-13B-16K&#xff0c;支持16K上下文&#xff0c;并可通过NTK方法进一步扩展至24K。 这意味着在…

Lazada商品详情接口 获取Lazada商品详情数据 Lazada商品价格接

一、引言 随着电子商务的迅速发展和普及&#xff0c;电商平台之间的竞争也日趋激烈。为了提供更好的用户体验和更高效的后端管理&#xff0c;Lazada作为东南亚最大的电商平台之一&#xff0c;开发了一种商品详情接口&#xff08;Product Detail API&#xff09;。该接口允许第…

【附安装包】Vred2023安装教程

软件下载 软件&#xff1a;Vred版本&#xff1a;2023语言&#xff1a;简体中文大小&#xff1a;2.39G安装环境&#xff1a;Win11/Win10/Win8/Win7硬件要求&#xff1a;CPU2.0GHz 内存4G(或更高&#xff09;下载通道①百度网盘丨64位下载链接&#xff1a;https://pan.baidu.com…

Leetcode78. 子集

给你一个整数数组 nums &#xff0c;数组中的元素 互不相同 。返回该数组所有可能的子集&#xff08;幂集&#xff09;。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 回溯法 class Solution {public List<List<Integer>> subsets(int[] nums) {List…