教你如何将Web项目部署到Linux中

文章目录

  • 前言
  • 0. 什么是部署
  • 1. 调整代码达成一致
  • 2. 数据库建表
  • 3. 构建项目并打包
  • 4. 拷贝到 Tomcat 中
  • 5. 效果
  • 总结


前言

在我们完成了一个Web项目后, 我们该怎样将项目部署到 Linux 系统中呢? 本文就来简单讲解一下. 文章已部署本人的博客系统代码展开讲解.

关注收藏, 开始学习吧🧐


0. 什么是部署

工作中涉及到的 “环境”

  • 开发环境: 程序猿写代码用的机器.
  • 测试环境: 测试人员测试程序使用的机器. 一般是退役的部署机器.
  • 生产环境(线上环境): 最终项目发布时所使用的机器. 对稳定性要求很高.

把程序拷贝安装到生产环境上, 这个过程称为 “部署”. 也叫 “上线”.

这个过程需要拷贝对应的 .class 文件和依赖的资源文件(各种配置文件, html等) 一旦程序部署成功, 那么这个程序就能被外网中千千万万的普通用户访问到.

换句话说, 如果程序有 BUG, 这个 BUG 也就被千千万万的用户看到了.

部署过程至关重要, 属于程序开发中最重要的一环. 一旦部署出现问题, 极有可能导致严重的事故(服务器不可用之类的).

为了防止部署出错, 一般公司内部都有一些自动化部署工具(如 Jenkins 等). 当前我们使用手工部署的方式来完成部署.

1. 调整代码达成一致

之前的博客系统中的代码, 连的是我们自己电脑中的 MySQL 数据库, 现在要连接云服务器中的 MySQL, 我们就要将(ip, 端口号, 用户名, 密码 …) 都得和云服务器这边的要求一致.

  • 在我的代码中, IP不必修改, 部署上去之后, 博客系统程序与数据库服务器也是在同一个主机上的. 仍然可以用 127.0.0.1 来访问.
  • 端口号也不必修改.
  • 用户名也不必修改, 默认都是 root.
  • 密码需要修改, 由于我的电脑中数据库是有密码的, 而云服务器中没有.

在这里插入图片描述

2. 数据库建表

由于云服务器中的数据库没有我们电脑上的数据库数据, 需要按照之前的数据库建表脚本, 在服务器上运行, 建立相同的表结构.
在这里插入图片描述

3. 构建项目并打包

使用 Maven 进行打包. 在 pom.xml 中修改打包方式, 并制定包名.

    <packaging>war</packaging><build><finalName>blog_system</finalName></build>

双击 Maven 中的 package.
在这里插入图片描述

可以看到打包成功了.
在这里插入图片描述

4. 拷贝到 Tomcat 中

接下来我们把 war 包拷贝到 Tomcat 中的 webapp 目录下.

在这里插入图片描述
如果 Tomcat 正在运行, 就能够自动的进行解压缩和部署.

5. 效果

以上部署完成后, 就可以在浏览器上访问项目的链接了. (按照项目的功能进行验证).

一个简易的博客系统.

有兴趣登录查看的读者, 可以使用 账号lisi 密码123 访问.


总结

✨ 本文主要讲解了一个 Web 项目该如何部署到 Linux 当中.
✨ 想了解更多知识, 请持续关注博主, 本人会不断更新学习记录, 跟随我一起不断学习.
✨ 感谢你们的耐心阅读, 博主本人也是一名学生, 也还有需要很多学习的东西. 写这篇文章是以本人所学内容为基础, 日后也会不断更新自己的学习记录, 我们一起努力进步, 变得优秀, 小小菜鸟, 也能有大大梦想, 关注我, 一起学习.

再次感谢你们的阅读, 你们的鼓励是我创作的最大动力!!!!!

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

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

相关文章

NeurIPS 2023 | RGIB:对抗双边图噪声的鲁棒图学习

▐ 摘要 链接预测[1,2]是图学习的一种基础任务&#xff0c;用于判断图中的两个节点是否可能相连&#xff0c;被广泛应用于药物发现、知识图谱补全和在线问答等实际场景。尽管图神经网络&#xff08;Graph Neural Network&#xff0c;GNN&#xff09;在该问题的性能上取得了显著…

