服务器CPU负载-设定自重启
问题描述:在编写系统程序中,出现bug导致系统CPU负载或者跑满了。导致客户端ssh无法链接上来。
解决办法:优化出问题的程序,设定CPU阔值,超过重启。
监控与重启:
创建监控脚本
1.创建脚本文件: 在根目录下创建一个新的脚本文件,例如 cpu_monitor.sh。
1  | sudo nano /cpu_monitor.sh  | 
2.编写以下脚本内容,THRESHOLD=90中90代表CPU阔值上限为90%,超过就要重启。
1  | #!/bin/bash  | 
3,保存退出后,执行授予权限:
1  | sudo chmod +x /cpu_monitor.sh  | 
1  | sudo crontab -e  | 
添加cron代码内容,每分钟检测一次:
1  | * * * * * /cpu_monitor.sh  | 
测试
安装 stress-ng
1  | sudo yum install epel-release  | 
查看服务器为几线程:
1  | nproc  | 
使用 stress-ng 设置 CPU 负载,如下第一个2代表两个线程,96代表是CPU负载接近96%,20s是定时器时长。
1  | stress-ng --cpu 2 --cpu-load 96 --timeout 20s  | 
等待一段时间 服务器重启就是成功了。
h5页面集成fackback事件上报
基础代码
将{your-pixel-id-goes-here}替换为实际的pixelID,将以下代码放在网页的<head></head>
1  | <!-- Facebook Pixel Code -->  | 
如果有其他事件上报,例如ViewContent,在基础代码的fbq('track', 'PageView');行后添加该事件上报:
1  | fbq('track', 'PageView');  | 
批量重命名脚本-特例要求记录
记录一个批量重命名文件bat代码。该脚本主要功能是遍历当前目录中的所有文件,并将符合特定模式的文件名进行重命名,将类似 ASMR Rainbow Jelly-720 X 1280-2024-07-04-930d17d3fe662399f0ca12104d604fa5 重命名为 ASMR Rainbow Jelly-720 X 1280,舍弃-2024-07-04-930d17d3fe662399f0ca12104d604fa5日期和bash部分。
完整脚本内容
1  | @echo off  | 
脚本解析
初始化部分
1  | @echo off  | 
- @echo off:关闭命令回显。
 - chcp 65001 > nul 2>&1:将代码页设置为 UTF-8,防止出现乱码。
 - setlocal enabledelayedexpansion:启用延迟变量扩展,允许在 for 循环中使用 ! 来引用变量。
 
ECS服务器成长笔记
ECS服务配置
服务器配置:
i-7xvatqiyl3pikzz7pz2t运行中(2核(vCPU) 2GiB) AliyunLinux
添加私钥
在本地电脑使用以下命令查看并公钥内容:
1  | cat ~/.ssh/id_rsa.pub  | 
执行以下1或2完成添加公钥操作。
1.打开ECS后台远程链接,编辑 authorized_keys 文件:
1  | 编辑 authorized_keys 文件。  | 
按Esc建输入:wq保存退出。
附:如果你第一次使用没有正常关闭,执行一下操作
1  | # 尝试使用 ps 命令查看正在运行的 Vim 进程  | 
找到相关的 Vim 进程,并使用 kill 命令终止它们。
1  | kill -9 <process_id>  | 
2.登录ECS管理控制台。在左侧导航栏,网络与安全 > 密钥对 > 添加复制出来的公钥内容 命名为test
在左侧导航栏,选择实例与镜像 > 实例。
在操作列中,找到购买的ESC实例…> 实例属性 > 绑定密钥对,选择test, 确定重启。
批量刷CloudFront缓存 --From天哥
本文字数: 594 阅读时长 ≈ 2 分钟
Node.js中fs模块实现配置文件的读写
在Node.js中,fs模块提供了对文件系统的访问功能,我们可以利用它来实现配置文件的读取和写入操作。正好用到,就记录一下。
准备工作
确保你的项目目录已经安装了做了npm或pnpm或yarn等node相关初始化,存在node_modules文件夹,这样就可以使用fs:
1  | const fs = require('fs');  | 
接下来就是定义路径,我是用到年月来定义路径,并放在当前路径的storeConfigs下:
1  | const path = require('path');  | 
Linux服务器部署API的方法
在构建应用程序时,部署API是一个关键的步骤。API部署允许其他应用程序或用户与您的服务进行交互,并访问所需的功能和数据。本文将介绍一个示例,展示如何使用Node.js和Express框架来部署一个简单的API。
准备工作
- 安装Node.js:用于运行JavaScript代码的运行时环境。
1
2sudo apt update
sudo apt install nodejs - 安装npm(Node Package Manager):用于管理和安装Node.js模块。
1
sudo apt install npm
 
创建API脚本
编写脚本
在服务器想要存放API脚本的目录下,创建API脚本(这里我用的是server.js),其中{ TemplateName, site }为请求API传递的json参数:
1  | const express = require('express');  | 
深入了解 NVM 和 NRM
当您使用多个Node.js版本和多个包管理器时,管理和切换它们可能会变得复杂。为了解决这个问题,开发者社区提供了一些工具来帮助我们轻松地管理Node.js版本和包管理器。两个常用的工具是NVM(Node Version Manager)和NRM(NPM Registry Manager)。本文将介绍它们的使用方法和主要功能。
操作系统:Windows
NVM(Node Version Manager)
什么是NVM?
NVM是一个用于管理Node.js版本的工具。它允许开发者在同一台机器上同时安装和切换不同的Node.js版本。无论是在开发环境中测试不同版本的应用程序,还是在维护多个项目时,NVM都能提供便利。
Windows安装NVM
在终端中执行以下命令下载安装nvm-windows
1  | https://github.com/coreybutler/nvm-windows  |