Red Hat Linux Java环境搭建:从安装到部署的完整指南

linux安装weblogic redhat linux上安装weblogic 阅读详情

1. 为什么新手要从Red Hat开始装Java?

如果你刚接触Linux,或者正准备在服务器上部署第一个Java应用,Red Hat Enterprise Linux(RHEL)或其社区版CentOS/Rocky Linux/AlmaLinux,绝对是一个绕不开的“新手村”。很多人觉得,装个Java不就是 yum install java 吗?这有什么好讲的?但恰恰是这种“想当然”,让无数新手在第一步就栽了跟头。我见过太多人,在安装完Java后,程序死活跑不起来,或者运行时出现各种诡异的版本冲突和路径问题,折腾半天才发现,最初的安装姿势就错了。

对于新手而言,在Red Hat系Linux上安装Java,核心目标不是“装上”,而是“装对、装稳、装明白”。这背后涉及到几个关键问题:系统自带的OpenJDK和从官网下载的Oracle JDK有什么区别?该用yum/dnf安装还是手动解压配置?安装后如何验证环境真正可用?如何管理多个Java版本?这些问题,任何一个没处理好,都可能成为你后续开发、部署路上的“暗雷”。今天,我就以一个过来人的身份,带你走一遍最稳妥、最清晰的Red Hat Java环境搭建之路,避开我当年踩过的所有坑。

2. 安装前的核心决策:包管理器 vs 手动安装

在敲下任何安装命令之前,我们必须先做一个重要的选择:到底通过系统的包管理器(yum或dnf)来安装,还是手动从官网下载压缩包进行安装?这两种方式各有优劣,适用的场景完全不同。

2.1 使用Yum/DNF安装:省心省力,适合绝大多数新手

Red Hat系的Linux发行版,其强大的地方就在于RPM包管理和Yum(或新一代的DNF)工具链。对于新手,我强烈推荐优先使用这种方式。

为什么推荐?

  1. 自动依赖管理 :Java运行环境可能依赖一些其他的系统库(如字体库、图形库等)。使用 yum install ,它会自动检查并安装所有必需的依赖项,你完全不用操心。
  2. 自动配置环境 :通过包管理器安装的Java,其可执行文件(如 java , javac )会自动链接到标准的系统路径(如 /usr/bin 下)。安装完成后,你通常可以直接在终端输入 java -version 来验证。
  3. 便于更新和卸载 :系统可以统一管理这些软件的更新。当你需要升级Java版本时,一条更新命令即可。卸载也同样干净利落。
  4. 来源相对可靠 :Red Hat官方软件源或EPEL(Extra Packages for Enterprise Linux)源中的软件包都经过了一定的测试和兼容性验证,相对稳定。

具体操作与查看版本: 首先,你需要搜索一下软件源中有哪些可用的Java包。RHEL 8及以上版本默认使用 dnf ,其用法与 yum 基本一致。

# 搜索可用的OpenJDK包, ‘devel’包包含编译工具javac
sudo dnf search openjdk

你会看到一系列输出,例如 java-11-openjdk.x86_64 , java-11-openjdk-devel.x86_64 , java-17-openjdk.x86_64 等。这里的 devel 版本是开发包,如果你需要编译Java源码,就必须安装它。

假设我们选择安装目前最主流的LTS版本OpenJDK 11:

# 安装OpenJDK 11 运行时环境(JRE)和开发工具包(JDK)
sudo dnf install java-11-openjdk java-11-openjdk-devel

安装完成后,立即验证:

java -version
javac -version

如果正确显示OpenJDK 11的版本信息,那么恭喜你,最核心的环境已经就绪了。

注意 :通过 dnf 安装的Java,其安装路径通常位于 /usr/lib/jvm/ 目录下,并以具体的Java版本命名,例如 /usr/lib/jvm/java-11-openjdk-11.0.xx.x86_64/ 。这个路径信息在后续某些需要指定 JAVA_HOME 的高级配置中会用到。

2.2 手动下载安装:追求特定版本与控制力

当你需要非常特定的Oracle JDK版本(例如因某些商业软件许可要求),或者你想将Java安装到自定义目录(如 /opt )下进行集中管理时,手动安装是更好的选择。

