Linux(在 Linux 上搭建 java 部署环境(安装jdk/tomcat/mysql) + 将程序部署到云服务器上的操作)

news2024/12/23 19:24:58

目录

🐲 1. 在 Linux 上搭建 java 部署环境

🦄 1.1 安装 jdk

🦄 1.2 安装 tomcat

🦄 1.3 安装 mysql

🐲 2. 将[博客系统]部署到云服务器上

🦄 2.1 先在云服务器上,创建和之前 windows 上一样的数据库 

🦄 2.2 将博客系统程序代码进行打包(war包)

🦄 2.3 进入webapp目录下,然后把刚刚打包好的 war 直接拖拽过去


🐲 1. 在 Linux 上搭建 java 部署环境

为了部署 Java web 程序,需要

1. jdk              2. tomcat              3. mysql

🦄 1.1 安装 jdk

  1. 在 "应用商店" 中搜索 jdk   yum list | grep jdk
  2. 开始下载安装   yum install java-11-openjdk-devel.x86_64
  3. 输入 javac 验证 jdk 是否安装成功

安装 jdk 的方法有很多,但这里使用 yum(相当于应用商店/软件源) 直接安装 openjdk

之前在 Windows 上用的是 oracle 官方的 jdk

openjdk 是开源社区维护的开源版本 (虽然不同,但功能都是兼容的,差别不大)

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

(1) 在 "应用商店" 中搜索 jdk 

yum list | grep jdk

可以看到搜索出很多版本的 jdk 

里面有很多版本的jdk,现在安装 这个版本的jdk(1.8版本 -- devel(软件开发包) -- X86_64位系统)

 然后 ctrl + insert 复制

(2) 开始下载安装 (注意必须是管理员的权限)

需要注意:Linux 上面安装软件会专门有指定的路径

不是你手动指定目录下载,会有自动安装位置进行安排

把刚刚复制的东西粘贴(shift+insert)在 yum install 后面

yum install java-11-openjdk-devel.x86_64

然后他就会自动从网络上下载,下载好后会问你是否需要安装,输入y就可以 

(3) 输入 javac 验证 jdk 是否安装成功


🦄 1.2 安装 tomcat

  1. 下载压缩包
  2. 上传压缩包给Linux (rz 命令,直接拖拽个过去)
  3. 解压缩压缩波 (需要使用 unzip)
  4. 进入 bin 目录
  5. 给启动脚本增加可执行权限 chmod +x *.sh(这个权限要在 bin 目录下进行)
  6. 启动 tomcat
  7. 验证一下 tomcat 启动成功(ps aux | grep tomcat     netstat -anp | grep 8080) 

(1) 在 "应用商店" 中搜索 tomcat

yum list | grep tomcat

 但是可以看到这个 tomcat.noarch 版本是 7.0 的,版本太老了

之前使用的都是 8.5 系列的,所以这里还是希望安装 tomcat.noarch 8.5 版本的

(2) 直接拖拽 tomcat 8.5 版本的压缩包(zip格式)到 Linux 上

具体安装位置就是,放到你的工作目录中就可以

先搞一个 tomcat 8.5 版本的 格式为 zip 的压缩包

tomcat 8.5 安装包下载

(1) 直接搜 tomcat 官网就可以(Apache Tomcat® - Welcome!)

(2) 找到 tomcat 8 版本的

 (3) 下载 zip 格式的(因为 Linux 上默认不支持 rar,最好用 zip)

因为我这里之前是自己在 Windows 上下载了 tomcat 8.5 版本的压缩包,所以现在可以直接把这个压缩包拖到 Linux 上就可以(拖拽到工作目录中)

然后可能就会出现,这拖过去一直没反应,一直传不过去

(3) 如果没有安装成功,那就是没有安装 rz 命令

所以要使用 (输入这行代码进行安装,再输入 y 确认安装)

yum install lrzsz

安装 rz 命令后,就可以直接拖拽了

 用 ll 查看当前工作目录中 是否有 tomcat

 (4) 使用 unzip 命令进行 解压缩

显示这个找不到 unzip 命令,那就下载这个

yum install unzip

安装好后,就可以 unzip 文件压缩包名 进行解压缩了

出现这个说明解压缩成功

 (5) 在bin目录中,需要给这些 .sh 文件加上 可执行权限

chmod +x *.sh

(6) 启动 tomcat

sh startup.sh

(7) 验证一下 tomcat 启动成功

  1. 通过 ps 验证  (ps aux | grep tomcat)
  2. 通过 netstat 验证 (netstat -anp | grep 8080)
  3. 直接通过浏览器访问 tomcat 的欢迎页面

也直接通过浏览器访问 tomcat 的欢迎页面

但是需要打开 防火墙 或者 安全组(这个防火墙是云服务器的)

(1) 如果是 轻量应用服务器, 需要打开 防火墙

(2) 如果是 ECS服务器, 需要打开 安全组

