美畅物联丨Java 后端程序指定运行环境配置

createh53个月前 (01-20)技术教程35

畅联云平台 Java 后端环境配置技术文档

一、概述

在畅联云平台的部署中,Java 后端程序需要在不同的环境(如开发、生产)下运行,为了方便区分和管理环境,我们使用 Spring Profiles 的机制来设置程序的运行环境。通过激活不同的 profile,系统可以加载对应环境的配置文件,使环境隔离,并实现配置管理的自动化。

二、环境激活需求

后端程序在运行时需要指定 active 环境,通常为 dev(开发环境)或 prod(生产环境)。传统方式是直接在 application.yml 文件中指定 active 参数,但这种方式要求每次部署到不同环境前都要修改 application.yml 文件中的 active 参数,容易导致人为错误并增加部署复杂性。

优化方案:在服务文件中设置环境变量

为了避免每次打包和部署时都手动修改 application.yml 文件中的 active 参数,我们可以在服务器上直接配置环境变量,使得在不同环境中无须重新打包,即可切换所需的运行环境。

三、配置步骤

1、 移除 application.yml 中的 active 设置:

在 application.yml 文件中不再手动指定 active 参数,而是通过环境变量配置来控制。

application.yml
spring:
profiles:
 
active: dev # 移除此行

2、 在部署环境中配置环境变量:

编辑服务的 service 文件,在其中增加 SPRING_PROFILES_ACTIVE 的环境变量配置,以指定当前环境的 profile。

假设服务文件路径为 /etc/systemd/system/video-monitoring.service,添加如下配置:

/etc/systemd/system/video-monitoring.service
[Unit]
Description=Video Monitoring Platform Java Backend
 
[Service]
Type=simple
User=video_user
ExecStart=/usr/bin/java -jar /path/to/video-monitoring.jar
Environment=“SPRING_PROFILES_ACTIVE=prod”
WorkingDirectory=/path/to/application
Restart=on-failure
 
[Install]
WantedBy=multi-user.target

在上面的 service 文件中,通过 Environment=“SPRING_PROFILES_ACTIVE=prod”,我们将 Spring 的 profile 激活为 prod(生产环境)。当系统启动此服务时,程序会自动识别并加载 application-prod.yml 配置文件。

3. 重新加载服务并启动:

配置完 service 文件后,需要重新加载并启动服务以生效。

重新加载 Systemd 配置

sudo systemctl daemon-reload


启动畅联云平台服务

sudo systemctl start video-monitoring.service


设置开机自启动

sudo systemctl enable video-monitoring.service


四、配置生效验证

1、 检查服务状态,确保服务正常启动:

sudo systemctl status video-monitoring.service


2. 在应用日志中确认加载的配置文件是否为生产配置(application-prod.yml),如果正常,日志中将显示当前激活的 profile。

五、优势

1、 提高部署效率:无需为每个环境单独打包,可实现“一次打包,到处部署”。

2、 避免人为错误:减少修改配置文件的步骤,避免因打包时遗漏配置导致的问题。

3、 环境隔离:通过 Systemd 服务文件中的环境变量来设置 profile,确保不同环境下的配置独立。

六、结论

通过在服务文件中添加 SPRING_PROFILES_ACTIVE 环境变量,我们可以方便地管理 Java 后端程序在不同环境中的配置。这种方式简化了打包和部署流程,同时也提升了系统配置的安全性和可靠性。

以上是畅联云平台 Java 后端环境配置的技术方案说明。如有任何疑问,欢迎联系技术支持团队。

————————————————

关注“美畅物联”,了解更多视频汇聚及AIoT底座解决方案。

相关文章

从零开始学Java系列之最详细的Java环境变量配置教程

前言:在上一篇文章中,壹哥给大家重点讲解了Java实现跨平台的原理,不知道你现在有没有弄清楚呢?如果你还有疑问,可以在评论区留言~之前的三篇文章,主要是理论性的内容,其实你暂时跳过不看也是可以的,我们...

Java开发环境配置

编者按本讲是Java系列文章的第2讲,开发环境配置。兵马未动,粮草先行;工欲善其事必先利其器!内容提要俗话说的好:工欲善其事,必先利其器!Java开发环境配置是每位Java开发者必须掌握的基础知识,...

Java开发环境最丝滑的打开方式

本文通过【Jar包仓库优化】、【文件系统优化】、【远程开发】等各种手段将我们的Java开发环境打造得如同流沙一般丝滑,卡顿是不可能卡顿的,这辈子都不可能卡顿了。当然我们主要用的IDE仍然是vscode...

JAVA 01 jdk下载安装以及配置环境变量

1.搭建JAVA开发环境1.JDK的下载和安装从oracle官网下载即可。安装到E盘下双击安装,文件夹名字不可以有中文字符。安装路径为:E://java文件夹下。配置JDK环境变量找到path,进行新...

从零开始搭建Java Web中间件环境

作为Java开发人员,我们经常需要在Linux服务器上搭建各种中间件环境来支撑我们的应用程序。这些中间件包括MySQL、Redis、JDK、Nacos、Jenkins和Nginx等。本文将介绍如何从零...

俄罗斯程序员创建了外国Java集成开发环境的国产替代品

据cnews网站 12月16日报道,在俄罗斯,国产的OpenIDE集成开发环境在未来有望取代IntelliJ IDEA——OpenIDE是Astra Group、Haulmont和Axiom JDK的...