为什么有时必须手动安装?

  1. 版本精确控制 :官方软件源可能不提供某个次要版本(如11.0.15)或早期版本。手动下载可以精确获取你需要的版本。
  2. 安装Oracle JDK :由于Oracle JDK的许可协议变化,主流Linux发行版的官方源通常只提供OpenJDK。如果你确定需要使用Oracle JDK,就必须手动操作。
  3. 目录隔离 :手动安装可以将Java环境完全置于你的应用目录下,实现环境隔离,避免影响系统其他组件。

手动安装的详细步骤: 这里以从Oracle官网或Adoptium(原AdoptOpenJDK)站点下载OpenJDK 17的tar.gz包为例。

第一步:下载 前往 Adoptium 或 Oracle JDK官网 ,选择Linux x64的.tar.gz压缩包。假设我们下载的文件名为 OpenJDK17U-jdk_x64_linux_hotspot_17.0.9_9.tar.gz 。

通常,我们会将这类第三方软件安装在 /opt 或 /usr/local 目录下。这里选择 /opt 。

# 1. 切换到/opt目录,通常需要root权限
cd /opt
sudo tar -xzf /path/to/your/download/OpenJDK17U-jdk_x64_linux_hotspot_17.0.9_9.tar.gz
# 解压后会生成一个类似 `jdk-17.0.9+9` 的目录

第二步:设置环境变量(关键步骤) 手动安装的Java不会自动加入系统路径,需要我们手动配置 JAVA_HOME 和 PATH 环境变量。

JAVA_HOME 是一个非常重要的环境变量,许多Java应用(如Tomcat, Maven, Gradle)和开发工具都依赖它来定位Java安装根目录。

编辑当前用户的shell配置文件(通常是 ~/.bashrc 或 ~/.bash_profile ,如果你使用Zsh则是 ~/.zshrc )。

# 使用vim或nano编辑
vim ~/.bashrc

在文件末尾添加以下内容(请根据你解压的实际路径修改):

export JAVA_HOME=/opt/jdk-17.0.9+9
export PATH=$JAVA_HOME/bin:$PATH

这里 $JAVA_HOME/bin:$PATH 的意思是,将新Java的 bin 目录路径 前置 到现有的 PATH 变量前。这样,当你在终端输入 java 时,系统会优先使用我们新配置的版本。

第三步:使配置生效 保存文件后,运行以下命令让配置立即在当前终端生效:

source ~/.bashrc

第四步:验证 现在,再次检查版本,应该显示为你手动安装的JDK 17。

java -version
echo $JAVA_HOME # 检查JAVA_HOME变量是否设置正确

踩坑提示 :手动安装后,一个常见的错误是只配置了 PATH 而忘了 JAVA_HOME 。这会导致 java 命令可用,但像 mvn 这样的工具运行时可能报错,因为它找不到 JAVA_HOME 。务必两个变量一起设置。

3. 深入验证:你的Java环境真的准备好了吗?

安装完Java并看到版本号,这只是万里长征第一步。一个“准备好”的Java环境,意味着它能胜任开发、编译和运行的基本任务。我们来进行一次深度验证。

3.1 基础命令验证

除了 java -version ,你还应该测试以下关键命令:

  • javac :Java编译器。如果你安装了 devel 包或完整的JDK,此命令应该可用。运行 javac -version 。
  • jps :JVM进程状态工具。可以列出当前系统中所有的Java进程。直接运行 jps ,即使没有Java进程在跑,它也应该正常执行并可能只显示它自己或返回空。
  • jinfo , jstack 等 :这些是JDK自带的故障诊断工具。尝试运行 jinfo -help ,如果能显示帮助信息,说明工具链完整。

如果 javac 命令找不到,大概率是你只安装了JRE(运行时环境)而没有安装JDK(开发工具包)。你需要回头用 dnf install java-xx-openjdk-devel 补上。

3.2 编写并运行一个“Hello World”程序

这是最实在的验证。在用户主目录下创建一个测试文件:

cd ~
vim HelloWorld.java

输入以下经典内容:

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, Red Hat and Java!");
    }
}

保存退出后,执行编译和运行:

# 编译 .java 源文件为 .class 字节码文件
javac HelloWorld.java
# 如果编译成功,会生成 HelloWorld.class 文件
# 运行程序
java HelloWorld