我用的是 阿里云的轻量应用服务器,找到这里的 防火墙 

 然后新建一个防火墙

 输入你的服务器的公网ip然后加上 :8080 如果可以访问到这个页面就说明启动成功了


🦄 1.3 安装 mysql

Linux 安装 mysql 有很多种方式,下面就使用最简单的一种安装方式

使用 yum 安装 mariadb(是 mysql 的同胞兄弟)

(1) 安装

直接复制这四个命令分别执行就可以了,有的命令是有依赖关系的

比如我执行(1)时,(2)和(3)就自动包含在(1)中自己执行了,不管怎么样,4条都复制执行一次就可以了

//(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

(2) 启动

//(1) 启动服务
systemctl start mariadb

//(2) 设置服务开启自启动
systemctl enable mariadb

//(3) 查看服务状态
systemctl status mariadb

(3) 测试连接

使用命令行客户端尝试连接

mysql -uroot

默认密码是 ""

创建数据库时为了支持中文,统一使用 utf8mb4 字符集

MariaDB [(none)]> create database demo_db charset utf8mb4;


🐲 2. 将[博客系统]部署到云服务器上

前面安装 jdk tomcat mysql 都是为了把我们自己写的页面程序部署到服务器上,下面就进行部署

进入 mysql 直接输入 mysql 就可以;   退出 输入 ctrl + d

  1. 先在云服务器上,创建和之前 windows 上一样的数据库 
  2. 将博客系统程序代码进行打包(war包)
  3. 进入webapp目录下,然后把刚刚打包好的 war 直接拖拽过去

🦄 2.1 先在云服务器上,创建和之前 windows 上一样的数据库 

博客系统部署到云服务器,此时就要让部署的程序访问云服务器上的数据库了

而之前在 windows 上搞的数据库都是本地数据库的数据, 云服务器上的数据库还啥都没有

那就要构造数据给云服务器上的数据库(复制粘贴 db.sql 的内容,在云服务器的数据库中执行)

需要注意的一点时,在这个 Linux 上创建数据库要指定字符编码格式,

这里创建好后,user表 和 blog表 中放入数据 


🦄 2.2 将博客系统程序代码进行打包(war包)

a. 修改 pom.xml, 把打包的类型改为 war,同时设定 war 包名

b. 修改一下连接数据库的代码

c. 进行打包


🦄 2.3 进入webapp目录下,然后把刚刚打包好的 war 直接拖拽过去

war 包拖拽过去后, tomcat 就会自动检测到 war 包,就会自动解压 war 包 

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

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

相关文章

德勤、阿里为数据智能时代造势,是风口还是韭菜?

前不久,德勤和阿里高调发布了业内首个DAAS报告《DAAS数字化新世代的最优解》,强调“企业不应该继续将数据智能建设当作‘选择题’,而是一道‘必答题’!” 德勤管理咨询中国首席执行官戴耀华(右)与阿里巴巴集…

自学编程技术如何选择书籍?

首先自学编程的话,也是要先确定要选择适合自己的编程语言。然后再购买相应的编程教材,不知道怎么选择的话,可以直接选择黑马的原创书籍。 《C语言开发基础》 内容简介 本书是对《C语言开发入门教程》一书的全新改版,本次改版结合…

智能驾驶穿越“寒冬”:Argo AI们倒下,复睿智行们崛起

作者 | 曾响铃 文 | 响铃说(xiangling0815) 寒气还在智能驾驶领域蔓延。 在过去的一段时间,裁员、倒闭、破产、市值下跌、巨头撤离等等一系列不好的消息在智能驾驶行业频频爆出,一批老牌的智能驾驶企业更是倒在了黎明前。 智能…

OpenCV实战——实现高效图像扫描循环

OpenCV实战——实现高效图像扫描循环0. 前言1. 测量代码运行时间2. 计算不同扫描算法的执行时间4. 完整代码及运行结果相关链接0. 前言 在《像素操作》一节中,我们介绍了扫描图像以处理其像素的不同方法。在本节中,我们将学习比较这些方法的计算效率。编…

Linux篇 一、香橙派Zero2设置开机连接wifi

香橙派Zero2系列文章目录 一、香橙派Zero2设置开机连接wifi 文章目录香橙派Zero2系列文章目录前言一、调试串口的连接说明二、WIFI 连接测试1.首先使用 nmcli dev wifi 命令扫描周围的 WIFI 热点2.找到自己的wifi,准备好wifi名称和密码三、设置开机连接WiFi总结前言…

【MySQL】第10章_创建和管理表

创建和管理表1. 基础知识1.1 一条数据存储的过程1.2 标识符命名规则1.3 MySQL中的数据类型2. 创建和管理数据库2.1 创建数据库2.2 使用数据库查看当前所有的数据库查看当前正在使用的数据库查看指定库下所有的表查看数据库的创建信息使用/切换数据库2.3 修改数据库更改数据库字…

RadZen 最新注册版,2022年末圣诞-happy

