首页 / VPS测评 / 正文
将JAR包部署到服务器的详细指南,jar包部署到服务器

Time:2024年12月20日 Read:24 评论:42 作者:y21dr45

背景介绍

将JAR包部署到服务器的详细指南,jar包部署到服务器

在Java开发中,将项目打成JAR包并部署到服务器上是一个常见的需求,JAR(Java ARchive)包是一种用于聚合许多Java类文件及资源的压缩包,便于发布和部署,本文将详细介绍如何将JAR包部署到服务器上,涵盖从准备工作到运行和监控的各个环节。

一、准备工作

在开始部署之前,需要确保以下条件满足:

安装JDK

确保服务器上安装了Java运行环境(JDK),可以使用以下命令检查:

java -version

如果没有安装JDK,可以根据操作系统的不同执行以下命令进行安装:

Ubuntu/Debian系统:

sudo apt update
sudo apt install openjdk-17-jdk

CentOS系统:

sudo yum update
sudo yum install java-17-openjdk-devel

安装完成后,再次执行java -version命令以确保安装成功。

准备JAR包

确保已经使用Maven或Gradle等构建工具生成了可执行的JAR包,JAR包位于项目的target目录下,例如myapp-1.0-SNAPSHOT.jar

二、上传JAR包到服务器

使用SCP命令将本地的JAR包上传到服务器,假设本地JAR包路径为/path/to/your/user-service.jar,服务器IP地址为username@your-server-ip,目标路径为/path/on/server/,可以使用以下命令:

scp /path/to/your/user-service.jar username@your-server-ip:/path/on/server/

输入服务器用户的密码后,JAR包将被上传到指定目录。

三、配置并运行JAR包

登录服务器

使用SSH命令登录到服务器:

ssh username@your-server-ip

进入JAR包所在目录

cd /path/on/server/

运行JAR包

可以直接在前台运行JAR包以测试是否正常启动:

java -jar user-service.jar

如果需要以后台守护进程的方式运行,可以使用nohup命令:

nohup java -jar user-service.jar > user-service.log 2>&1 &

这样即使关闭终端,服务也会继续运行,并且日志会输出到user-service.log文件中。

查看服务状态

可以使用以下命令查看服务是否成功启动:

tail -f user-service.log

如果服务启动成功,会看到Spring Boot启动的相关日志信息。

四、配置防火墙

如果服务器启用了防火墙,需要开放应用运行所需的端口,假设user-service运行在默认的8080端口,可以使用以下命令开放该端口:

Ubuntu/Debian系统(使用UFW):

sudo ufw allow 8080/tcp
sudo ufw reload

CentOS系统(使用firewalld):

sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --reload

五、配置反向代理(可选)

为了通过域名或子域名访问user-service,可以配置Nginx作为反向代理,安装Nginx:

Ubuntu/Debian系统:

sudo apt install nginx

CentOS系统:

sudo yum install nginx

编辑Nginx配置文件,创建一个反向代理配置:

sudo nano /etc/nginx/sites-available/user-service

添加以下内容(假设你希望通过http://your-domain.com访问服务):

server {
    listen 80;
    server_name your-domain.com;
    location / {
        proxy_pass http://localhost:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

启用该配置:

sudo ln -s /etc/nginx/sites-available/user-service /etc/nginx/sites-enabled/

重新加载Nginx:

sudo systemctl reload nginx

现在可以通过http://your-domain.com访问你的user-service

六、设置服务开机启动

为了确保服务器重启后user-service自动启动,可以创建一个systemd服务,创建一个新的systemd服务文件:

sudo nano /etc/systemd/system/user-service.service

添加以下内容:

[Unit]
Description=User Service
After=network.target
[Service]
User=your-username
ExecStart=/usr/bin/java -jar /path/on/server/user-service.jar
SuccessExitStatus=143
StandardOutput=journal
StandardError=inherit
Restart=always
[Install]
WantedBy=multi-user.target

保存后,使服务生效:

sudo systemctl daemon-reload

启动并启用服务:

sudo systemctl start user-service.service
sudo systemctl enable user-service.service

检查服务状态:

sudo systemctl status user-service.service

如果一切正常,服务会自动在后台运行,并且在服务器重启后自动启动。

总结流程

将JAR包部署到服务器上的完整流程包括以下几个步骤:

1、安装JDK:确保服务器上安装了Java运行环境。

2、准备JAR包:使用Maven或Gradle构建生成JAR包。

3、上传JAR包到服务器:使用SCP命令将JAR包上传到服务器。

4、配置并运行JAR包:登录服务器,进入JAR包所在目录,运行JAR包。

5、配置防火墙:开放应用所需的端口。

6、配置反向代理(可选):配置Nginx以通过域名访问服务。

7、设置服务开机启动:使用systemd创建服务,确保服务在服务器重启后自动启动。

标签: jar部署到服务器 
排行榜
关于我们
「好主机」服务器测评网专注于为用户提供专业、真实的服务器评测与高性价比推荐。我们通过硬核性能测试、稳定性追踪及用户真实评价,帮助企业和个人用户快速找到最适合的服务器解决方案。无论是云服务器、物理服务器还是企业级服务器,好主机都是您值得信赖的选购指南!
快捷菜单1
服务器测评
VPS测评
VPS测评
服务器资讯
服务器资讯
扫码关注
鲁ICP备2022041413号-1