当前位置: 首页 > news >正文

部署 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 成功访问到项目的登录页面。

在这里插入图片描述

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

相关文章:

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

部署 Web 项目 1、获取 Linux 环境1.1、如何去买一个云服务器1.2、远程操作云服务器1.3、在 Linux 系统中搭建 Java Web 的运行环境。1)安装 JDK(使用包管理器 yum 来安装)2) 安装Tomcat3)安装 MySQL。 1.4、在云服务器…...

python爬虫-使用selenium自动登录微博

环境准备:anaconda、pycharm编辑器、chromedriver(记得下载) 首先查看本地anaconda的python环境和selenium版本号(不同版本的api接口可能不同) conda list python输出 # Name Version Build Channel ipython …...

Python 面试:可变类型和不可变类型作为函数参数,关键字参数

1. 可变类型作为参数 可变对象: list/set/dict 参数会指向可变对象的副本的地址,每次修改的是同一个对象。 def flist(l):l.append(0)print(l)ll [] flist(ll) flist(ll)输出为: [0] [0, 0] # 注意:l只是ll的一个副本,修改l不…...

Web3.0时代什么时候到来,Web3.0有什么机会?

🏆作者简介,黑夜开发者,CSDN领军人物,全栈领域优质创作者✌,CSDN博客专家,阿里云社区专家博主,2023年6月CSDN上海赛道top4。 🏆数年电商行业从业经验,历任核心研发工程师…...

vue心得

