在Linux上部署Servlet程序

news2024/9/23 9:31:48

目录

一、部署环境

1、安装JDK

2、安装Tomcat

3、安装MySQL

二、部署程序

1、构造云服务器上的数据库

2、打包程序

3、部署程序


一、部署环境

为了部署我们自己的web程序,首先需要在Linux上安装程序所依赖的环境~

1、安装JDK

直接使用yum安装openjdk,openjdk虽然和oracle官方的jdk不同,但功能都是兼容的,差别不大。

(Linux虽然也能安装官方jdk,但是比较麻烦)

命令行中输入:yum install java-1.8.0-openjdk-devel.x86_64

下载完成后会询问是否要安装,此时直接输入y即可~

安装完成后,输入javac验证是否安装成功,如果提示说找不到javac命令时,说明安装失败了~

下图表示安装成功后的结果:

2、安装Tomcat

(1) 列出包含tomcat关键字的安装包

找到需要安装的版本直接复制文件名,然后 yum install 文件名(跳转到第三步,安装MySQL)

如果没有对应的安装包,则需要先在Windows上下载tomcat压缩包~

(2) 把tomcat压缩包上传到Linux上(鼠标按住压缩包直接拖到Linux里)

上传成功后会有下图这样的对话框:

如果无法把压缩包拖进Linux里,说明当前系统缺少rz命令,需要先使用 yum install lrzsz 安装rz命令后,就可以拖进去了~

(3) 使用unzip命令解压缩

输入 unzip 文件名对tomcat压缩包进行解压缩操作:

如果提示找不到unzip命令,那么就需要先yum install unzip,然后再进行unzip操作~

解压缩完成后就会得到tomcat目录:

(4) 给启动脚本增加可执行权限

先进入到刚才解压缩后的apache-tomcat-8.5.72/bin目录里,

然后输入:chmod +x *.sh

(5) 启动tomcat

输入: sh startup.sh

通过端口号验证是否启动成功,输入:netstat -anp | grep 8080

如果出现上图这样的结果,说明tomcat启动成功了~

也可以直接通过浏览器访问tomcat的欢迎页面来验证,前提是需要开启云服务器的防火墙/安全组

(1) 进入到自己的云服务器控制台,找到防火墙/安全组,选择“添加规则”

(2)  添加新的规则,绑定端口号为8080

 

3、安装MySQL

Linux安装mysql有很多种方式,此处使用最简单的一种——使用yum安装mariadb

(mariadb和mysql的API都是兼容的)

(1) 安装mariadb服务

yum install -y mariadb-server

(2) 安装mariadb命令行客户端

yum install -y mariadb

(3) 安装mariadb C library

yum install -y mariadb-libs

(4) 安装mariadb 开发包

yum install -y mariadb-devel

(5) 启动mariadb

systemctl start mariadb

(6) 测试连接

 mysql -uroot

(7) 创建数据库时设置字符集

create database demo charset utf8mb4

上述内容参考自:CentOS 7 通过 yum 安装 MariaDB - 知乎 (zhihu.com) 

二、部署程序

1、构造云服务器上的数据库

        我们的程序之前使用的是本地的数据库,而云服务器上的数据库还是空着的,所以需要先构造云服务器的数据库~

输入mysql-uroot命令进入到云服务器数据库后,把sql代码拷贝到云服务器的数据库中即可~

2、打包程序

        接下来把我们的项目打包成一个war包,注意数据库的password是否需要调整(调整为云服务器数据库的密码)

3、部署程序

        打开Linux,进入到tomcat的webapps目录,然后把刚才打包好的war包上传到webapps目录下即可~ (tomat会自动对war包进行解压缩和部署)

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

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

相关文章

小程序云开发笔记二

小程序云开发笔记二一、读取数据库播放列表将数据显示到界面二、上拉加载三、上拉刷新四、云函数路由优化tcb-router案例:点击两个按钮调用同一个云函数将music中写成koa风格的云函数五、事件冒泡组件参数properties和data一、读取数据库播放列表将数据显示到界面 …

java同步方法

观看此文 首先 你要了解 java的同步锁 如果不了解 可以观看我的文章 java 同步锁synchronized 解决线程共享数据重复操作问题 那么 从下图 我们可以看到 逻辑代码上被绑了一个同步锁 但这个其实大可以写成一个函数 看起来会美观便捷很多 同步方法的格式如下 修饰符 synchro…

git switch 命令详解

1. 前言 2. switch 创建分支 3. switch 切换分支 1. 前言 checkout 命令具有 分支的管理 和 文件的恢复 两个核心功能,功能较多、不够准确。在 git 2.23 版本中新增了 switch 和 restore命令,用于替代 checkout 命令,进而分化 checkout 命…

(附源码)springboot大学生竞赛管理平台 毕业设计

题 目 springboot大学生竞赛管理平台 目 录 摘要 1 1 绪论 1 1.1选题意义 1 1.2国内外研究现状 1 1.3系统开发技术的特色 4 1.4论文结构与章节安排 4 2 大学生竞赛管理平台分析 5 2.1 可行性分析 5 2.2 系统流程分析 6 2.2.1数据增加流程 7 2.3.2数据修改流程 7 2.3.3数据删…

java面向对象----封装 构造器

