Java项目怎么从零部署到Linux服务器上?


目录

一.Java环境(JDK)安装

二.数据库(MySQL)安装

三.部署上线

▐ 部署Jar包

▐ 运行程序

▐ 开放端口


一个Java项目首先需要一个支持它编译的Java环境,因此首先要保证服务器上安装的有相应的JDK

一.Java环境(JDK)安装

Ubantu的发行版本举例,下文中的所有命令,如果本身就是root的权限的话就不需要加前面的sudo,如果是高版本的Ubantu的话,成功安装软件后会有一个弹窗提示重启,这个时候按下输入esc即可

首先更新当前的软件包

sudo apt-get update

安装JDK

我们可以打开软件包的列表查看jdk相关的包,我们可以通过该命令了解到我们可安装的版本

apt list | grep "jdk"

然后根据我们项目的需求安装对应的JDK,笔者这里以JDK17为例。一般来说我们在服务器上安装JDK的时候都会选择安装openjdk,首先需要清楚一个概念openjdk和甲骨文官方的jdk是不一样的,我们选择openjdk是因为它有以下的一些优点:

  • 免费:OpenJDK是一个开源项目,任何人都可以免费使用和修改。
  • 兼容性:OpenJDK旨在与Oracle JDK保持高度兼容,这意味着大多数Java应用程序可以在OpenJDK上运行而无需修改。
  • 定制性:由于OpenJDK的开源特性,企业可以根据自己的特定需求定制JDK,例如优化性能或安全性。
sudo apt install openjdk-17-jdk

在安装过程中,可能会提示你是否要进行继续安装,这个时候就需要按 'y' 进行确认

在安装完成后,可以通过查看jdk的版本来验证我们是否安装成功

java -version

如下图则是安装成功的样子 

二.数据库(MySQL)安装

对于一个Java项目当然要有对应的数据库支持服务,一般选择受用最广的MySQL,则我们需要在服务器上安装mysql-server

首先,还是在软件库中查找mysql-server,我们可以在里面看见我们可以安装的版本

apt list | grep "mysql-server"

然后是通过命令正式的安装mysql

sudo apt install mysql-server

安装过程中同样需要我们确认是否进行继续安装,一般来说这种需要我们确认的,统一选择 'y' 就可以了

安装完成后,我们可以查看其状态来验证我们是否安装成功

sudo systemctl status mysql

如下图所示的样子就说明我们按照成功了

 数据库安装好了后是默认没有密码的,这个时候我们可以通过以下命令直接连接上mysql服务

 sudo mysql

连接成功后,使⽤alter user命令修改密码,如下所示则是将root用户的密码改为了123456

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

修改完成后,如果你对密码还是不满意,就可以通过以下的命令继续修改密码,如下就是将root用户的密码改为了123321

set password for root@localhost = password('123321');

三.部署上线

▐ 部署Jar包

首先我们需要通过本地的Maven来对项目进行打包,如果Test代码中有与环境配置相关的操作(⽐如数据库相关的操作),打包可能会失败。点击下图①处的图标可以跳过测试,然后点击clean再点击package即可打包成功。

打包成功会看见Jar包的位置和成功结果

然后就是将这个Jar包放在服务器上,由于我们使用的是Xshell工具来连接的远程服务器,而Xshell工具是为我们提供了方便快捷的文件上传功能的,只需要将文件从本地的文件夹拖拽到Xshel窗口中,即可完成文件的上传(上传位置取决于当前Linux服务器中的路径)

如果上传中一直显示速度为0的话,那就是你服务器上没有安装相应的文件,使用以下命令安装即可

apt-get install lrzsz

如果是CentOS系统则使用以下命令

yum install -y lrzsz

在将Jar包保存在服务器中后可以通过ls命令查看

▐ 运行程序

我们可以通过JDK提供的命令来运行这个Jar包

java -jar jar包名

上述这种方式不太方便,当我们关闭这个命令窗口后,程序就结束运行了,因此我们需要将其设置为后台运行,使用nohup命令即可

nohup : 后台运⾏程序,⽤于在系统后台不挂断地运⾏命令,退出终端不会影响程序的运⾏

nohup java -jar jar包名 &

 对于这个命令,需要对一些参数做出说明

 nohup Command [ Arg … ] [ & ]
  • Command:要执⾏的命令。
  • Arg:⼀些参数,可以指定输出⽂件
  • &:让命令在后台执⾏,终端退出后命令仍旧执⾏

如何后续想要查看日志的话,使用tail命令即可

tail -f 日志文件

▐ 开放端口

为了让外界的服务能访问这个程序,我们要为外界访问开放其端口

将这个端口开放后,外界就可以进行访问了




 本次的分享就到此为止了,希望我的分享能给您带来帮助,创作不易也欢迎大家三连支持,你们的点赞就是博主更新最大的动力!如有不同意见,欢迎评论区积极讨论交流,让我们一起学习进步!有相关问题也可以私信博主,评论区和私信都会认真查看的,我们下次再见

1. 配置Linux服务器环境 首先需要配置好Linux服务器的环境,比如安装JDK、Tomcat、MySQL等必要的软件,并将其配置好。 2. 编写自动部署脚本 编写一个自动部署脚本,用于将Java Web项目上传到服务器部署到Tomcat上。以下是一个示例脚本: ``` #!/bin/bash # 部署目录 deploy_dir=/usr/local/tomcat/webapps # 项目名称 project_name=myproject # 停止Tomcat echo "Stopping Tomcat..." service tomcat stop # 删除旧版本 echo "Removing old version..." rm -rf $deploy_dir/$project_name* # 上传新版本 echo "Uploading new version..." scp /path/to/project.war user@server:/tmp # 解压并部署 echo "Deploying new version..." unzip /tmp/project.war -d $deploy_dir/$project_name chown -R tomcat:tomcat $deploy_dir/$project_name chmod -R 755 $deploy_dir/$project_name # 启动Tomcat echo "Starting Tomcat..." service tomcat start echo "Deployment completed." ``` 3. 配置SSH免密码登录 为了让脚本能够自动上传文件到服务器,需要配置SSH免密码登录。具体步骤如下: 1)在本地生成SSH密钥对: ``` ssh-keygen -t rsa ``` 2)将公钥添加到服务器的authorized_keys文件中: ``` cat ~/.ssh/id_rsa.pub | ssh user@server 'cat >> ~/.ssh/authorized_keys' ``` 这样就可以在不输入密码的情况下登录到服务器了。 4. 执行自动部署脚本 将自动部署脚本保存为deploy.sh,并在本地执行该脚本: ``` ./deploy.sh ``` 这样,Java Web项目就会自动部署Linux服务器上了。每次更新代码后,只需要重新执行该脚本就可以完成部署
评论 32
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

luming.02

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值