如果你看到了“Hello, Red Hat and Java!”的输出,那么恭喜,你的Java环境从编译到运行整个链路都是完全通畅的。这个过程看似简单,但它验证了:

  1. javac 编译器工作正常。
  2. java 启动器能正确加载并执行字节码。
  3. 基本的I/O(系统输出)功能正常。

3.3 检查默认Java版本与替代方案

在Red Hat系统上,特别是当你安装了多个Java版本时,系统会有一个“默认”的Java版本。这是通过 alternatives 机制管理的。

你可以使用以下命令查看和管理:

# 查看所有已注册的Java命令及其链接的优先级
sudo alternatives --config java

运行后,如果存在多个Java,会列出类似如下的菜单:

There are 2 programs which provide 'java'.

  Selection    Command
-----------------------------------------------
*+ 1           java-11-openjdk.x86_64 (/usr/lib/jvm/java-11-openjdk-11.0.xx.x86_64/bin/java)
   2           /opt/jdk-17.0.9+9/bin/java

Enter to keep the current selection[+], or type selection number:

你可以输入对应的数字来切换系统全局默认的 java 命令指向哪个版本。这对于解决“明明安装了新版本,但 java -version 还是显示旧版本”的问题非常有用。

经验之谈 :对于服务器环境,我强烈建议使用 alternatives 来管理全局默认版本,并保持一致性。对于开发机,则可以结合shell配置文件(如 .bashrc ),通过 JAVA_HOME 和 PATH 来为不同的终端会话或项目动态切换版本,这通常更灵活。

4. 高级配置与日常管理要点

环境装好并能跑通Hello World,算是入门了。但要真正用得顺手,尤其是在服务器上,还需要了解一些高级配置和管理知识。

4.1 关键环境变量详解

我们已经设置了 JAVA_HOME 和 PATH ,还有两个变量也非常重要:

  • CLASSPATH :这个变量用于指定JVM在启动时搜索用户自定义类文件的路径。在早期Java版本中非常重要。 但在现代Java开发实践中(特别是使用Maven/Gradle等构建工具后),通常不建议手动全局设置 CLASSPATH 。构建工具和应用程序会自行管理类路径。手动设置不当反而会引起冲突。除非你有非常明确的、遗留项目的要求,否则可以忽略它。

  • JAVA_OPTS 或 _JAVA_OPTIONS :用于设置JVM的默认启动参数。例如,你想为所有Java应用统一设置默认的堆内存大小:

    export JAVA_OPTS="-Xms512m -Xmx1024m"
    

    这样,当你通过 java 命令启动程序时(如果程序没有覆盖这些参数),就会默认使用512MB的初始堆和1GB的最大堆。在Tomcat等应用服务器中,通常会使用 JAVA_OPTS 或 CATALINA_OPTS 来配置。

4.2 为特定用户或服务配置环境

上面的配置都是在当前用户的 ~/.bashrc 里做的,只影响该用户。如果Java程序是以系统服务(通过 systemd )运行的,或者由其他用户(如 tomcat 用户)执行,那么这些配置是无效的。

为系统服务配置Java环境: 对于 systemd 服务,通常是在服务的单元文件( .service 文件)中直接设置环境变量。例如,编辑一个Tomcat的服务文件 /etc/systemd/system/tomcat.service ,在 [Service] 段添加:

[Service]
...
Environment="JAVA_HOME=/usr/lib/jvm/java-11-openjdk"
Environment="CATALINA_OPTS=-Xms512m -Xmx1024m"
...

为所有用户配置全局环境: 你可以将环境变量定义在 /etc/profile.d/ 目录下创建一个脚本文件,例如 /etc/profile.d/java.sh :

sudo vim /etc/profile.d/java.sh

内容为:

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk
export PATH=$JAVA_HOME/bin:$PATH

这样,所有用户登录时都会加载这个配置。

4.3 多版本Java共存与管理

