在Ubuntu相关Linux发⾏版操作系统上进行Java项目的简单部署

ops/2024/12/12 18:55:37/

目录

1.apt

 2.安装JDK

3.安装MySQL 

4.部署 Web 项⽬到 Linux 


1.apt

apt(Advanced Packaging Tool), Linux软件包管理⼯具. ⽤于在Ubuntu、Debian和相关Linux发⾏版 上安装、更新、删除和管理deb软件包.

⼤多数apt命令必须以具有sudo权限的⽤户⾝份运⾏.

apt常⽤命令

列出所有软件包

 apt list

这个命令输出所有包的列表, 内容⽐较多, 可以使⽤grep命令过滤输出

apt list |grep "~~~~~" 

 更新软件包数据库

sudo apt -get update

 安装软件包

sudo apt install package_name
移除软件包
sudo apt remove package_name
remove命令将卸载给定的软件包,但可能会留下⼀些配置⽂件。如果要删除包含所有配置⽂件的软件 包,请使⽤purge⽽不是remove。
如果切换到root⽤⼾, 命令前就不需要加 sudo了
切换root⽤户
sudo su

 


 2.安装JDK

# 查找 jdk
apt list |grep "jdk"
# 安装 jdk
sudo apt install open jdk-xxx-jdk//xxx为jdk的版本

 此处安装的是OpenJDK, OpenJDK是⼀个开源版本的 JDK, 和 Oracle 官⽅的 JDK 略有差别。

使⽤ java -version 验证是否安装成功

 如果提⽰ "java 命令找不到" 则说明安装失败.


3.安装MySQL 

# 安装 mysql
sudo apt install mysql-server

查看MySQL状态 

sudo systemctl status mysql

运行MySQL初始化安全脚本

sudo mysql_secure_installation 

 MySQL创建用户和授权

# 登录mysql并输入密码
mysql -u root -p
 
 #若是自用,其实也没必要设密码
alter user 'root'@'localhost' identified by '这里填你要的密码';


4.部署 Web 项⽬到 Linux 

程序正常运⾏, 需要保证环境和程序都要正确, 我们需要先设置环境
1.数据准备
按照之前的数据库建表脚本, 在服务器上运⾏, 建⽴相同的表结构。
2.程序配置⽂件修改
实际⼯作中, 开发环境, 测试环境以及⽣产环境的配置都是不⼀样的
⽐如mysql的⽤户名和密码
我们可以针对不同的环境, 设置不同的配置
 3. 多平台⽂件配置
针对不同平台创建不同的配置⽂件, 要求名字为application-XXX.yml或者application-XXX.properties
例子:
固定格式, 只有后⾯的字⺟可以修改
在配置⽂件⾥写不同的内容。
在主配置⽂件 application.yml 中指定配置⽂件, 并删除数据库相关配置
spring.profiles.active=@profile.name@

 在pom.xml文件中

<profiles><profile><id>dev</id><properties><profile.name>dev</profile.name></properties></profile><profile><id>prod</id><properties><profile.name>prod</profile.name></properties></profile></profiles>

刷新后

4.构建项⽬并打包

记得刷新和勾选。

 点击顺序:闪电->clean->package

6.上传Jar包到服务器,

直接拖动打好的jar包到xshell窗⼝即可完成⽂件的上传

 

Xshell 可以直接拖动⽂件到窗⼝, 达到上传⽂件的⽬的, 如果使⽤其他客户端,不⽀持⽂件的上传, 需要 借助lrzsz命令

7.运⾏程序  

我的jar 包是onlinemusic-0.0.1-SNAPSHOT.jar。

以我的jar包为例。

1.前台运行

java -jar onlinemusic-0.0.1-SNAPSHOT.jar

2.后台运行

nohup java -jar onlinemusic-0.0.1-SNAPSHOT.jar >>log.log & 

 

开放端⼝号
如果外⽹需要访问该服务, 需要先服务器防⽕墙开放对应的端⼝号

以腾讯云服务器举例

1.进⼊防⽕墙管理⻚⾯

2.添加规则

 

端⼝号写需要开放的端⼝号, 多个端⼝号以逗号分割。

验证程序:IP改为云服务器的IP, Port改为项⽬的端⼝号 

8.杀掉进程 

如果我们需要重启服务, 或者重新部署等, 都需要先停⽌之前的服务.
1.查看当前服务的进程
ps -ef | grep java

2.杀掉进程

kill -9 PID (进程号)


 

以上为我个人的小分享,如有问题,欢迎讨论!!! 

都看到这了,不如关注一下,给个免费的赞 


http://www.ppmy.cn/ops/141308.html

相关文章

VirtIO实现原理之数据结构与数据传输演示(3)

接前一篇文章:VirtIO实现原理之数据结构与数据传输演示(2) 本文内容参考: VirtIO实现原理——vring数据结构-CSDN博客 VirtIO实现原理——数据传输演示-CSDN博客 特此致谢! 一、数据结构总览 2. 相关数据结构 前文书介绍了《Virtual I/O Device (VIRTIO) Versi

计算机毕业设计hadoop+spark+hive图书推荐系统 豆瓣图书数据分析可视化大屏 豆瓣图书爬虫 知识图谱 图书大数据 大数据毕业设计 机器学习

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…

vue3二次封装elementPlus的dialog弹窗组件

1、在components目录下新建一个弹窗.vue文件&#xff0c;我这里是demoDialog.vue。 ~template <template><div><el-dialog title"标题" v-model"visible" with"600px"><div class"dialog-content">我是弹窗&…

Java虚拟机启动时默认携带参数(jdk8)

在cmd窗口里输入 java -XX:PrintCommandLineFlags -version 输出参数如下 -XX:InitialHeapSize531771072 -XX:MaxHeapSize8508337152 -XX:PrintCommandLineFlags -XX:UseCompressedClassPointers -XX:UseCompressedOops -XX:-UseLargePagesIndividualAllocation -XX:UseParalle…

网络安全法 -网络信息安全

第四章 网络信息安全 第四十条 网络运营者应当对其收集的用户信息严格保密&#xff0c;并建立健全用户信息保护制度。 第四十一条 网络运营者收集、使用个人信息&#xff0c;应当遵循合法、正当、必要的原则&#xff0c;公开收集、使用规则&#xff0c;明示收集、使用信息的…

树莓派3B+驱动开发(2)- LED驱动(传统模式)

github主页&#xff1a;https://github.com/snqx-lqh 本项目github地址&#xff1a;https://github.com/snqx-lqh/RaspberryPiDriver 本项目硬件地址&#xff1a;https://oshwhub.com/from_zero/shu-mei-pai-kuo-zhan-ban 欢迎交流 笔记说明 如我在驱动开发总览中说的那样&…

【智体OS】官方上新发布智体电视:基于rtpc和rttouchpad实现智体电视的手机遥控-可安装任意PC应用用于智体电视

【智体OS】官方上新发布智体电视&#xff1a;基于rtpc和rttouchpad实现智体电视的手机遥控-可安装任意PC应用用于智体电视 dtns.network是一款主要由JavaScript编写的智体世界引擎&#xff08;内嵌了three.js编辑器的定制版-支持以第一视角浏览3D场馆&#xff09;&#xff0c;…

架构13-持久化存储

零、文章目录 架构13-持久化存储 1、Kubernetes 存储设计 &#xff08;1&#xff09;存储设计考量 **设计哲学&#xff1a;**Kubernetes 遵循用户通过资源和声明式 API 描述意图&#xff0c;Kubernetes 根据意图完成具体操作。**复杂性&#xff1a;**描述用户的存储意图本身…