不是专业的前端开发,但因为E2E开发和架构设计的需要,必须对前端框架有一些了解。这两年项目前端在用vue,就记录一下vue的使用心得。 心得 component component: vue组件,可在其中完成界面呈现(V&#xf…...

JavaScript—数据类型、对象与构造方法

js是什么? JavaScript(简称“JS”) 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。JavaScript 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式、声明式、函数式编程范式。 js有哪些特点呢…...

自定义node-red节点中,如何编写节点的配置信息弹窗

前言 最近有读者通过博客向我咨询,在自定义node-red节点时,如何编写该节点的配置页面,就是我们通常见到的,双节节点打开的信息弹窗。如下图: 上面两张图,展示了inject节点与mqtt in 节点的配置弹窗。 在弹窗中,除了上面的删除,取消,完成,和下面的失效按钮。 中间…...

数据之美:探索数据可视化设计的奇妙世界

在信息时代的浪潮中,海量的数据正在影响着我们的生活和决策。然而,数据本身虽然有力量,但如何将其有机地呈现给我们,却成为了一个挑战。数据可视化设计应运而生,它不仅让枯燥的数字变得生动,还带来了一场视…...

docker初始化

避免僵尸进程 使用dump-init FROM node:16 AS builderRUN apt install dumb-init... ...ENTRYPOINT ["/usr/bin/dumb-init", "--"] CMD ["node", "dist/main"]使用tini docker run --init .......开启docker内部ssh docker exec -…...

【C语言】结构体变量引用的一个例子

文件test_funcs.c&#xff1a; #include <stdio.h> #include <stdlib.h>struct t_Test {int n1;int n2; };struct t_Test *alloc_Test(void) {struct t_Test *pTestNULL;pTestmalloc(sizeof(struct t_Test));pTest->n1 1;return pTest; }void func1(struct t_…...

美团笔试题之合并 K 个升序链表

文章目录 题目详情分析暴力求解两两合并链表 Java完整实现代码总结 题目详情 23 美团笔试真题 给你一个链表数组&#xff0c;每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中&#xff0c;返回合并后的链表。 分析 暴力求解 将所有数值存入一个数组&#xff…...

C语言(第三十一天)

6. 调试举例1 求1!2!3!4!...10!的和&#xff0c;请看下面的代码&#xff1a; #include <stdio.h> //写一个代码求n的阶乘 int main() {int n 0;scanf("%d", &n);int i 1;int ret 1;for(i1; i<n; i){ret * i;}printf("%d\n", ret);return …...

【C/C++】虚析构 | 抽象类

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; &#x1f525;c系列专栏&#xff1a;C/C零基础到精通 &#x1f525; 给大…...

MySQL 的隐式转换导致诡异现象的案例一则

正是因为 MySQL 对字符串进行隐式转换时会截断再转&#xff0c;而不是像 Oracle、SQL Server 这些数据库针对这种问题直接报错&#xff0c;所以才出现了这个诡异的问题。 作者&#xff1a;刘晨 网名 bisal &#xff0c;具有十年以上的应用运维工作经验&#xff0c;目前主要从事…...

【考研数学】概率论与数理统计 —— 第二章 | 一维随机变量及其分布(2,常见随机变量及其分布 | 随机变量函数的分布)

文章目录 引言三、常见的随机变量及其分布3.1 常见的离散型随机变量及其分布律&#xff08;一&#xff09;&#xff08;0-1&#xff09;分布&#xff08;二&#xff09;二项分布&#xff08;三&#xff09;泊松分布&#xff08;四&#xff09;几何分布&#xff08;五&#xff0…...

【2023中国算力大会】《中国综合算力指数(2023年)》出炉,宁夏“资源环境”位列全国第1,“算力”跃入Top10

2023年8月18日-19日&#xff0c;2023中国算力大会在宁夏银川举行&#xff0c;本届大会以“算领新产业潮流 力赋高质量发展”为主题&#xff0c;打造“主题论坛、成果展示、产业推介、先锋引领”四大核心内容&#xff0c;全面展示算力产业发展最新成果&#xff0c;为产业各方搭建…...

自动设置服务器全教程

亲爱的爬虫探险家&#xff01;在网络爬虫的世界里&#xff0c;自动设置代理服务器是一个非常有用的技巧。今天&#xff0c;作为一家代理服务器供应商&#xff0c;我将为你呈上一份轻松实用的教程&#xff0c;帮助你轻松搞定爬虫自动设置代理服务器。 一、为什么需要自动设置代…...

Mysql--技术文档--B树-数据结构的认知

阿丹解读&#xff1a; B树&#xff08;B tree&#xff09;和B树&#xff08;B-tree&#xff09;都是常见的自平衡搜索树数据结构&#xff0c;用于在存储和检索大量数据时提供高效的操作。 基本概念-B树/B树 B树&#xff08;B-tree&#xff09;和B树&#xff08;B tree&#x…...

go gin 自定义验证

我们上一篇已经提到了gin中binding时候可以指定json字段大小等限制&#xff0c;但是那个错误却是英文的&#xff0c;现在想搞成中文的&#xff0c;以便前端可读&#xff0c;demo如下 package mainimport ("net/http""reflect""github.com/gin-gonic/…...

掉了无数头发成地中海后,我整理出了这套40+的大屏模板,快收藏!

最近又有不少粉丝后台问我接不接做可视化大屏&#xff0c;看来可视化大屏是越来越火啦&#xff0c;但老李还是要说一下&#xff0c;老李本身工作就很忙&#xff0c;实在是顾不过来&#xff0c;但老李会在自己体验过后为大家挑选合适的工具和模板&#xff0c;提升大家做大屏的效…...

ZPL文件操作避坑指南:从OPEN到CLOSE的5个常见错误排查

ZPL文件操作避坑指南&#xff1a;从OPEN到CLOSE的5个常见错误排查 在光学设计领域&#xff0c;ZPL宏作为ZEMAX的自动化利器&#xff0c;文件操作是绕不开的核心技能。但当你从教程里的完美示例转向真实项目时&#xff0c;那些被刻意简化的场景往往会暴露出各种"坑"。…...

Web开发环境快速搭建:Miniconda-Python3.11镜像实战应用

Web开发环境快速搭建&#xff1a;Miniconda-Python3.11镜像实战应用 1. 为什么选择Miniconda-Python3.11 Python作为Web开发的主流语言之一&#xff0c;环境配置一直是新手面临的第一个挑战。Miniconda-Python3.11镜像提供了一种开箱即用的解决方案&#xff0c;相比传统安装方…...

OpenClaw自动化写作助手:基于GLM-4.7-Flash的草稿生成与润色

OpenClaw自动化写作助手&#xff1a;基于GLM-4.7-Flash的草稿生成与润色 1. 为什么需要自动化写作助手 作为一个长期与文字打交道的内容创作者&#xff0c;我经常面临这样的困境&#xff1a;明明有好的选题灵感&#xff0c;却卡在初稿阶段耗费大量时间&#xff1b;或是写完后…...

基于粒子群优化算法的地表水源热泵机组优化调度 以水源热泵机组角度对地表水源热泵系统建模

基于粒子群优化算法的地表水源热泵机组优化调度 以水源热泵机组角度对地表水源热泵系统建模&#xff0c; 并采用粒子群优化算法优化算法求解热泵机组每小时最佳制冷量和制热量 最近帮朋友做了个小区地表水源热泵的调度优化项目&#xff0c;一开始以为就是调调空调温度&#xf…...

Linux文件系统架构与缓存机制解析

Linux文件系统架构与缓存机制深度解析1. 文件系统核心架构1.1 文件系统基本组织形式Linux文件系统采用分层结构设计&#xff0c;主要包含以下核心组件&#xff1a;块存储机制&#xff1a;硬盘被划分为固定大小的块&#xff08;默认4KB&#xff09;&#xff0c;文件数据分散存储…...

AutoConnect:ESP32/ESP8266 运行时 Wi-Fi 配网与 OTA 一体化方案

1. AutoConnect 库深度技术解析&#xff1a;面向嵌入式工程师的 ESP32/ESP8266 运行时 Wi-Fi 配置系统AutoConnect 是一个专为 ESP32 和 ESP8266 平台设计的 Arduino 库&#xff0c;其核心目标是在设备运行时&#xff08;runtime&#xff09;通过 Web 界面完成 Wi-Fi 网络的动态…...

离网逆变器下垂控制实战:从公式推导到MATLAB仿真(附资源下载)

离网逆变器下垂控制实战&#xff1a;从公式推导到MATLAB仿真 在新能源发电系统中&#xff0c;离网逆变器的稳定运行至关重要。传统电压电流双闭环控制虽然简单直接&#xff0c;但在面对复杂负载变化时&#xff0c;往往会出现电压跌落、频率失稳等问题。下垂控制技术通过模拟同…...

3步实现Windows系统极致优化:Win11Debloat专业指南

3步实现Windows系统极致优化&#xff1a;Win11Debloat专业指南 【免费下载链接】Win11Debloat 一个简单的PowerShell脚本&#xff0c;用于从Windows中移除预装的无用软件&#xff0c;禁用遥测&#xff0c;从Windows搜索中移除Bing&#xff0c;以及执行各种其他更改以简化和改善…...

uniApp离线打包实战避坑指南

1. 离线打包前的环境准备 第一次接触uniApp离线打包时&#xff0c;我踩过的第一个坑就是环境配置。当时以为只要安装了Android Studio就能万事大吉&#xff0c;结果编译时各种报错接踵而至。后来才发现&#xff0c;离线打包对开发环境的版本匹配要求极为严格&#xff0c;差一个…...

用ProcessOn复刻《纳瓦尔宝典》思维导图:我是如何把一本投资哲学书变成可执行行动清单的

用ProcessOn将《纳瓦尔宝典》转化为可执行行动指南&#xff1a;从思维导图到每日实践的完整方法论 当合上这本被硅谷创投圈奉为"现代智慧集"的书籍时&#xff0c;很多人会陷入相似的困境——那些关于财富杠杆、幸福习惯的洞见在脑海中闪烁&#xff0c;却不知如何嵌入…...