RadZen快速简单地生成业务 Web 应用程序,以可视化方式构建和启动 Web 程序,而我们会为您创建新代码。 从信息开始 连接到数据库。Radzen 推断您的信息并生成功能完备的 Web 应用程序。支持 MSSQL REST 服务。 微调添加页面或编辑生成的页面。通过预览您…

vue使用高德地图,marker低于1000,滑动卡顿问题的探究(已解决)

问题描述 vue使用高德地图点标记,刚开始使用的是Marker,但是数目超过300,滑动就卡顿,按文档来说,Marker 类型推荐在数据量为 500 以内时使用,不应该卡顿。后边就开始对这个bug进行两天脑秃的探究了 1.换成…

pytorch-天气识别

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍦 参考文章地址: 365天深度学习训练营-第P3周:天气识别🍖 作者:K同学啊一、前期准备 1.设置GPU import torch import torch.nn as nn impor…

MAC苹果系统安装数字证书的方法

MAC苹果系统安装数字证书的方法之工具/原料 Mac OS电脑一台 数字证书 先讲讲安装方法,mac系统默认浏览器是Safari,那小D在这里就以Safari浏览器为例子,讲解一下相关的安装方法 如果已有开通了数字证书的用户,在重装了系统或是在没有安装安装证书的电脑上进行付款时,会提…

【ELM回归预测】基于非洲秃鹫算法优化极限学习机预测附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

FL Studio水果21版本助力原创音乐人(中文完整版All Plugins)

最近,网上算是“风言风语”吧,关于FL Studio是否出21版的说法各异。首先呢,这里先肯定一点,FL Studio即将出FL Studio 21版本,但是正式版已经出来。希望大家不要被网上一些所谓冒充发布的FL Studio21正式版所骗&#x…

信息系统分析与设计:摊位管理信息系统

摊位管理信息系统的分析与设计 1 市场分析 1.1 地摊经济发展背景 1.2 地摊经济逐渐复苏 1.3 地摊经济的放管服 2 目标市场定位 2.1 普通城市居民 2.2 政府相关管理部门 3 系统主要介绍 3.1 系统创新描述 3.2 主要搭建流程 3.3 主要业务模块 3.4 业务流程图 3.5 组…

Vue学习笔记--第二章(尚硅谷学习视频总结)

第二章 Vue组件化编程第二章 Vue组件化编程2.1. 模块与组件、模块化与组件化2.1.1. 模块2.1.2. 组件2.1.3. 模块化2.1.4. 组件化2.2. 非单文件组件2.2.1. 基本使用2.2.2. 组件注意事项2.2.3. 组件的嵌套2.2.4. VueComponent2.2.5. 一个重要的内置关系2.3. 单文件组件第二章 Vue…

【C#基础学习】第十七章、数组

目录 数组 1.数组的类型 1.1 一维数组和矩形数组 1.1.1实例化一维数组和矩形数组 1.2 访问数组元素 1.3 初始化数组 1.3.1 显式初始化一维数组 1.3.2 显式初始化矩形数组 1.3.3 显式初始化的快捷语法 1.3.4 隐式类型数组 1.4 交错数组 1.4.1 声明交错数组 1.4.2 实例…

bump map(凹凸贴图)的一个简单生成方法

用于渲染物体表面,增加真实感的bump map(凹凸贴图)的一个简单生成方法。 1. 在 Perlin Noise Map Generator - OpenProcessing 生成一个perlin noise map, 点击代码按钮,修改生成图像的分辨率 点击 paly 按钮,设置参数&#xf…

学习笔记-3-SVM-10-SVR

细节内容请关注微信公众号:运筹优化与数据科学 ID: pomelo_tree_opt outline 1. Linear regression 2. Support vector regression 3. SVR vs. SVM 4. Linear SVR 5. Kernel SVR ------------------------------------ 1. Linear regression OR里最常使用的…

【从零开始学习深度学习】15. Pytorch实战Kaggle比赛:房价预测案例【含数据集与源码】

基于之前学习的内容,让我们动手实战一个Kaggle比赛的:房价预测实战案例。Kaggle是一个著名的供机器学习爱好者交流的平台,该房价预测实战网址:https://www.kaggle.com/competitions/house-prices-advanced-regression-techniques …

浅析Linux 内存布局

【推荐文章】 路由选择协议——RIP协议 纯干货,linux内存管理-内存管理架构(建议收藏) 轻松学会linux下查看内存频率,内核函数,cpu频率 X86体系结构 在X86体系结构下,物理内存地址一般从0x0000_0000开始,而Linux内核主…

微信小程序实战之获取用户信息并保存唯一实例

前言 这是我参加掘金启航计划的第二篇文章,这次总结的是获取用户信息并联合 mobx 状态管理库,保存全局唯一的用户对象。 本篇文章基于 微信云开发 ,数据从云数据库中取出,使用微信云数据库API进行获取数据,希望观众老…