在开发过程中,不同项目可能需要不同的Java版本。如何优雅地管理?

  1. 使用 alternatives (系统级) :如上所述, alternatives 可以管理全局默认版本。你可以为 java , javac , jar 等命令分别注册多个版本,并用 --config 切换。这适合服务器上确定一个主版本的情况。

  2. 使用Shell配置(用户级) :这是更灵活的开发者方案。你可以在 ~/.bashrc 中创建别名或函数来快速切换。

    # 在 ~/.bashrc 中添加
    alias java11='export JAVA_HOME=/usr/lib/jvm/java-11-openjdk; export PATH=$JAVA_HOME/bin:$PATH'
    alias java17='export JAVA_HOME=/opt/jdk-17.0.9+9; export PATH=$JAVA_HOME/bin:$PATH'
    

    需要哪个版本,就在终端里输入对应的别名即可。或者,你可以写一个更智能的函数,根据项目目录自动切换。

  3. 使用专业版本管理工具 :如果你需要频繁切换版本,可以考虑使用像 jenv 或 sdkman 这样的工具。它们可以方便地下载、安装和切换多个JDK版本。不过,在纯粹的Red Hat服务器环境上,为了保持简洁和稳定,我通常更倾向于前两种方法。

4.4 防火墙与SELinux的考量

这是一个服务器部署时极易被忽略的“大坑”。你的Java应用(比如一个Spring Boot应用在8080端口运行)在本机测试一切正常,但外部网络就是访问不了。

  • 防火墙 :RHEL/CentOS默认的防火墙是 firewalld 。你需要放行应用监听的端口。

    # 查看当前放行的端口和服务
    sudo firewall-cmd --list-all
    # 永久放行8080端口
    sudo firewall-cmd --permanent --add-port=8080/tcp
    # 重载防火墙配置
    sudo firewall-cmd --reload
    
  • SELinux :这是一个强大的安全模块,但有时会阻止非标准操作。如果你的Java应用需要写入非标准目录(如 /data 下的目录),可能会被SELinux拒绝。初期为了排查问题,可以临时将其设置为宽容模式:

    sudo setenforce 0 # 临时设置为Permissive模式
    

    注意 :这只是调试手段。生产环境中,正确的做法是分析审计日志( /var/log/audit/audit.log ),并为你的应用定制合适的SELinux安全策略,而不是直接关闭它。

5. 从安装到部署:一个简单的Spring Boot应用实战

让我们把上面的所有知识串联起来,完成一个从安装Java到运行一个真实Web应用的全流程。假设我们要运行一个Spring Boot应用的JAR包。

第一步:确保Java环境就绪 假设我们已经通过 dnf 安装了OpenJDK 11,并且验证通过。

第二步:获取应用JAR包 假设我们有一个名为 myapp-0.0.1-SNAPSHOT.jar 的Spring Boot应用包,将其上传到服务器的 /opt/myapp/ 目录。

第三步:以服务方式运行(推荐) 在后台运行一个Java应用,最好使用 systemd 来管理,这样可以实现开机自启、日志管理、自动重启等。

创建服务文件:

sudo vim /etc/systemd/system/myapp.service

写入以下内容(根据实际情况调整):

[Unit]
Description=My Spring Boot Application
After=syslog.target network.target

[Service]
Type=simple
User=appuser # 建议创建一个专用用户来运行,而非root
WorkingDirectory=/opt/myapp
ExecStart=/usr/bin/java -jar myapp-0.0.1-SNAPSHOT.jar
# 重要的JVM参数在这里设置
Environment="JAVA_OPTS=-Xms256m -Xmx512m -Dspring.profiles.active=prod"
SuccessExitStatus=143
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

第四步:启动并管理服务

# 重新加载systemd配置
sudo systemctl daemon-reload
# 启动服务
sudo systemctl start myapp
# 查看服务状态和日志
sudo systemctl status myapp
sudo journalctl -u myapp -f # 跟踪日志
# 设置开机自启
sudo systemctl enable myapp

第五步:开放防火墙端口 假设应用在8080端口监听:

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

现在,你就可以通过服务器的IP地址和8080端口访问你的应用了。

核心心得 :在Red Hat上部署Java应用,将应用配置为 systemd 服务是生产环境的最佳实践。它不仅管理方便,更重要的是能利用系统本身的监控和故障恢复机制。直接使用 nohup 或 screen 在后台运行的方式,只适合临时测试,缺乏可靠的管理能力。

6. 常见问题排查与解决思路

即使按照步骤操作,你也可能会遇到问题。这里列出几个新手最高频的“坑”及其解决思路。