机器学习的概念和类型

1、人工智能、机器学习、深度学习之间的关系 人工智能&#xff08;AI&#xff09;是广泛的概念&#xff0c;指赋予计算机智能特性。机器学习&#xff08;ML&#xff09;是AI的一个分支&#xff0c;是指通过计算机学习和改进性能。深度学习&#xff08;DL&#xff09;是ML的一类…

搭个网页应用,让ChatGPT帮我写SQL

大家好&#xff0c;我是凌览。 开门见山&#xff0c;我搭了一个网页应用名字叫sql-translate。访问链接挂在我的个人博客(https://linglan01.cn/about)导航栏&#xff0c;也可以访问https://www.linglan01.cn/c/sql-translate/直达sql-translate。 它的主要功能有&#xff1a;…

第95步 深度学习图像目标检测:Faster R-CNN建模

基于WIN10的64位系统演示 一、写在前面 本期开始&#xff0c;我们学习深度学习图像目标检测系列。 深度学习图像目标检测是计算机视觉领域的一个重要子领域&#xff0c;它的核心目标是利用深度学习模型来识别并定位图像中的特定目标。这些目标可以是物体、人、动物或其他可识…

Docker Swarm总结(1/3)

目录 1、swarm 理论基础 1.1 简介 1.2 节点架构 1.3 服务架构 1.4 服务部署模式 2、swarm 集群搭建 2.1 需求 ​2.2 克隆主机 2.3 启动5个docker宿主机 2.4 查看 swarm 激活状态 2.5 关闭防火墙 2.6 swarm 初始化 2.7 添加 worker 节点 2.8 添加 manager 节点 3、…

Mybatis-Plus3.0默认主键策略导致自动生成19位长度主键id的坑

码字不易&#xff0c;如果对您有用&#xff0c;求各位看官点赞关注~ 原创/朱季谦 目前的Mybatis-Plus版本是3.0&#xff0c;至于最新版本是否已经没有这个问题&#xff0c;后续再考虑研究。 某天检查一位离职同事写的代码&#xff0c;发现其对应表虽然设置了AUTO_INCREMENT自…

7.1 Windows驱动开发:内核监控进程与线程回调

在前面的文章中LyShark一直在重复的实现对系统底层模块的枚举&#xff0c;今天我们将展开一个新的话题&#xff0c;内核监控&#xff0c;我们以监控进程线程创建为例&#xff0c;在Win10系统中监控进程与线程可以使用微软提供给我们的两个新函数来实现&#xff0c;此类函数的原…

office 365企业版安装教程

1.下载所需工具&#xff08;防火墙和防毒软件记得关闭&#xff09; 下载链接&#xff1a;所需文件 2.安装激活office 1.安装 office tool plus 2.已安装过office 先进行office的移除&#xff0c;再进行未安装office的步骤进行 3.未安装过office 1.设置部署 按照以下来进行安…

360:流氓or保家卫国的勇士?

你曾用过360吗&#xff0c;这个在国内名声不好的杀毒软件&#xff0c;却是令国外黑客闻风丧胆的存在。 首先&#xff0c;在电脑病毒刚兴起的年代&#xff0c;杀毒软件是要收费的&#xff0c;当时盛行的瑞星和金山就是采用的付费模式&#xff0c;而就在2006年&#xff0c;奇虎…

C/C++通过位操作实现2个uint32_t合并为uint64_t

#include <iostream> using namespace std;int main() {uint32_t a 10;uint32_t b 600;//先将uint32_t的a转为uint64_t&#xff0c;此时a前面32位都是0&#xff0c;然后左移32位&#xff0c;此时右32位为0&#xff0c;最后加上uint32_t类型的b&#xff0c;填充右32位的…

解决Activiti5.22流程图部署在Windows上正常,但在linux上部署后出现中文变方块的问题

