浅谈如何在linux上部署java环境

文章目录

  • 一、部署环境
    • 1.1、JDK
    • 1.2、Tomcat
    • 1.3、MySQL
  • 二、将自己写的的程序部署到云服务器上

一、部署环境

为了在linux上部署 Java web 程序,需要安装一下环境。

1.1、JDK

直接使用 yum 命令安装 openjdk。我们 windows系统上 下载的是 oracle 官方的 jdk。而 openjdk 是开源社区维护的开源版本,所以虽然 oracle 官方的 jdk 和开源社区的 jdk 不是同一个东西,但是他们相差不大,并且功能相互兼容。

linux 上当然可以直接安装官方提供的jdk,但是会比较麻烦。既然有简单的办法,那我们直接使用简单的方法即可。

1)、先明确你打算将 openjdk 安装在哪个目录下,就切换到哪个目录下进行安装。(但是其实jdk安装好后并不是放在这个目录下,linux上面安装软件会有专门的路径,不是我们指定目录下载,就下载到哪里的)
2)、yum list | grep jdk

在这里插入图片描述
3)、yum install jdk版本(或者 yum install -y jdk版本)
在这里插入图片描述
4)、javac 检验jdk是否安装成功
在这里插入图片描述

1.2、Tomcat

1)、yum list | grep tomcat

在这里插入图片描述
第一步是从源上获取所有软件包,然后再从这些软件包里筛选出包含 tomcat 关键字的软件包。但是由于我的云服务器使用的版本是 centos7,比较老版,所以没有tomcat8.x系列,一般新版的服务器都会有的。如果源上的软件包没有想要的tomcat版本,去tomcat官网下载压缩包,然后拖拽至云服务器即可。

怎么到tomcat官网下载tomcat压缩包,可以点击浅谈tomcat,到我这篇博课看看。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2)、unzip 压缩包名
使用 unzip 解压缩命令解压缩 tomcat 压缩包。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2)、chmod +x *.sh
该命令可将bin目录下的所有 .sh 文件变为可执行文件。
在这里插入图片描述
3)、sh startup.sh
在linux上启动tomcat。
在这里插入图片描述

4)、通过 ps 验证
验证tomcat是否启动成功
在这里插入图片描述
5)、也可以通过 netstat 验证tomcat是否启动成功
在这里插入图片描述
3)、也可以直接通过浏览器查看tomcat欢迎页面来验证tomcat在linux上启动成功

但是如果你的云服务器 防火墙(轻量服务器改防火墙)/安全组(ecs改安全组)没有开启8080端口,此时即使linux上启动tomcat成功了,也没办法在浏览器看到tomcat的欢迎页面。
在这里插入图片描述
开启云服务器的安全组的8080端口(我以阿里轻量服务器为示例,演示如何开启):
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
此时就可以访问tomcat的欢迎页面了。
在这里插入图片描述

1.3、MySQL

选择最简单的安装方式,使用yum命令安装 mariadb 数据库,此数据库与 mysql 数据库功能相差不大,相互兼容。
安装流程

二、将自己写的的程序部署到云服务器上

1)、云服务器数据库得含有自己项目的库、表
当我们将自己的项目部署到云服务器上时,首先需要让云服务器上的数据库中含有自己项目对应的数据库、表。因为我们项目之前建的数据库、表是在本地的,项目部署到云服务器上就需要让项目访问的是云服务器上的数据库、表。

直接将本地的数据库、表脚本拷贝到云服务器上的数据库里执行即可。

2)、微调连接数据库的代码:主要改一下数据库名、数据库密码、以及数据库端口(端口号要和云服务器上mysql占用的端口一致)

3)、要是代码变化了,需要重新打包项目进行部署。

4)、有时候项目运行在本地是能够成功的,但是运行在云服务器上不一定能够成功。

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

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

相关文章

uniapp uniCloud云开发