问题一: command not found: java 或 command not found: javac

  • 原因 :Java的 bin 目录不在 PATH 环境变量中。
  • 解决 :
    1. 确认Java是否真的安装成功: rpm -qa | grep openjdk 或检查 /usr/lib/jvm/ 目录。
    2. 如果通过yum/dnf安装,通常会自动配置。可以尝试手动source一下配置文件: source ~/.bashrc 或重新打开终端。
    3. 如果是手动安装,请严格按照上文步骤检查 ~/.bashrc 中的 PATH 和 JAVA_HOME 设置,并执行 source 。

问题二: java -version 显示的版本不是我刚安装的

  • 原因 :系统存在多个Java, PATH 环境变量的顺序或 alternatives 的配置导致旧版本优先。
  • 解决 :
    1. 使用 which java 查看当前 java 命令的实际路径。
    2. 检查 echo $PATH ,看新Java的 bin 目录是否在旧目录之前。
    3. 运行 sudo alternatives --config java 切换全局默认版本。
    4. 确保你的shell配置文件( .bashrc )中,新Java的路径被 前置 了( $JAVA_HOME/bin:$PATH )。

问题三:运行JAR包时提示 no main manifest attribute

  • 原因 :这个JAR包不是一个可执行的“胖JAR”(fat jar)或Spring Boot打包的JAR。它可能只是一个普通的库文件,或者打包方式不正确。
  • 解决 :
    1. 确认JAR包是否由Spring Boot Maven/Gradle插件(如 spring-boot-maven-plugin )打包。
    2. 尝试用其他方式运行: java -cp myapp.jar com.example.MyApplicationMainClass 。
    3. 检查JAR包内的 META-INF/MANIFEST.MF 文件,看是否有 Main-Class 属性。

问题四:应用启动后内存占用过高或很快崩溃

  • 原因 :JVM堆内存参数设置不合理,默认值可能太小。
  • 解决 :
    1. 在启动命令中明确设置堆内存参数,如 -Xms256m -Xmx1024m 。
    2. 对于 systemd 服务,在服务文件的 Environment 行或 ExecStart 行中添加这些参数。
    3. 使用 jstat , jmap 等工具监控JVM内存使用情况,进行针对性调优。

问题五:应用日志文件没有权限写入

  • 原因 :运行应用的用户(如 appuser )对日志目录没有写权限,或者SELinux策略限制。
  • 解决 :
    1. ls -la 检查目录权限,确保运行用户有写权限: sudo chown appuser:appuser /path/to/logs 。
    2. 检查SELinux上下文: ls -Z /path/to/logs 。如果上下文不对,可以使用 chcon 命令修改,或更规范地,创建自定义的SELinux策略模块。

走完这一整套流程,从选择安装方式、验证环境、配置管理到最终部署和排错,你应该对在Red Hat系Linux上搭建Java环境有了一个全面且扎实的理解。记住,稳定的环境是后续一切开发、测试和运维工作的基石,多花一点时间在最初把它搭建正确、理解透彻,后面会省去无数麻烦。

B/S项目环境部署与配置 一、Linux安装 版本:RED HAT 5.5 大小:2.9G 过程: 1> 把光盘放入光驱后,点击安装; 2> 语言选择 “简体中文”; 3> 安装分区的时候做三个分区,一个swap分区,大小4G;一个boot分区,大小400M,格式为ext3或者ext4;剩下的都做root分区,格式为ext3或者ext4; 4> 服务选择时,进入 “现在定制” 手动选择服务。在“开发”中勾选“ 阅读详情

相关推荐

Red Hat Linux下Tomcat的安装和环境配置

在Red Hat Linux操作系统上安装和配置Tomcat可以为开发人员和系统管理员提供一个稳定且可靠的环境来部署和管理Java Web应用程序。本文将详细介绍如何在Red Hat Linux上安装和配置Tomcat,并提供相关的源代码示例。接下来配置Tomcat的环境变量,启动Tomcat并验证安装成功。通过遵循这些步骤,您可以在Red Hat Linux上成功搭建Tomcat环境,并轻松部署和管理Java Web应用程序。安装和配置Tomcat完成后,可以部署自己的Java Web应用程序。

SyDjango的博客 478

Red Hat系Linux服务器从零部署Java环境:YUM安装与配置详解

在Linux系统中部署Java运行环境是后端开发和运维的基础技能。其核心原理是通过包管理器或手动安装将Java开发工具包集成到操作系统,并配置环境变量使系统能够识别和执行Java程序。掌握这项技术对于构建稳定、可维护的服务器环境至关重要,广泛应用于企业级应用部署、微服务架构和持续集成等场景。本文聚焦于Red Hat Enterprise Linux及其衍生发行版,通过YUM/DNF包管理器这一企业级标准工具,详细演示从配置Oracle官方仓库、安装JDK到设置JAVA_HOME环境变量的完整流程。该方案能自