总结/朱季谦 楼主最近在做公司的工作流平台&#xff0c;发现一个很无语的事情&#xff0c;Activiti5.22的流程图在Windows环境上部署&#xff0c;是可以正常查看的&#xff0c;但发布到公司的Linux服务器上后&#xff0c;在上面进行流程图在线部署时&#xff0c;发现中文都变成…

2023亚太杯数学建模C题思路代码 - 我国新能源电动汽车的发展趋势

1 赛题 问题C 我国新能源电动汽车的发展趋势 新能源汽车是指以先进技术原理、新技术、新结构的非常规汽车燃料为动力来源( 非常规汽车燃料指汽油、柴油以外的燃料&#xff09;&#xff0c;将先进技术进行汽车动力控制和驱动相结 合的汽车。新能源汽车主要包括四种类型&#x…

一套开源、强大且美观的WPF UI控件库 - HandyControl

前言 今天给大家推荐一套开源、强大且美观的WPF UI控件库&#xff1a;HandyControl。 WPF介绍 WPF 是一个强大的桌面应用程序框架&#xff0c;用于构建具有丰富用户界面的 Windows 应用。它提供了灵活的布局、数据绑定、样式和模板、动画效果等功能&#xff0c;让开发者可以创…

MySQL用户与权限管理

快捷查看指令 ctrlf 进行搜索会直接定位到需要的知识点和命令讲解&#xff08;如有不正确的地方欢迎各位小伙伴在评论区提意见&#xff0c;博主会及时修改&#xff09; MySQL用户与权限管理 登录 #本地登录 mysql -uroot -p123456#远程登录 #客户端语法&#xff1a;mysql -…

聚观早报 |快手Q3营收;拼多多杀入大模型;Redmi K70E开启预约

【聚观365】11月23日消息 快手Q3营收 拼多多杀入大模型 Redmi K70E开启预约 华为nova 12系列或下周发布 亚马逊启动“AI就绪”新计划 快手Q3营收 财报显示&#xff0c;快手第三季度营收279亿元&#xff0c;同比增长20.8%&#xff1b;期内盈利21.8亿元&#xff0c;去年同期…

猫罐头多久喂一次?好用的猫罐头牌子推荐

猫爱吃猫罐头&#xff0c;包含各种美味&#xff0c;提供营养和口感。但喂猫吃罐头需技巧和耐心&#xff0c;以确保猫健康快乐成长。 作为一个从业宠物营养师7年的人&#xff0c;可以说对于猫咪的食物很有研究和猫罐头品牌选购上&#xff0c;我有自己的见解。 一、猫罐头多久喂…

40、Flink 的Apache Kafka connector(kafka source 和sink 说明及使用示例) 完整版

Flink 系列文章 1、Flink 部署、概念介绍、source、transformation、sink使用示例、四大基石介绍和示例等系列综合文章链接 13、Flink 的table api与sql的基本概念、通用api介绍及入门示例 14、Flink 的table api与sql之数据类型: 内置数据类型以及它们的属性 15、Flink 的ta…

循环神经网络(RNN)实现股票预测

文章目录 一、前言二、前期工作1. 设置GPU&#xff08;如果使用的是CPU可以忽略这步&#xff09;2. 导入数据 四、数据预处理1.归一化2.设置测试集训练集 五、构建模型六、激活模型七、训练模型八、结果可视化1.绘制loss图2.预测3.评估 一、前言 我的环境&#xff1a; 语言环…

【Rust】快速教程——一直在单行显示打印、输入、文件读写

前言 恨不过是七情六欲的一种&#xff0c;再强大的恨也没法独占整颗心&#xff0c;总有其它情感隐藏在心底深处&#xff0c;说不定在什么时候就会掀起滔天巨浪。——《死人经》 图中是Starship扔掉下面的燃料罐&#xff0c;再扔掉头顶的翅膀后&#xff0c;再翻转过来着陆火星的…

[C++ 从入门到精通] 13.派生类、调用顺序、继承方式、函数遮蔽

&#x1f4e2;博客主页&#xff1a;https://loewen.blog.csdn.net&#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01;&#x1f4e2;本文由 丶布布原创&#xff0c;首发于 CSDN&#xff0c;转载注明出处&#x1f649;&#x1f4e2;现…