当前位置: 首页 > news >正文

不同环境下RabbitMQ的安装-2 ARM架构、X86架构、Window系统环境下安装RabbitMQ

RabbitMQ安装

在使用RabbitMQ之前必须预先安装配置,参考RabbitMQ官网说明,RabbitMQ支持多平台安装,例如Linux、Windows、MacOS、Docker等。不同架构的芯片对应的RabbitMQ安装包是有区别的。目前市场上主流的芯片架构有:X86架构、ARM架构、RISC-V架构和MIPS架构这四种。

例如,在Linux系统中,如果想查看CentOS版本信息,可以通过以下命令来获取。

[root@user ~]# cat /proc/version
Linux version 5.11.12-300.el7.aarch64 (root@centos7.9) (gcc (GCC) 8.3.1 20190311 (Red Hat 8.3.1-3), GNU ld version 2.30-55.el7.2) #1 SMP Thu Aug 19 09:02:08 UTC 2021[root@user ~]# uname -a
Linux node2 5.11.12-300.el7.aarch64 #1 SMP Thu Aug 19 09:02:08 UTC 2021 aarch64 aarch64 aarch64 GNU/Linux[root@user ~]# uname -r
5.11.12-300.el7.aarch64

这里,我们以CentOS 7.X系统(ARM架构和X86架构)和Windows系统环境为例,介绍RabbitMQ的安装配置过程。

1 Erlang语言介绍