a359798678的博客 320

Qwen3-Omni-30B-A3B-Instruct微调指南:如何打造专属智能博物官(附数据集)

本文详细介绍了如何对Qwen3-Omni-30B-A3B-Instruct模型进行微调,以打造专业的智能博物官。指南涵盖了从理解模型架构优势、构建高质量文博数据集,到使用LLaMA-Factory进行实战微调、效果评估与部署优化的完整流程,并提供了关键的环境配置与性能优化建议,帮助开发者在垂直领域高效定制专属AI助手。

weixin_29096377的博客 1143

Red Hat 5.2 Server 单机部署 Hadoop2.2.0 集群环境

Red Hat 5.2 Server 单机部署 Hadoop2.2.0集群环境 1.准备工作: 先下载以下系统及软件:         虚拟机:Vmware 10.0.1 系统:[红帽企业.Linux.5].rhel-5.2-server-i386-dvd.iso Jdk:jdk-7u60-linux-i586.rpm Hadoop:hadoop-2.2.0.tar.gz Apach

wzs298的专栏 6309

每天一个优秀提示词学习收藏 - 文本创作篇(二)

宝子们,今天不藏私啦!我把这段时间四处搜罗、潜心钻研出来的文本创作 Prompt 提示词大礼包双手奉上,这可都是能让你的 AI 创作水平原地起飞的干货!走过路过不要错过,赶紧码住,开启你的 AI 创作进阶之旅吧!

2401

【LangChain编程:从入门到实践】实现多模态代理

【LangChain编程:从入门到实践】实现多模态代理 关键词:LangChain, 多模态代理, 自然语言处理, 机器学习, 知识图谱, 对话系统, 代码生成, AI代理 1. 背景介绍 随着人工智

欢迎来到我的优快云空间!这里聚焦AI大模型应用实战,分享前沿技术、实战案例与开发经验。 581

Red Hat Enterprise Linux (RHEL)项目部署的详细步骤

v /home/service/project:/root/.aspnet/DataProtection-Keys \ #增加挂载的主机目录(为了数据持久化、共享数据等需求)sudo subscription-manager register --username <RHN用户> --password <密码>--restart on-failure[:max-retries] 仅在失败时重启(可设置最大重试次数) 需要容错但避免无限重启。点击 "Yes" 继续。

weixin_45046018的博客 882

App 抓包难?Frida Hook 实战:绕过 SSL Pinning (证书绑定) 抓取某大厂 App 核心接口

当我们使用 Charles 抓包 HTTPS 时,本质上是实施了MITM(中间人攻击)。Charles 伪装成服务器,发给 App 一个自己的证书(伪造证书)。Charles 伪装成 App,拿着真正的证书去请求服务器。如果 App 只是简单校验“证书是否由受信任的 CA 签发”,那你把 Charles 的根证书安装到手机系统里,就能骗过它。但是,是 App 内置了服务器证书的Hash(指纹)。

BUG猿的博客 916

Red Hat Linux 6.5 安装Zookeeper集群

一,安装环境:操作系统:Red Hat Linux 6.5JDK版本:1.8.0_151 //需先安装JDKZookeeper版本:3.4.12设置每个节点的hosts文件。# vi /etc/hosts //添加以下内容 10.11.111.42 mrzwk-5 10.11.111.43 mrzwk-6 10.11.111.45 mrzwk-8重启生效。(reboot)二、安装zookee...

weixin_41295682的博客 708

ESP32与DS18B20温度传感器的数据采集与告警系统

并且,通过自定义的微信告警功能,我们可以及时收到温度超过阈值的告警消息。随着物联网的快速发展,传感器在各种应用场景中发挥着重要的作用。本文将介绍如何使用ESP32微控制器与DS18B20温度传感器结合,通过串口输出和Web服务器实现温度数据的采集和监控,并使用自定义微信告警功能。上传完成后,打开串口监视器,您将看到ESP32连接到Wi-Fi网络,并开始监测温度。在您的计算机或移动设备上,打开一个Web浏览器,并输入ESP32的IP地址。在浏览器中输入ESP32的IP地址后,您将看到显示当前温度的页面。