目录 封装和隐藏 为什么需要封装? 信息的封装和隐藏 四种访问权限修饰符 构造器(构造方法) 构造器的特征 语法格式: 构造器重载 构造器重载举例 属性赋值过程 JavaBean UML类图 关键字—this this是什么? 使用this,…

计算机网络笔记2 物理层

计算机网络系列笔记目录👇 计算机网络笔记6 应用层计算机网络笔记5 运输层计算机网络笔记4 网络层计算机网络笔记3 数据链路层计算机网络笔记2 物理层计算机网络笔记1 概述 本文目录文章前言 💗一、物理层概述😊二、物理层的传输媒体&#x…

Spring源码该如何阅读?十年架构师带来的Spring源码解析千万不要错过!

写在前面 最近学习了一句话,感觉自己的世界瞬间明朗,不再那么紧张焦虑恐慌,同样推荐给大家,希望我们都终有所得。 “如果一个人不是发自内心地想要做一件事情,那么,他是无法改变自己的人生的。” 同样这句…

4. 死信队列

二八佳人体似酥,腰间仗剑斩愚夫。虽然不见人头落,暗里教君骨髓枯。 死信 概念 先从概念解释上搞清楚这个定义,死信,顾名思义就是无法被消费的消息,字面意思可以这样理 解,一般来说,producer 将…

「Redis」05 Jedis操作Redis

笔记整理自【尚硅谷】Redis 6 入门到精通 超详细 教程 Redis——Jedis操作Redis 即通过 Java 操作 Redis。 1. Jedis基本操作 Ⅰ. 测试连接 连接Redis注意事项 禁用Linux的防火墙:Linux(CentOS7)里执行命令:systemctl stop/disab…

我的周刊(第068期)

我的信息周刊,记录这周我看到的有价值的信息,主要针对计算机领域,内容主题极大程度被我个人喜好主导。这个项目核心目的在于记录让自己有印象的信息做一个留存以及共享。🎯 项目osquery[1]像操作 SQL 一样操作你的电脑&#xff0c…

康复训练的未来:VR和元宇宙如何帮助患者康复

欢迎来到Hubbleverse 🌍 关注我们 关注宇宙新鲜事 📌 预计阅读时长:7分钟 本文仅代表作者个人观点,不代表平台意见,不构成投资建议。 一位有平衡问题的患者站在波速球上,同时在两只潇洒的企鹅之间击打着…

第十六章 品质保证:发布覆盖率测试报告

代码覆盖率才是评价一个项目品质的标准。在挑选一个项目的时候,有经验的使用者都会根据代码覆盖率来确定代码的可靠性。 虽然自动化测试工具可以自动验证代码的正确性,但是如果只有部分代码经过了测试,或者只是简单地跑通了代码,…

BlockingQueue二

接着上篇BlockingQueue没讲完的 LinkedTransferQueue LinkedTransferQueue是一个由链表结构组成的无界阻塞队列,相对于其它阻塞队列,LinkedBlockingQueue可以算是LinkedBlockingQueue与SynhronoousQueue结合,LinkedtransferQueue是一种无界…

Unity学习笔记--详细介绍CacheServer、部署方法、以及在Unity中的位置

目录前言CacheServer是什么?解决了什么问题?其他知识点在哪里找到Cache Server?怎么部署CacheServer?Unity什么时候需要生成内部文件?CacheServer缓存的是什么?随着越来越多的资源被导入和存储,…

实战-COVID-19-KSH(html+ python +django +爬虫 +pyecharts 实时疫情动态)内附MySQL详细安装配置教程

GitHub代码 Windows10 python3.7 一、MySQL配置 1.官网下载地址 2.配置初始化文件my.ini 解压后在根目录下创建my.ini文件(建立.txt-修改扩展名为.int即可) 打开my.ini文件,输入以下内容(注意需要改动2处)&#x…

求一个网页设计作业——个人博客(HTML+CSS)

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

9.Springboot整合Security很全

1.什么是Security SpringSecurity是基于Spring AOP和Servlet过滤器的安全框架。 它提供全面的安全性解决方案,同时在Web 请求级和方法调用级处理身份确认和授权。 2.Spring Security核心功能? (1)认证(你是谁&…

薪资25k,从华为外包测试“跳”入字节,说说我转行做测试的这5年...

转行测试5年了 当时因为家里催促就业,在其中一个室友的内推下进入了一家英语教培机构,前期上班和工资都还算满意,甚至觉得自己找到了一份很稳定的工作了,可是好景不长,“双减政策”的到来,让公司的经济遭受…

Linux进程间通讯技术

Linux进程间通讯 文章目录Linux进程间通讯1.进程通讯基本认知1.1 进程通讯的概念1.2 进程通讯的目的1.3 进程通讯的本质1.4 进程通讯的分类2.管道技术基本认知2.1 管道的概念2.2 为什么需要管道2.3 管道的四个特点2.4 管道的四种情况2.5 管道的大小获取2.6 命名管道与匿名管道的…

MyBatis-Plus条件构造器[常用的模糊查询、排序查询、逻辑查询和指定字段查询案例]

系列文章目录 Mybatis-Plus知识点[MyBatisMyBatis-Plus的基础运用]_心态还需努力呀的博客-CSDN博客 Mybatis-PlusSpringBoot结合运用_心态还需努力呀的博客-CSDN博客MyBaits-Plus中TableField和TableId用法_心态还需努力呀的博客-CSDN博客 MyBatis-Plus中的更新操作&#x…