uniCloud概述 uniCloud 是 DCloud 联合阿里云、腾讯云、支付宝云,为开发者提供的基于 serverless 模式和 js 编程的云开发平台。 uniCloud 的 web控制台地址:https://unicloud.dcloud.net.cn 文档:https://doc.dcloud.net.cn/uniCloud/ un…

python 第6册 辅助excel 002 批量创建非空白的 Excel 文件

---用教授的方式学习 此案例主要通过使用 while 循环以及 openpyxl. load_workbook()方法和 Workbook 的 save()方法,从而实现在当前目录中根据已经存在的Excel 文件批量创建多个非空白的Excel 文件。当运行此案例的Python 代码(A002.py 文件&#xff0…

AnyView 对 SwiftUI 性能的影响

文章目录 前言测试设置动画卡顿浏览数据没有 AnyView 有 AnyView在浏览数据时修改没有 AnyView 有 AnyView分析结果总结 前言 AnyView 是一种类型擦除的视图,对于 SwiftUI 容器中包含的异构视图非常方便。在这些情况下,你不需要指定视图层次结构中所有视…

Java环境变量的设置

JAVA环境变量的设置 1.设置环境变量的作用2.如何设置环境变量2.1 找到系统的环境变量2.2 设置环境变量 1.设置环境变量的作用 说明:在Java中设置环境变量主要是为了能够让Java运行时能够找到Java开发工具包(JDK)的安装位置以及相关的库文件。…

【强化学习】第01期:绪论

笔者近期上了国科大周晓飞老师《强化学习及其应用》课程,计划整理一个强化学习系列笔记。笔记中所引用的内容部分出自周老师的课程PPT。笔记中如有不到之处,敬请批评指正。 文章目录 1.1 概述1.2 Markov决策过程1.2.1 Markov Process (MP) 马尔科夫过程1…

大模型对汽车行业意味着什么?_汽车企业大模型

引 言 大模型是一种利用海量数据进行训练的深度神经网络模型,其特点是拥有庞大的参数规模和复杂的计算结构。通过在大规模数据集上进行训练,大模型能够学习到丰富的模式和特征,从而具备强大的泛化能力,可以对未知数据做出准确的预…

Qt实战项目——贪吃蛇

一、项目介绍 本项目是一个使用Qt框架开发的经典贪吃蛇游戏,旨在通过简单易懂的游戏机制和精美的用户界面,为玩家提供娱乐和编程学习的机会。 游戏展示 二、主要功能 2.1 游戏界面 游戏主要是由三个界面构成,分别是游戏大厅、难度选择和游戏…

【LeetCode刷题】3099.哈沙德数

题目链接 3099. 哈沙德数 - 力扣(LeetCode) 实现代码 int sumOfTheDigitsOfHarshadNumber(int x) {int sum 0;for(int temp x; temp; temp / 10)sum temp % 10;return x%sum ? -1 : sum; }

【C语言】指针经典例题

题1&#xff1a; #include <stdio.h>int main() {int a[5] { 1, 2, 3, 4, 5 };int* ptr (int*)(&a 1);printf("%d,%d", *(a 1), *(ptr - 1));return 0; } //程序的结果是什么&#xff1f; 解答如下&#xff1a; 题2&#xff1a; #include <std…

NSSCTF-Web题目18(反序列化)

目录 [NISACTF 2022]babyserialize 1、题目 2、知识点 3、思路 [SWPUCTF 2022 新生赛]ez_ez_unserialize 4、题目 5、知识点 6、思路 [NISACTF 2022]babyserialize 1、题目 2、知识点 反序列化、绕过过滤、命令执行 3、思路 <?php include "waf.php";…

【ES】--Elasticsearch的翻页详解

目录 一、前言二、from+size浅分页1、from+size导致深度分页问题三、scroll深分页1、scroll原理2、scroll可以返回总计数量四、search_after深分页1、search_after避免深度分页问题一、前言 ES的分页常见的主要有三种方式:from+size浅分页、scroll深分页、search_after分页。…

《昇思25天学习打卡营第7天|函数式自动微分》

文章目录 今日所学&#xff1a;一、函数与计算图二、微分函数与梯度计算三、Stop Gradient四、Auxiliary data五、神经网络梯度计算总结 今日所学&#xff1a; 今天我学习了神经网络训练的核心原理&#xff0c;主要是反向传播算法。这个过程包括将模型预测值&#xff08;logit…

【设计模式】行为型-状态模式

在变幻的时光中&#xff0c;状态如诗篇般细腻流转。 文章目录 一、可调节的灯光二、状态模式三、状态模式的核心组件四、运用状态模式五、状态模式的应用场景六、小结推荐阅读 一、可调节的灯光 场景假设&#xff1a;我们有一个电灯&#xff0c;它可以被打开和关闭。用户可以…

大模型与机器人精彩碰撞-7月5日晚上八点不见不散!

在瞬息万变的科技时代&#xff0c;新兴人工智能和机器人技术的结合正在引领新一轮的创新浪潮。你是否想成为未来科技的领航者&#xff1f;你是否想了解最前沿的AI与机器人技术&#xff1f;行麦科技重磅推出的“AIGC时代的生存法则”AI系列课&#xff0c;将为你揭开大模型与机器…

redis学习(001 介绍)

黑马程序员Redis入门到实战教程&#xff0c;深度透析redis底层原理redis分布式锁企业解决方案黑马点评实战项目 总时长 42:48:00 共175P 此文章包含第1p-第p4的内容 文章目录 介绍差异对比事务区别 认识redis 介绍 两种键值对方式对比 差异对比 事务区别 认识redis

Paimon 在汽车之家的业务实践

汽车之家基于Paimon的实践 摘要&#xff1a;本文分享自汽车之家的王刚、范文、李乾⽼师。介绍了汽车之家基于 Paimon 的一些实践&#xff0c;和一些背景。内容主要为以下四部分&#xff1a; 一、背景 二、业务实践 三、paimon 优化实践 四、未来规划 一、背景 在使用Paimon之前…

Java---Mybatis详解二

雄鹰展翅凌空飞&#xff0c; 大江奔流不回头。 壮志未酬心未老&#xff0c; 豪情万丈任遨游。 巍巍高山攀顶峰&#xff0c; 滔滔黄河入海流。 风云变幻凭君舞&#xff0c; 踏遍天涯尽逍遥。 目录 一&#xff0c;环境准备 二&#xff0c;删除 三&#xff0c;删除(预编译SQL) 为什…

无法定位程序输入点Z9 qt assertPKcS0i于动态链接库F:\code\projects\06_algorithm\main.exe

解决方法&#xff1a; 这个报错&#xff0c;是因为程序在运行时没要找到所需的dll库&#xff0c;如果把这个程序方法中对应库的目录下执行&#xff0c;则可正常执行。即使将图中mingw_64\bin 环境变量上移到msvc2022_64\bin 之前也不可以。 最终的解决方法是在makefile中设置环…

RealMAN:大规模真实录制且经过注释的麦克风阵列数据集

在深度学习驱动的多通道语音增强和声源定位系统的开发中&#xff0c;由于缺乏大规模的真实录制数据集&#xff0c;这些系统的训练在很大程度上依赖于房间脉冲响应&#xff08;RIR&#xff09;和多通道扩散噪声的模拟。然而&#xff0c;模拟数据和真实世界数据之间存在的声学失配…

QStringListModel 绑定到QListView

1.QStringListModel 绑定到listView&#xff0c;从而实现MV模型视图 2.通过QStringListModel的新增、删除、插入、上下移动&#xff0c;listView来展示出来 3.下移动一行&#xff0c;传入curRow2 的个人理解 布局 .h声明 private:QStringList m_strList;QStringListModel *m_m…