教你如何将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;此类函数的原…

H3C路由器基本配置命令

1、system-view 进入系统视图 2、sysname R1 配置路由器名字为R1 3、display clock 查看当前系统时间 4、clock datetime 00:00:00 2/26/2023 用户模式下修改系统时间 配置控制台密码 Console&#xff1a; 1、user-interface aux0 在系统模式下进入图接口 2、authentication-mo…

2023亚太赛c题完整思路数据 数学建模亚太

Question 1: Analyze the main factors that affect the development of new energy electric vehicles in China, establish a mathematical model, and describe the impact of these factors on the development of new energy electric vehicles in China. 问题1:分析影响…

office 365企业版安装教程

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

Linux命令(130)之hwclock

linux命令之hwclock 1.hwclock介绍 linux命令hwclock是用来显示硬件时钟 2.hwclock用法 hwclock [参数] hwclock参数 参数说明-s让系统时间同步硬件时间-w让硬件时间同步系统时间 3.实例 3.1.同步服务器时钟时间 命令&#xff1a; ntpdate pool.ntp.org [rootrhel77 ~…

【vin 国标正则校验】

规则一 var checkVINfunction(VIN){if(typeof(VIN)!string) return false;if(VIN.length!17) return false;VINVIN.toUpperCase();RE/^[A-HJ-NPR-Z\d]{8}[X\d][A-HJ-NPR-Z\d]{3}\d{5}$/if(!RE.test(VIN)) return false;let cOT{0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:1,B…

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;让开发者可以创…

关于Redis底层的两个问题

1. 为什么Redis不共享包含字符串的对象&#xff1f; 当服务器考虑将一个共享对象设置为键的值对象时&#xff0c;程序首先需要检查给定的共享对象和键想要创建的目标对象是否完全相同&#xff0c;只有在共享对象和目标对象完全相同的情况下&#xff0c;程序才会将共享对象用作…

SOEM主站开发篇(3):为APP程序添加命令

0 工具准备 1.SOEM-1.4.0源码(官网:http://openethercatsociety.github.io/) 2.Linux开发板(本文为正点原子I.MX6U ALPHA开发板) 3.交叉编译工具(arm-linux-gnueabihf-gcc) 4.cmake(版本不得低于3.9,本文为3.9.2) 5.Ubuntu 16.04(用于编译生成Linux开发板的可执行文…

【追求卓越06】算法--递归

引导 递归算法算是我们比较常用的一种算法。但是想用好并不简单。本章我不再介绍简单的概念&#xff0c;主要讲解递归算法的优缺点和如何用递归写代码。 个人爱好 其实相对于使用while循环&#xff0c;我更喜欢使用递归算法。为什么呢&#xff1f; 使用递归算法代码往往会变…