loop_class349的博客 2243

嵌入式AI实战:基于RK3588部署YOLOv11并集成OpenCV实现实时推理(全流程详解)

本文详细介绍了在RK3588芯片上部署YOLOv11目标检测模型的全流程,包括环境搭建、模型转换和实时推理实现。主要内容为:1)通过YOLOv11官方工具将PyTorch模型转为ONNX格式;2)使用RKNN Toolkit2将ONNX模型转换为适配RK3588的RKNN格式;3)在RK3588上结合OpenCV实现实时视频推理功能。教程提供了完整的代码示例和详细步骤说明,帮助开发者快速在边缘设备上部署目标检测模型,实现AI视觉应用的落地。

LXY_LOVE36的博客 213

如何在 Red Hat Linux 服务器上使用 Ansible 自动化部署并管理多节点 Hadoop 集群?

在大数据时代,Hadoop 已成为构建分布式存储与计算平台的核心组件。传统手动部署 Hadoop 集群不仅繁琐且易错,而借助 Ansible 这种无代理自动化工具,可以极大提升部署效率、统一配置并便于日后运维管理。 A5数据的本篇教程适合运维工程师 / 大数据开发工程师阅读,通过 Red Hat Enterprise Linux (RHEL 8.x/9.x) 服务器环境,使用 Ansible 自动化完成多节点 Hadoop 集群的部署、配置、启动、扩容与升级。

A5数据 1423

102、栅极驱动芯片选型与设计

文章摘要 本文分享了栅极驱动芯片选型与设计的实战经验。通过一次因驱动芯片选型不当导致的炸管事故,作者总结了栅极驱动芯片选型的五个关键参数:峰值驱动电流、驱动电压范围、传播延迟匹配、欠压锁定和隔离等级。文章详细分析了自举电路设计中的常见陷阱,以及栅极电阻对开关特性的影响,并强调了PCB布局布线的重要性。最后,作者提供了七条实用建议,包括避免通用型驱动芯片、关注CMTI参数、使用插件电阻等。核心观点是:栅极驱动设计需要综合考虑参数匹配、电路布局和实际调试,示波器实测波形是验证设计的唯一标准。

2401_88858637的博客 44

Red Hat Linux 安装 JDK

linux版本: RedHat Linux 9.0 i386 (Shrike) jdk: jdk-6u45-linux-i586-rpm.bin       http://pan.baidu.com/s/1i3ImIv7   步骤: 1. 在linux的/opt/ 下建文件夹 softwares,在 softwares 下建文件夹 jdk; 2. 使用 FileZilla Clie...

二楼后座 297

7.18 GART 与 GPUVM 对比:一颗 GPU 上两套页表的分工

本文横向对比AMD GPU上并存的GART与GPUVM两套页表。GART为内核专用,全局单一,线性单层结构,CPU同步直写;GPUVM为每进程48位地址空间,四级页表,含并发状态机,支持隔离与迁移。二者通过VMID区分,共享GMC硬件与PTE编码,分工互补。

图形/计算GPU的驱动与虚拟化技术分享园地 384

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Red Hat(红帽)安装和部署MySQL

1.底层语言使用C、C++编写的。并且使用多种编译器进行测试,以确保源码的可移植性。2.支持市面上所有的操作系统。3.为编程语言提供了API,编程语言包含但不限于C、C++、C#、Delphi、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。4.支持多线程,充分利用CPU资源,支持多用户访问。5.出色的Sql算法优化,能够更有效的提高查询效率。6.除了常规的安装外,Mysql还能作为嵌入式嵌入在其他软件内。7.提供了多语言支持。

ouqisheng的博客 3694

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Linux Red Hat 部署neo4j 2025.8社区版

使用命令uname -a或者 cat /etc/os-release查看。

周的技术博客 930

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Linux 系统基于 VSCode 搭建开发环境

银河麒麟系统上基于vscode搭建各种开发环境。

LiHuiChao 3546

如何在 Red Hat Linux 8 上搭建高性能 Hadoop YARN 集群,并进行资源隔离与任务调度优化