Erlang(['ə:læŋ])是一种通用的面向并发的编程语言,它由瑞典电信设备制造商爱立信所辖的CS-Lab开发,目的是创造一种可以应对大规模并发活动的编程语言和运行环境。

最初是由爱立信专门为通信应用设计的,比如控制交换机或者变换协议等,因此非常适合构建分布式、实时软并行计算系统。Erlang运行时环境是一个虚拟机,有点像Java的虚拟机,这样代码一经编译,同样可以随处运行。

2 安装Erlang

RabbitMQ安装包依赖于Erlang语言包的支持,所以需要先安装Erlang语言包,再安装RabbitMQ安装包。

下载Erlang时需要注意版本兼容性问题,参考官方文档(https://www.rabbitmq.com/which-erlang.html)

图片

在RabbitMQ发布的所有版本中,支持CentOS 7.X的最高一个版本是rabbitmq-server-3.10.0-1.el7.noarch。

2.1 ARM架构的CentOS虚拟机中安装Erlang

下载ARM架构版本的Erlang安装包。可以从以下三个地址下载otp_src_23.3.4.11.tar.gz版本的安装包。

  • https://github.com/erlang/otp/releases
  • https://www.erlang-solutions.com/downloads
  • https://erlang.org/download/otp_versions_tree.html

拷贝otp_src_23.3.4.11.tar.gz到/opt目录。

# 1.Windows系统使用Xftp工具或者lrzsz工具将Erlang安装包上传至CentOS系统# 2.Mac系统使用scp命令将Erlang安装包上传至CentOS系统
scp /Users/yuanxin/Downloads/otp_src_23.3.4.11.tar.gz root@192.168.230.131:/opt

安装依赖环境。安装的过程需要消耗一定的时间需耐心等待安装“完毕”的提示。

[root@user opt]# yum -y install build-essential openssl openssl-devel unixODBC unixODBC-devel make gcc gcc-c++ kernel-devel m4 ncurses-devel tk tc xz glibc-devel xmlto perl gtk2-devel binutils-devel

解压Erlang安装包。

[root@user opt]# tar -zxvf otp_src_23.3.4.11.tar.gz

配置安装目录

# 进入Erlang源码编译目录
[root@user opt]# cd otp_src_23.3.4.11
# 创建Erlang安装目录
[root@user opt]# mkdir /opt/erlang
# 设置安装目录
[root@user otp_src_23.3.4.11]# ./configure --prefix=/opt/erlang

编译、安装Erlang。注意,make命令执行的时间可能比较长,需耐心等待编译完成。

[root@user otp_src_23.3.4.11]# make
[root@user otp_src_23.3.4.11]# make install

打开/etc/profile配置文件,将编译安装的Erlang加入环境变量。

[root@user otp_src_23.3.4.11]# vim /etc/profile

配置ERLANG_HOME安装路径。

# ERLANG_HOME
export ERLANG_HOME=/opt/erlang
export PATH=$PATH:$ERLANG_HOME/bin

使配置文件生效并使用erl命令查看Erlang的版本信息。

[root@user otp_src_23.3.4.11]# source /etc/profile
[root@user otp_src_23.3.4.11]# erl -version
Erlang (SMP,ASYNC_THREADS) (BEAM) emulator version 11.2.2.10

2.2 X86架构的CentOS虚拟机中安装Erlang

下载erlang-23.3.4.11-1.el7.x86_64.rpm版本的Erlang安装包。Erlang安装包下载地址:https://packagecloud.io/rabbitmq/erlang。

图片

请运行安装脚本,或在安装此软件包之前手动安装仓库。

curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash

使用wget命令下载Erlang安装包(下载到/opt目录下)。

wget --content-disposition "https://packagecloud.io/rabbitmq/erlang/packages/el/7/erlang-23.3.4.11-1.el7.x86_64.rpm/download.rpm?distro_version_id=140"

安装Erlang。

# 安装方式1
sudo yum install erlang-23.3.4.11-1.el7.x86_64
# 安装方式2
rpm -ivh erlang-23.3.4.11-1.el7.x86_64.rpm

输入“y”,回车继续安装,等待安装完成。

Is this ok [y/s/N]: y

输入“erl”命令,如果显示版本号说明Erlang安装成功。

erl

如果在安装Erlang提示“错误:依赖检测失败”解决方案见下。

(1).如果在安装Erlang时报如下错误。

[root@user opt]# rpm -ivh erlang-23.3.4.11-1.el7.x86_64.rpm
警告:erlang-23.3.4.11-1.el7.x86_64.rpm: 头V4 RSA/SHA1 Signature, 密钥 ID 6026dfca: NOKEY
错误:依赖检测失败:libc.so.6(GLIBC_2.10)(64bit) 被 erlang-23.3.4.11-1.el7.x86_64 需要libc.so.6(GLIBC_2.11)(64bit) 被 erlang-23.3.4.11-1.el7.x86_64 需要libc.so.6(GLIBC_2.14)(64bit) 被 erlang-23.3.4.11-1.el7.x86_64 需要libc.so.6(GLIBC_2.15)(64bit) 被 erlang-23.3.4.11-1.el7.x86_64 需要libc.so.6(GLIBC_2.2.5)(64bit) 被 erlang-23.3.4.11-1.el7.x86_64 需要libc.so.6(GLIBC_2.3)(64bit) 被 erlang-23.3.4.11-1.el7.x86_64 需要libc.so.6(GLIBC_2.3.2)(64bit) 被 erlang-23.3.4.11-1.el7.x86_64 需要libc.so.6(GLIBC_2.3.4)(64bit) 被 erlang-23.3.4.11-1.el7.x86_64 需要libc.so.6(GLIBC_2.4)(64bit) 被 erlang-23.3.4.11-1.el7.x86_64 需要libc.so.6(GLIBC_2.7)(64bit) 被 erlang-23.3.4.11-1.el7.x86_64 需要libc.so.6(GLIBC_2.8)(64bit) 被 erlang-23.3.4.11-1.el7.x86_64 需要libdl.so.2(GLIBC_2.2.5)(64bit) 被 erlang-23.3.4.11-1.el7.x86_64 需要libm.so.6(GLIBC_2.2.5)(64bit) 被 erlang-23.3.4.11-1.el7.x86_64 需要libpthread.so.0(GLIBC_2.12)(64bit) 被 erlang-23.3.4.11-1.el7.x86_64 需要libpthread.so.0(GLIBC_2.2.5)(64bit) 被 erlang-23.3.4.11-1.el7.x86_64 需要libpthread.so.0(GLIBC_2.3.2)(64bit) 被 erlang-23.3.4.11-1.el7.x86_64 需要librt.so.1(GLIBC_2.2.5)(64bit) 被 erlang-23.3.4.11-1.el7.x86_64 需要libutil.so.1(GLIBC_2.2.5)(64bit) 被 erlang-23.3.4.11-1.el7.x86_64 需要

yaml

(2). 在命令后面添加–nodeps --force参数。该命令的作用是,不再分析包之间的依赖关系而直接安装。

[root@user opt]# rpm -ivh erlang-23.3.4.11-1.el7.x86_64.rpm --nodeps --force
警告:erlang-23.3.4.11-1.el7.x86_64.rpm: 头V4 RSA/SHA1 Signature, 密钥 ID 6026dfca: NOKEY
准备中...                          ################################# [100%]软件包 erlang-23.3.4.11-1.el7.x86_64 是针对 different 构架的

(3). 手动打的安装依赖环境。

[root@user opt]# yum -y install build-essential openssl openssl-devel unixODBC unixODBC-devel make gcc gcc-c++ kernel-devel m4 ncurses-devel tk tc xz glibc-devel xmlto perl gtk2-devel binutils-devel

2.3 Windows系统安装Erlang

2.3.1 下载Erlang

访问Erlang官网(https://www.erlang.org),点击【Get Erlang/OPT 24】按钮,进入到下载页面。

图片

在Erlang下载页面选择【Download Windows installer】-【Download 64-bit Installer】选项,下载64位的Erlang安装包。

图片

2.3.2 安装Erlang

双击otp_win64_24.3.3.exe安装包,今入选择组件窗口,保持选项默认,直接点击【Next】下一步。

图片

在选择安装位置窗口,自定义Erlang安装配置。例如,安装在D:\ProgramSoftware\erl-24.3.3目录下。

图片

在选择开始菜单文件夹窗口,保持默认,点击【Install】按钮进行安装。

图片

等待Erlang的安装完成,整个安装过程可能需要持续三分钟左右。

图片

安装完成后,点击【Close】按钮,关闭窗口。至此,Erlang语言包的安装完成。

图片

2.3.3 配置Erlang

在【高级系统设置】-【环境变量】-【系统变量】选项下,创建ERLANG_HOME变量名,并对此变量名指定Erlang的安装路径作为变量值(注意:在安装Erlang语言包时,会在系统变量下会自动增加一个变量名为ERLANG_HOME的变量配置,它的配置路径是Erlang选择安装的具体路径,无须手动修改。如果此变量已自动生成,无需重复配置)。

图片

双击【系统变量】-【Path】选项,在Path变量中添加Erlang安装目录下的bin配置。

%ERLANG_HOME%\bin
2.3.4 检测Erlang

在开始菜单找到【Erlang】选项,点击启动Erlang;如果显示如下界面,则表示Erlang安装配置成功。

图片

或者在【命令提示符】窗口,输入erl命令,查看Erlang版本号;再输入halt().退出erl命令操作。

图片

3.安装Socat

3.安装Socat

ARM架构的CentOS虚拟机中在安装Erlang时,默认已经安装了Socat,因此无需重复安装Socat。而X86架构的CentOS虚拟机中在安装Erlang时,默认没有安装Socat,因此需要手动安装Socat。

3.1 Socat简介

Socat是Linux下的一个多功能的网络工具,名字来由是“Socket CAT”。其功能与有瑞士军刀之称的Netcat类似,可以看做是Netcat的加强版。

Socat的主要特点就是在两个数据流之间建立通道,且支持众多协议和链接方式。如IP、TCP、UDP、IPv6、PIPE、EXEC、System、Open、Proxy、Openssl、Socket等。Socat的官方网站:http://www.dest-unreach.org/socat。

3.2 Socat安装

通过以下地址可以下载Socat安装包:http://repo.iotti.biz/CentOS/7/x86_64。

拷贝socat-1.7.3.2-5.el7.lux.x86_64.rpm到/opt目录。

# 1.Windows系统使用Xftp工具或者lrzsz工具将Socat安装包上传至CentOS系统# 2.Mac系统使用scp命令将Socat安装包上传至CentOS系统
scp /Users/yuanxin/Downloads/socat-1.7.3.2-5.el7.lux.x86_64.rpm root@192.168.230.131:/opt

安装Socat。

[root@user opt]# rpm -ivh socat-1.7.3.2-5.el7.lux.x86_64.rpm

查看Socat的版本信息。

[root@user opt]# yum info socat
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile* base: mirrors.bfsu.edu.cn* extras: mirrors.bfsu.edu.cn* updates: mirrors.bfsu.edu.cn
可安装的软件包
名称    :socat
架构    :aarch64
版本    :1.7.3.2
发布    :2.el7
大小    :279 k
源    :base/7/aarch64
简介    :Bidirectional data relay between two data channels ('netcat++')
网址    :http://www.dest-unreach.org/socat
协议    :GPLv2
描述    :Socat is a relay for bidirectional data transfer between two independent data: channels. Each of these data channels may be a file, pipe, device (serial line: etc. or a pseudo terminal), a socket (UNIX, IP4, IP6 - raw, UDP, TCP), an: SSL socket, proxy CONNECT connection, a file descriptor (stdin etc.), the GNU: line editor (readline), a program, or a combination of two of these.

4.安装RabbitMQ

4.1 ARM架构的CentOS虚拟机中安装RabbitMQ

下载ARM架构版本的RabbitMQ安装包。下载地址:https://github.com/rabbitmq/rabbitmq-server/releases。我们选择rabbitmq-server-generic-unix-3.10.0.tar.xz版本的RabbitMQ进行下载。

拷贝rabbitmq-server-generic-unix-3.10.0.tar.xz到/opt目录。

# 1.Windows系统使用Xftp工具或者lrzsz工具将RabbitMQ安装包上传至CentOS系统
# 2.Mac系统使用scp命令将RabbitMQ安装包上传至CentOS系统
scp /Users/yuanxin/Downloads/rabbitmq-server-generic-unix-3.10.0.tar.xz root@192.168.230.131:/opt

解压RabbitMQ安装包。

[root@user opt]# xz -d rabbitmq-server-generic-unix-3.10.0.tar.xz
[root@user opt]# tar -xvf rabbitmq-server-generic-unix-3.10.0.tar

打开/etc/profile配置文件,配置RabbitMQ环境变量。

[root@user opt]# vim /etc/profile

将RabbitMQ安装路径加入环境变量。

#RABBITMQ_HOME
export RABBITMQ_HOME=/opt/rabbitmq_server-3.10.0
export PATH=$PATH:$RABBITMQ_HOME/sbin

使配置文件生效并使用erl命令查看Erlang的版本信息。

[root@user opt]# source /etc/profile

启动RabbitMQ管理插件。为了更加方便地管理RabbitMQ,需要启动RabbitMQ的管理插件。

rabbitmq-plugins enable rabbitmq_management

4.2 X86架构的CentOS虚拟机中安装RabbitMQ

下载rabbitmq-server-3.10.0-1.el7.noarch.rpm版本的RabbitMQ安装包。RabbitMQ安装包下载地址:https://packagecloud.io/rabbitmq/rabbitmq-server。

图片

请运行安装脚本,或在安装此软件包之前手动安装仓库。

curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash

使用wget命令下载RabbitMQ安装包(下载到/opt目录下)。

wget --content-disposition "https://packagecloud.io/rabbitmq/rabbitmq-server/packages/el/7/rabbitmq-server-3.10.0-1.el7.noarch.rpm/download.rpm?distro_version_id=140"

安装RabbitMQ。

sudo yum install rabbitmq-server-3.10.0-1.el7.noarch

输入"y",回车继续安装,等待安装完成。

Is this ok [y/s/N]: y

启动RabbitMQ管理插件。为了更加方便地管理RabbitMQ,需要启动RabbitMQ的管理插件。

rabbitmq-plugins enable rabbitmq_management

4.3 Windows系统安装RabbitMQ

4.3.1 下载RabbitMQ

访问RabbitMQ官网(http://rabbitmq.com),点击【Get Started】选项。

图片

选择【Download + Installation】选项,进入RabbitMQ下载页面。

图片

在该页面中可以选择第一个推荐(recommended)的rabbitmq-sever-3.9.14.exe(3.9.14版本是在编写此教程时最新的稳定版本)进行下载。

图片

找到直接下载(Direct Downloads)选项,然后点击rabbitmq-sever-3.9.14.exe进行下载。

图片

4.3.2 安装RabbitMQ

双击rabbitmq-server-3.9.14.exe安装包,打开选择组件窗口,保持选项默认,直接点击【Next】下一步。

图片

在选择安装位置窗口,自定义RabbitMQ安装配置。例如,安装在D:\ProgramSoftware\RabbitMQ Server目录下。然后点击【Install】进行安装。

图片

等待RabbitMQ的安装完成,整个安装过程可能需要持续三分钟左右。

图片

安装完成后,点击【Next】按钮进入下一步操作。

安装完成后,点击【Next】按钮进入下一步操作。

图片

完成RabbitMQ安装后,点击【Finish】按钮,完成操作。

图片

4.3.3 配置RabbitMQ

在【高级系统设置】-【环境变量】-【系统变量】选项下,创建RABBITQM_SERVER变量名,并对此变量名指定RabbitMQ的安装路径作为变量值。

图片

双击【系统变量】-【Path】选项,在Path变量中添加RabbitMQ安装目录下的sbin配置。

%RABBITQM_SERVER%\sbin
4.3.4 启动RabbitMQ管理插件

为了更加方便地管理RabbitMQ,需要启动RabbitMQ的管理插件。

我们将目录切换到RabbitMQ中的sbin目录下。

cd D:\ProgramSoftware\RabbitMQ Server\rabbitmq_server-3.9.14\sbin

也可点击开始菜单中的【RabbitMQ Command Prompt (sbin dir)】菜单选项,直接切换到sbin目录下。

执行以下命令,启动RabbitMQ管理插件。

rabbitmq-plugins enable rabbitmq_management

相关文章:

不同环境下RabbitMQ的安装-2 ARM架构、X86架构、Window系统环境下安装RabbitMQ

ARM架构、X86架构、Window系统环境下RabbitMQ的安装 RabbitMQ安装1 Erlang语言介绍2 安装Erlang2.1 ARM架构的CentOS虚拟机中安装Erlang2.2 X86架构的CentOS虚拟机中安装Erlang2.3 Windows系统安装Erlang2.3.1 下载Erlang2.3.2 安装Erlang2.3.3 配置Erlang2.3.4 检测Erlang 3.安…...

C++(week16): C++提高:(六) Qt提高

文章目录 四、Qt的元对象系统1.元对象和MOC(1)自省 和 反射(2)Qt是怎样支持元对象系统的?(3)支持元对象系统的三个要求(4)元对象系统的功能(5)动态属性 2.信号和槽机制(1)信号与槽机制的基本原理(2)自定义信号、自定义槽函数①自定义信号②自定义槽③关联 connect (…...

go 时间转时间戳的时区设置问题

昨天遇到一个问题,在完成时间转换时间戳,在后续测试中发现转换后的时间戳转成时间后,时间发生错误,时间和转换时间不一致问题 如下: package mainimport ("fmt""time" )func main() {Start : &q…...

MySQL 常见日志清理策略

前言: MySQL 数据库服务器使用多种类型的日志来记录操作和事件,这对于故障诊断、审计和性能分析非常重要。然而,这些日志文件会随着时间的推移而不断增长,可能会占用大量的磁盘空间。因此,定期清理这些日志是必要的&a…...

3大管人绝招让你的手下心服口服

3大管人绝招让你的手下心服口服 一:差异化管理,玩弄人性 谁赞成,谁反对,看清楚谁顺从自己,谁反对自己之后,接下来要做的便是区别对待。 给听话的下属最好的资源、最轻松简单的工作、最高的待遇&#xf…...

useImperativeHandle 是什么?你可以理解为 vue3 的 expose

useImperativeHandle 确实类似于 Vue 3 的 expose,两者都用于控制子组件向父组件暴露的接口。 在 React 中,useImperativeHandle 需要与 forwardRef 一起使用,原因如下: 转发引用:forwardRef 允许父组件将 ref 传递给…...

《Techporters架构搭建》-Day05 属性校验

属性校验 前言Validated基础用法集合校验分组校验嵌套校验自定义校验器 源码地址 前言 在项目开发过程中,经常遇到需要对传递的参数进行校验,比如某个参数字段是否为空、值的取值是否在约定范围、格式是否合法等等,最原始的写法,…...

HTTP的场景实践

HTTP的场景实践:任选一个浏览器,对于其涉及的请求中的缓存策略展开具体分析 1. 强缓存: Cache-Control用于指定缓存的最长有效时间。 Expires用于指定资源过期的日期。 2. 协商缓存: ETag用于标识资源的唯一标识符,…...

MySQL:表的设计原则和聚合函数

所属专栏:MySQL学习 💎1. 表的设计原则 1. 从需求中找到类,类对应到数据库中的实体,实体在数据库中表现为一张一张的表,类中的属性对应着表中的字段 2. 确定类与类的对应关系 3. 使用SQL去创建具体的表 范式&#xff1…...

介绍springmvc-水文

Spring MVC 是一个基于 Java 的开源 Web 框架,它是 Spring Framework 的一部分。Spring MVC 提供了一个架构,用于开发灵活、可扩展的 Web 应用程序。 Spring MVC 的主要特点包括: 基于模型-视图-控制器(MVC)的架构&am…...

uni-app学习笔记

一、下载HBuilder https://www.dcloud.io/hbuilderx.html 上述网址下载对应版本,下载完成后进行解压,不需要安装,解压完成后,点击HBuilder X.exe文件进行运行程序 二、创建uni-app项目 此处我是按照文档创建的uni-ui项目模板…...

Windows Server修改远程桌面端口

新建入站规则 填写端口 允许连接 修改远程桌面端口 winR打开注册表 计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp修改PortNumber为新端口 计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wi…...

界面组件Kendo UI for Vue 2024 Q2亮点 - 发布一系列新组件

随着最新的2024年第二季度发布,Kendo UI for Vue为应用程序开发设定了标准,包括生成式AI集成、增强的设计系统功能和可访问的数据可视化。新的2024年第二季度版本为应用程序界面提供了人工智能(AI)提示,从设计到代码的生产力增强、可访问性改…...

达梦数据库 逻辑备份还原

达梦的逻辑备份还原 1.背景2.要求3.实验步骤3.1 相关术语3.2 dexp逻辑导出3.2.1 使用dexp工具3.2.2 dexp相关参数含义3.2.3 四种级别导出3.2.3.1 FULL3.2.3.2 OWNER3.2.3.3 SCHEMAS3.2.3.4 TABLES 3.2.4 使用范例3.2.4.1 环境准备3.2.4.2 dexp逻辑导出 3.3 dimp逻辑导入3.3.1 使…...

Stable Diffusion绘画 | 图生图-上传重绘蒙版

上传重绘蒙版,可以弥补局部重绘的缺点,能够更精细的修改画面中的指定区域 使用PS制作的蒙版图片为耳朵下方区域,可以为图片中的女生带上不同款式的耳环。 参数配置: 调整提示词: 生成图片如下所示: 调整提…...

打开Office(word、excel、ppt)显示操作系统当前的配置不能运行此应用程序最全解决方案!

我以前用过分区助手把office从c盘挪到d盘了,从那以后office就用不了了,然后我就删了(貌似没删干净)。 最近由于有使用word的需求,所以我从学校官网找到正版软件的安装包,按照步骤重新卸载电脑中office残留…...

猫头虎 分享已解决Bug || TypeError: Cannot read property ‘map‘ of undefined 解决方案

🐯 猫头虎 分享已解决Bug || TypeError: Cannot read property map of undefined 解决方案 摘要: 今天猫头虎带大家深入探讨在前端开发中常见的一个令人头疼的问题:TypeError: Cannot read property map of undefined。这个错误通常出现在我…...

大模型快速部署,以浪潮源2.0为例

step1: 申请PAI-DSW试用 step2:魔塔社区授权 由于本地授权一直失败,于是采用了魔塔免费平台实例进行学习。 搭建好之后,打开就有相关页面了: demo搭建: 按照官方提示的步骤进行搭建,内容如下:…...

Python知识点:使用FastAI进行快速深度学习模型构建

使用FastAI构建深度学习模型非常方便,尤其是对于快速原型开发和实验。以下是一个使用FastAI构建深度学习模型的完整示例,涵盖数据准备、模型训练和评估。 安装依赖 首先,确保你安装了FastAI库和其他必要的库: pip install fast…...

Nginx配置全局https

Nginx配置全局https 要在 Nginx 中配置将 HTTP (80 端口) 请求重定向到 HTTPS (443 端口),可以在 Nginx 的配置文件中添加以下配置。假设你已经配置好了 HTTPS 相关的证书和密钥。 打开你的 Nginx 配置文件,通常是 /etc/nginx/nginx.conf。 在配置文件…...

【Linux】shell脚本忽略错误继续执行

在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...

FFmpeg 低延迟同屏方案

引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...

深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法

深入浅出:JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中,随机数的生成看似简单,却隐藏着许多玄机。无论是生成密码、加密密钥,还是创建安全令牌,随机数的质量直接关系到系统的安全性。Jav…...

【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验

系列回顾: 在上一篇中,我们成功地为应用集成了数据库,并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了!但是,如果你仔细审视那些 API,会发现它们还很“粗糙”:有…...

解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错

出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上,所以报错,到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本,cu、torch、cp 的版本一定要对…...

select、poll、epoll 与 Reactor 模式

在高并发网络编程领域,高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表,以及基于它们实现的 Reactor 模式,为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。​ 一、I…...

Java 二维码

Java 二维码 **技术&#xff1a;**谷歌 ZXing 实现 首先添加依赖 <!-- 二维码依赖 --><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.5.1</version></dependency><de…...

【JVM】Java虚拟机(二)——垃圾回收

目录 一、如何判断对象可以回收 &#xff08;一&#xff09;引用计数法 &#xff08;二&#xff09;可达性分析算法 二、垃圾回收算法 &#xff08;一&#xff09;标记清除 &#xff08;二&#xff09;标记整理 &#xff08;三&#xff09;复制 &#xff08;四&#xff…...

0x-3-Oracle 23 ai-sqlcl 25.1 集成安装-配置和优化

是不是受够了安装了oracle database之后sqlplus的简陋&#xff0c;无法删除无法上下翻页的苦恼。 可以安装readline和rlwrap插件的话&#xff0c;配置.bahs_profile后也能解决上下翻页这些&#xff0c;但是很多生产环境无法安装rpm包。 oracle提供了sqlcl免费许可&#xff0c…...

DiscuzX3.5发帖json api

参考文章&#xff1a;PHP实现独立Discuz站外发帖(直连操作数据库)_discuz 发帖api-CSDN博客 简单改造了一下&#xff0c;适配我自己的需求 有一个站点存在多个采集站&#xff0c;我想通过主站拿标题&#xff0c;采集站拿内容 使用到的sql如下 CREATE TABLE pre_forum_post_…...