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

目录

1.apt

2.安装JDK

3.安装MySQL

[4.部署 Web 项⽬到 Linux](#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 (进程号)


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

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

相关推荐
技术小齐2 小时前
网络运维学习笔记 016网工初级(HCIA-Datacom与CCNA-EI)PPP点对点协议和PPPoE以太网上的点对点协议(此处只讲华为)
运维·网络·学习
ITPUB-微风2 小时前
Service Mesh在爱奇艺的落地实践:架构、运维与扩展
运维·架构·service_mesh
打不了嗝 ᥬ᭄2 小时前
Linux的权限
linux
落幕2 小时前
C语言-进程
linux·运维·服务器
深度Linux3 小时前
C++程序员内功修炼——Linux C/C++编程技术汇总
linux·项目实战·c/c++
chenbin5203 小时前
Jenkins 自动构建Job
运维·jenkins
java 凯3 小时前
Jenkins插件管理切换国内源地址
运维·jenkins
AI服务老曹3 小时前
运用先进的智能算法和优化模型,进行科学合理调度的智慧园区开源了
运维·人工智能·安全·开源·音视频
风静如云4 小时前
OpenBMC:BmcWeb定义service
linux
sszdzq4 小时前
Docker
运维·docker·容器