在大数据平台建设中,高性能 Hadoop YARN 集群是支撑海量数据处理的核心架构之一。A5IDC在本教程以 Red Hat Linux 8 为操作系统,详细讲解如何构建一个高性能的 Hadoop YARN 集群,并重点介绍资源隔离(基于 Linux cgroups)与任务调度优化(CapacityScheduler/FairScheduler)的方法。方案兼顾生产可用性、性能调优与可维护性。

A5数据 1392

Alpine vs Red Hat:gh_mirrors/do/docker-nexus3镜像选择终极指南

在容器化部署Nexus Repo Manager 3时,选择合适的基础镜像是确保稳定性、安全性和性能的关键决策。本文将深入对比gh_mirrors/do/docker-nexus3项目提供的Alpine和Red Hat两大系列镜像,助你根据实际需求做出最佳选择。 ## 📊 核心镜像类型概览 项目提供多种Dockerfile配置,支持不同环境需求: - **Alpine系列**:基于Alpi

gitblog_00479的博客 1072

配置一个新服务器环境并部署项目

空空的一个服务器,啥也没用,新手菜鸟这个无助啊 先查下什么系统:uname -a 看出为linux系统,但是linux下面有fedora、ubuntu、redhat,看见有el6,得知为redhat系统,查找资料范围可以缩小 网上资料介绍: EL is short for Red Hat Enterprise Linux (EL). EL6 is the download for

Teresa-smida的专栏 2万+

red hat enterprise linux 5.4安装,mysql 安装、vsftp安装、apache安装、tomcat安装、JDK安装、SSH部署

前段时间公司开发的惠州市外经贸企业资源信息平台,卖给了惠州市外经贸局,由于政府全部要求正版并且不能侵权。所以采用了linux系统。并且全部采用免费的框架与软件。里面就用到了red hat enterprise linux 5.4安装,mysql 安装、vsftp安装、apache安装、tomcat安装、JDK安装这些软件。从来没有接触过LINUX呀。突然要从零到全。感觉很痛苦。而且当中还发现与痛苦相比,痛苦原来还是一种享受。刚开始服务器过来了。本来准备安装个红帽5.0的,可是后来卖IBM服务器的说,你这个最

专注于Groovy语言,grails框架与管理之道 2904

RED HAT LINUX 9 架设WEB服务器TOMCAT和安装JAVA环境

RED HAT LINUX 9 架设WEB服务器TOMCAT和安装JAVA环境 流程 安装JDK,配置jdk 安装tomcat,配置tomcat 配置系统服务 配置开机启动 建立检测系统 配置80端口 配置系统开机启动服务   &lt;!--[if !supportLists]--&gt;一、&lt;!--[endif]--&gt;Linux上安装环境 1.1拷贝文件 j...

How to be a good engineer 198

Java在linux系统的部署(1): 系统环境的安装——redhat5.4的安装图解

最近要在linux环境上部署公司的java程序进行测试,为了方便以后的学习,从今天开始准备把linux系统安装、oracle11g的安装,java程序的部署这些关键的步骤都记录下来。 1、 虚拟机:VartualBox4.3.12 Linux版本:rhel-server-5.4-i386 2、  在虚拟机中配置安装条件 1)        点击工具栏【新建】按钮,在弹出窗口中根据个人需要填

轩轩爱吃肉的技术小博客 1375

使用alternatives切换red hat linux的jdk版本

第一次接触到Red Hat Enterprise Linux感觉跟之前熟悉的Centos Ubuntu Fedora还是有些差别的,可能是因为环境配置不同吧 先讲一讲背景吧,我想要在这样的linux服务器上部署一下持续集成的环境,也就是说安装一个tomcat和hudson,很简单的内容。 但是发现我查看java版本的时候出现了没遇到过的情况。 This script is a placeho...

weixin_34365635的博客 174

Red Hat安装部署Rabbitmq

一、Rabbitmq安装部署手册1、环境介绍系统环境:Red HatEnterprise Linux Server release 6.2 (Santiago)内核版本:Linux zxt-02.com2.6.32-220.el6.x86_64 #1 SMP Wed Nov 9 08:03:13 EST 2011 x86_64 x86_64 x86_64 GNU/Linux软...

weixin_34283445的博客 480
上一篇: B树与B+树插入删除全解析:从原理到数据库索引实战
下一篇: AS7261颜色传感器:从XYZ测量原理到色差计实战应用
java2000_test
博客等级 码龄19年 10粉丝 320原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值