Debian10: 安装nut服务器(UPS)
UPS说明:
UPS的作用就不必讲了,我选择是SANTAKTGBOX-850,规格为 850VA/510W,可以满足所需,关键是Debian10自带了驱动可以支持,免去安装驱动,将UPS通过USB线连接服务器即可,如下图所示:

注1:官方未说明支持Linux系统,实际是支持的。
注2:其中只有一排插座提供UPS供电,另一排只起防雷保护作用,注意看说明书。
Linux nut说明:
nut(Network UPS tools),是一个Linux下的网络版的UPS工具,采用C/S架构,服务器端连接UPS设备,客户端通过网络连接服务器端接收UPS相关信息,更多了解可以浏览nut工具的官网:
https://networkupstools.org/
第1步:安装nut相关服务:
#安装nut驱动、服务器端、客户端和服务器端WEB服务
root@server:~# apt-get install nut nut-server nut-client nut-cgi
... ...#列出nut目录下的文件
root@server:~# ls /etc/nut
hosts.conf nut.conf ups.conf upsd.conf upsd.users upsmon.conf upssched.conf upsset.conf upsstats.html upsstats-single.html
nut的配置文件比较多,可以做个分类,以便理解:
驱动相关配置文件(nut-driver):ups.conf
服务器端配置文件(nut-server):nut.conf, upsd.conf, upsd.users, upssched.conf
服务器端WEB支持(nut-cgi):hosts.conf, upsset.conf
客户端的配置文件(nut-client):upsmon.conf
第2步:驱动配置
#打开ups.conf配置文件,在文件尾添加内容
root@server:~# vi /etc/nut/ups.conf
root@server:~# cat /etc/nut/ups.conf
...
[tgbox850]driver=usbhid-upsport=autovendorid=0463desc='SANTAK TGBOX-850 UPS"pollinterval=1override.battery.charge.low=40
root@server:~#
其中“override.battery.charge.low = 40” 表示ups电量降到40%的时候触发低电量报警,默认值为20。低电量报警是UPS重要的信息,多数情况下,作为服务器关机操作的触发条件。
第3步:服务器端配置
#修改运行模式
root@server:~# vi /etc/nut/nut.conf
root@server:~# cat /etc/nut/nut.conf
... ...
MODE=netserver#修改网络监听配置
root@server:~# vi /etc/nut/upsd.conf
root@server:~# cat /etc/nut/upsd.conf
... ...
LISTEN 0.0.0.0 3493#创建客户端连接时所需用户名和密码
root@server:~# vi /etc/nut/upds.users
root@server:~# cat /etc/nut/upds.users
... ...
[nutuser]password = nutpasswdupsmon master#配置WEB(CGI)服务(nutuser和nutpasswd为upds.users文件添加的用户和密码)
root@server:~# vi /etc/nut/hosts.conf
root@server:~# cat /etc/nut/hosts.conf
... ...
MONITOR tgbox850@localhost 1 nutuser nutpasswd master#确认CGI目录安全性
root@server:~# vi /etc/nut/upsset.conf
root@server:~# cat /etc/nut/upsset.conf
... ...
I_HAVE_SECURED_MY_CGI_DIRECTORY#重新拔插一下UPS的USB线,然后重启相关服务,执行后若未返回到命令提示状态,Ctrl + C即可。
root@server:~# service nut-driver restart
root@server:~# service nut-server restart
root@server:~# service nut-monitor restart#查看服务是否正常启动
root@server:~# lsof -i:3493
upsd 12413 nut 4u IPv4 185568 0t0 TCP *:nut (LISTEN)
root@server:~#
第4步:配置WEB服务(CGI)
root@server:~# ls /usr/share/nut
cmdvartab driver.list www#修改apache2.conf文件,添加内容
root@server:~# vi /etc/apache2/apache2.conf
root@server:~# cat /etc/apache2/apache2.conf
... ...
Alias /nut /usr/share/nut/www
<Directory /usr/share/nut/www>Options +SymLinksIfOwnerMatchAllowOverride AllRequire all granted
</Directory>
... ...#确认apache2使能CGI支持
root@server:~# a2enmod cgi
[Sat Aug 19 10:22:33.100704 2023] [so:warn] [pid 12757] AH01574: module dav_module is already loaded, skipping
Module cgi already enabled#修改serve-cfg-bin.conf文件内容
root@server:~# vi /etc/apache2/conf-available/serve-cgi-bin.conf
root@server:~# cat vi /etc/apache2/conf-available/serve-cgi-bin.conf
... ...<IfDefine ENABLE_USR_LIB_CGI_BIN>ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/<Directory "/usr/lib/cgi-bin">AllowOverride NoneAddHandler cgi-script .cgiOptions +ExecCGI -MultiViews +SymLinksIfOwnerMatchRequire all granted</Directory></IfDefine>
... ...#重启apache2服务
root@server:~# service apache2 restart
第5步:浏览器查看UPS信息
在WINDOWS客户端,打开浏览器,输入网址:http://192.168.121.240/nut,界面如下:
需要注意:谷歌浏览器测试时可能出现直接下载CGI文件(不执行)的问题,若出现这个情况,换Edge浏览器测试。
阶段说明:
至此,只是完成了nut服务器端的配置,更多关键内容将在nut客户端的配置中说明。
参考文章:
Linux UPS配置详解 (山特SANTAK TGBOX-850 )_mayer的博客-CSDN博客
电源管理之捣腾家用 UPS - 知乎
PVE/Linux安装nut管理apc BK650M2-CH ups自动关机 - 海运的博客
SANTAKTGBOX-850在Linux下的UPS部署踩坑记 - 百度文库
相关文章:
Debian10: 安装nut服务器(UPS)
UPS说明: UPS的作用就不必讲了,我选择是SANTAKTGBOX-850,规格为 850VA/510W,可以满足所需,关键是Debian10自带了驱动可以支持,免去安装驱动,将UPS通过USB线连接服务器即可,如下图所示…...
神经网络基础-神经网络补充概念-47-动量梯度下降法
概念 动量梯度下降法(Momentum Gradient Descent)是一种优化算法,用于加速梯度下降的收敛速度,特别是在存在高曲率、平原或局部最小值的情况下。动量法引入了一个称为“动量”(momentum)的概念,…...
C++11并发与多线程笔记(13) 补充知识、线程池浅谈、数量谈、总结
C11并发与多线程笔记(13) 补充知识、线程池浅谈、数量谈、总结 1、补充一些知识点1.1 虚假唤醒:1.2 atomic 2、浅谈线程池:3、线程创建数量谈: 1、补充一些知识点 1.1 虚假唤醒: notify_one或者notify_al…...
python高级基础
文章目录 python高级基础闭包修饰器单例模式跟工厂模式工厂模式单例模式 多线程多进程创建websocket服务端手写客户端 python高级基础 闭包 简单解释一下闭包就是可以在内部访问外部函数的变量,因为如果声明全局变量,那在后面就有可能会修改 在闭包中的…...
使用线性回归模型优化权重:探索数据拟合的基础
文章目录 前言一、示例代码二、示例代码解读1.线性回归模型2.MSE损失函数3.优化过程4.结果解读 总结 前言 在机器学习和数据科学中,线性回归是一种常见而重要的方法。本文将以一个简单的代码示例为基础,介绍线性回归的基本原理和应用。将使用Python和Nu…...
亿级短视频,如何架构?
说在前面 在尼恩的(50)读者社群中,经常指导大家面试架构,拿高端offer。 前几天,指导一个年薪100W小伙伴,拿到字节面试邀请。 遇到一个 非常、非常高频的一个面试题,但是很不好回答࿰…...
jenkins pipeline方式一键部署github项目
上篇:jenkins一键部署github项目 该篇使用jenkins pipeline-script一键部署,且介绍pipeline-scm jenkins环境配置 前言:按照上篇创建pipeline任务,结果报mvn,jdk环境不存在,就很疑惑,然后配置全…...
Vue 项目搭建
环境配置 1. 安装node.js 官网:nodejs(推荐 v10 以上) 官网:npm 是什么? 由于vue的安装与创建依赖node.js(JavaScript的运行环境)里的npm(包管理和分发工具)ÿ…...
【NetCore】09-中间件
文章目录 中间件:掌控请求处理过程的关键1. 中间件1.1 中间件工作原理1.2 中间件核心对象 2.异常处理中间件:区分真异常和逻辑异常2.1 处理异常的方式2.1.1 日常错误处理--定义错误页的方法2.1.2 使用代理方法处理异常2.1.3 异常过滤器 IExceptionFilter2.1.4 特性过…...
机器学习深度学习——BERT(来自transformer的双向编码器表示)
👨🎓作者简介:一位即将上大四,正专攻机器学习的保研er 🌌上期文章:机器学习&&深度学习——transformer(机器翻译的再实现) 📚订阅专栏:机器学习&am…...
Datawhale Django后端开发入门 Vscode TASK02 Admin管理员、外键的使用
一.Admin管理员的使用 1、启动django服务 使用创建管理员之前,一定要先启动django服务,虽然TASK01和TASK02是分开的,但是进行第二个流程的时候记得先启动django服务,注意此时是在你的项目文件夹下启动的,时刻注意要执…...
【ES5和ES6】数组遍历的各种方法集合
一、ES5的方法 1.for循环 let arr [1, 2, 3] for (let i 0; i < arr.length; i) {console.log(arr[i]) } // 1 // 2 // 32.forEach() 特点: 没有返回值,只是针对每个元素调用func三个参数:item, index, arr ;当前项&#…...
学科在线教育元宇宙VR虚拟仿真平台落实更高质量的交互学习
为推动教育数字化,建设全民终身学习的学习型社会、学习型大国,元宇宙企业深圳华锐视点深度融合VR虚拟现实、数字孪生、云计算和三维建模等技术,搭建教育元宇宙平台,为学生提供更加沉浸式的学习体验,提高学习效果和兴趣…...
[python爬虫] 爬取图片无法打开或已损坏的简单探讨
本文主要针对python使用urlretrieve或urlopen下载百度、搜狗、googto(谷歌镜像)等图片时,出现"无法打开图片或已损坏"的问题,作者对它进行简单的探讨。同时,作者将进一步帮你巩固selenium自动化操作和urllib…...
vue项目预览pdf功能(解决动态文字无法显示的问题)
最近,因为公司项目需要预览pdf的功能,开始的时候找了市面上的一些pdf插件,都能用,但是,后面因为pdf变成了需要根据内容进行变化的,然后,就出现了需要动态生成的文字不显示了。换了好多好多的插件…...
vue3 样式穿透:deep不生效
初学vue3,今天需要修改el-input组件的属性(去掉border和文字居右) 网上搜了一下,大致都是采用:deep 样式穿透来修改el-input的属性 <div class"input-container"><el-input placeholder"请输入111&qu…...
云原生反模式
通过了解这些反模式并遵循云原生最佳实践,您可以设计、构建和运营更加强大、可扩展和成本效益高的云原生应用程序。 1.单体架构:在云上运行一个大而紧密耦合的应用程序,妨碍了可扩展性和敏捷性。2.忽略成本优化:云服务可能昂贵&am…...
【2023年11月第四版教材】《第5章-信息系统工程(合集篇)》
《第5章-信息系统工程(合集篇)》 章节说明1 软件工程1.1 架构设计1.2 需求分析1.3 软件设计1.4 软件实现[补充第三版教材内容] 1.5 部署交付 2 数据工程2.1 数据建模2.2 数据标准化2.3 数据运维2.4 数据开发利用2.5 数据库安全 3 …...
【qiankun】微前端在项目中的具体使用
1、安装qiankun npm install qiankun --save2、主应用中注册和配置qiankun 在主应用的入口文件main.ts中,引入qiankun的注册方法: import { registerMicroApps, start } from qiankun;创建一个数组,用于配置子应用的相关信息。每个子应用都…...
云安全与多云环境管理:讨论在云计算和多云环境下如何保护数据、应用程序和基础设施的安全
随着云计算和多云环境的广泛应用,企业正面临着数据、应用程序和基础设施安全的新挑战。在这个数字化时代,保护敏感信息和业务运作的连续性变得尤为重要。本文将深入探讨在云计算和多云环境下如何有效地保护数据、应用程序和基础设施的安全。 章节一&…...
conda相比python好处
Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理:…...
Prompt Tuning、P-Tuning、Prefix Tuning的区别
一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...
css实现圆环展示百分比,根据值动态展示所占比例
代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...
大型活动交通拥堵治理的视觉算法应用
大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动(如演唱会、马拉松赛事、高考中考等)期间,城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例,暖城商圈曾因观众集中离场导致周边…...
React Native在HarmonyOS 5.0阅读类应用开发中的实践
一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...
JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作
一、上下文切换 即使单核CPU也可以进行多线程执行代码,CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短,所以CPU会不断地切换线程执行,从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...
Caliper 配置文件解析:config.yaml
Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...
Redis数据倾斜问题解决
Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中,部分节点存储的数据量或访问量远高于其他节点,导致这些节点负载过高,影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...
Bean 作用域有哪些?如何答出技术深度?
导语: Spring 面试绕不开 Bean 的作用域问题,这是面试官考察候选人对 Spring 框架理解深度的常见方式。本文将围绕“Spring 中的 Bean 作用域”展开,结合典型面试题及实战场景,帮你厘清重点,打破模板式回答,…...
掌握 HTTP 请求:理解 cURL GET 语法
cURL 是一个强大的命令行工具,用于发送 HTTP 请求和与 Web 服务器交互。在 Web 开发和测试中,cURL 经常用于发送 GET 请求来获取服务器资源。本文将详细介绍 cURL GET 请求的语法和使用方法。 一、cURL 基本概念 cURL 是 "Client URL" 的缩写…...
