mongo数据库
[TOC]
基本信息MongoDB 是一个 开源的 NoSQL 数据库,用 JSON 风格的文档来存储数据,而不是传统关系型数据库的表和行。
主要特点
文档型存储
数据以 BSON(二进制 JSON)格式保存,类似:
12345{ "name": "Alice", "age": 25, "skills": ["Python", "Vue"]}
无固定模式(Schema-less)
同一个集合(collection)里的文档结构可以不同,方便灵活扩展。
高扩展性
支持 分片(Sharding) 和 副本集(Replica Set),可以水平扩展和高可用。
查询功能强大
支持丰富的查询语法、聚合管道(Aggregation Pipeline)、地理位置查询等。
适合大数据和快速开发
常用于日志存储、实时分析、内容管理、物联网等场景。
基本概念对比(与 MySQL 类比)
MySQL
MongoDB
...
Linux下的权限控制
Linux下的权限控制Linux 权限基础概念在 Linux 中,权限控制是基于文件(file)和目录(directory)来实现的,权限由三组组成:
**User (u)**:文件的拥有者(Owner)
**Group (g)**:文件所属用户组
**Others (o)**:除拥有者和所属组外的其他用户
每组有 3 种权限:
权限
符号
对文件的作用
对目录的作用
读
r
读取文件内容
列出目录内容(ls)
写
w
修改文件内容
增删文件(即修改目录结构)
执行
x
执行文件
进入目录(cd)
权限示例:
1drwxr-xr--
d → 类型:目录 (directory)
rwx → 用户 (u) 权限:读、写、执行
r-x → 用户组 (g) 权限:读、执行(不能修改目录内容)
r-- → 其他人 (o) 权限:只读
chmod / chown / chgrp 的作用与用法chmod — 改变权限两种方式:
数字模式
r = 4,w = 2,x = 1,三者相加
示例:
1chmod 755 mydir
表示 ...
redis集群搭建
redis部署直接安装包管理器安装安装1dnf instal redis
启动123sudo systemctl start redissudo systemctl enable redissudo systemctl status redis
测试连接-112redis-cliping
配置文件 修改访问地址、增加密码、持久化存储
1234567891011121314vim /etc/redis.conf# 修改访问地址:69行左右bind 0.0.0.0# 增加密码:507行左右requirepass regen# 持久化存储# RDB持久化(默认会开启):218行左右save 900 1save 300 10save 60 10000# AOF持久化:700行左右appendonly yes
RDB在指定的间隔时间自动将内存中的数据快照保存到磁盘。
AOF记录所有写操作,以便在 Redis 重启时重新执行。
1. RDB 持久化RDB(Redis 数据库快照)会在指定的时间间隔内自动保存内存中的数据到磁盘。它是通过保存数据快照的方式进行持久化,适用于那些对实时 ...
zabbix进阶学习
zabbix进阶学习监控监控基础数据CPU、memory、DIsk可以通过创建新的仪表板,选择监控项后展示即可。还是很方便的。
监控对象
关键 Key
模板
CPU
system.cpu.util[,all]
Template OS Linux
内存
vm.memory.size[available]
Template OS Linux
磁盘
vfs.fs.size[free]
Template OS Linux by Zabbix agent
触发器配置 触发器是一个单独的层。用于结合触发器动作使用。例如某个触发器出发之后发送邮件、短信等等。
触发器配置
触发器动作配置
选择触发器
配置操作
配置媒介
配置邮件配置发信邮件服务器尝试过qq和163的smtp,qq的配置好了会出现login denied报错,最后使用了163。
配置邮件个人以及媒介
媒介概念在配置触发器进行邮件推送的过程中遇到了有关邮件媒介的问题。疑问为什么用户需要配置媒介,感觉多此一举。
在 Zabbix 的设计中,媒介分成两个层面:
层级
作用
举例
媒介类型
...
How-To-Ask-Questions-The-Smart-Way
来自How To Ask Questions The Smart Way
github:How-To-Ask-Questions-The-Smart-Way/README-zh_CN.md at main · ryanhanwu/How-To-Ask-Questions-The-Smart-Way
自然语言AI技术的让喜欢问题的人得到了很大的满足,但是如何问问题,如何准确的问题是提高学习以及工作效率的关键。这个项目就介绍了如何问问题的方法以及做法。记录笔记一边学习复习。文章写得还挺有意思还挺幽默。
Be precise and informative about your problem
Describe the symptoms of your problem or bug carefully and clearly.
Describe the environment in which it occurs (machine, OS, application, whatever). Provide your vendor’s distribution and ...
Jenkins部署与学习
Jenkins:
开源的自动化构建和持续集成/持续交付(CI/CD)平台,广泛用于 DevOps 实践中。开发者将代码提交到 GitHub、GitLab 等代码仓库后,Jenkins 可以自动拉取代码,执行编译、测试、构建镜像、部署到测试环境等流程。例如,在一个微服务项目中,Jenkins 可监控每个服务的代码库变化,一旦发现提交,就触发自动化流水线,构建 Docker 镜像并推送到 Harbor,再通过 Ansible 或 Kubernetes 实现自动部署。Jenkins 拥有上千个插件,可集成 Maven、Gradle、Docker、Kubernetes、Slack 等工具,适用于从小型项目到企业级的 CI/CD 自动化需求。
资源:
Jenkins源:
以下是一些常用的国内 Jenkins 插件更新源地址:jenkins配置国内源 - 厚礼蝎 - 博客园
清华大学:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
华为开源镜像站:https://mir ...
K8s pods service deployment初体验
部署过程:K8s 三节点环境搭建 | Regen
初次体验k8s,起了几个简单的pods、service、deployment
K8s pods service deployment初体验pods
busybox-podyaml文件:
busybox-pod.yaml
123456789101112apiVersion: v1kind: Podmetadata: name: busyboxspec: containers: - name: busybox image: registry.aliyuncs.com/google_containers/busybox:latest command: ["sleep", "3600"] # 防止容器立即退出
nginx-pod
nginx-pod.yaml
123456789apiVersion: v1kind: Podmetadata: name: my-nginxspec: containers: - name: nginx im ...
K8s 三节点环境搭建
环境:
效果:
虚拟机环境:
Master节点:K8s-1 192.168.72.8
node2 K8s-2 192.168.72.9
node2 K8s-3 192.168.72.9
搭建过程(思路):
先完成一台基础主机:具备以下服务
docker
containerd
kubelet kubeadm kubectl
编辑好containerd
sandbox镜像源
systemd 服务文件
克隆两份
配置Hostname
配置 IP
配置hosts
master配置
关闭 swap
加载内核参数
kubeadm init
安装网络插件Flannel
nodes配置
关闭 swap
加载内核参数
加入集群
k8s配置过程现在看起来还是挺简单的。其实卡主的点大部分都是什么镜像源配置,但也不能怪国内环境,至少sandbox那个源还能用,其他的镜像可以通过离线导入倒也不是那么痛苦。主要就是那些初始化的时候要用的镜像,后续再看看这类镜像能不能离线导入,或者尝试直接离线安装二进制文件吧。
后续需要了解的点
k8s in ...
Anolis8和CentOS7的日志对比
Anolis8和CentOS7的日志对比
功能/用途
CentOS 7
Anolis 8.10
差异解析
常用查看方式(CentOS 7)
常用查看方式(Anolis 8)
包管理
yum.log
dnf.log, dnf.rpm.log, dnf.librepo.log, hawkey.log
Anolis 8.10 默认用 dnf;hawkey 是 dnf 的依赖库
tail -n 50 /var/log/yum.log
tail -n 50 /var/log/dnf.log
系统消息总览
messages
无 messages
==Anolis 默认依赖 systemd journal,不再写入 /var/log/messages==
tail -f /var/log/messages
journalctl -xe
认证/安全
secure
无 secure
==同 ...
Ansible部署学习
环境:Anolis 8.10
ansible部署学习
安装Ansible 使用方式对比总结
方式
优点
缺点
适用场景
Python 虚拟环境安装
- 不影响系统全局Python环境 - 可同时维护多个不同版本的Ansible - 便于隔离依赖包
- 需要先安装Python和virtualenv - 环境激活后才能使用,不方便全局调用
需要多版本共存,或对环境隔离要求高的开发和测试环境
系统全局安装(pip/yum/apt)
- 安装方便,使用直接 - 系统命令行全局可用
- 依赖系统Python版本 - 升级或卸载影响所有项目 - 可能和系统自带包冲突
单机或者单环境长期稳定使用,简单快速搭建场景
Docker 容器运行
- 环境完全隔离,无需安装依赖 - 可快速切换不同Ansible版本 - 方便集成CI/CD流水线
- 需要了解Docker使用 - 调试不如本地方便 - 性能上有少许开销
持续集成/持续交付环境,临时执行或者多人协作场景
直接安装12dnf updatednf install ansible
...
WSL下pigz的部署与使用-大文件测试案例
WSL使用pigz进行压缩和解压缩
WSL(Windows Subsystem for Linux)是微软为 Windows 提供的一个兼容层,允许用户在 Windows 上原生运行 Linux 环境,而无需安装虚拟机或双系统。它支持大部分常用的 Linux 命令行工具、应用和开发框架,方便开发者在同一台电脑上同时使用 Windows 与 Linux 系统资源,尤其适合进行跨平台开发、测试和日常运维等工作,让 Windows 用户能够轻松体验和使用 Linux 的强大生态。
pigz,全称 Parallel Implementation of GZip,是 gzip 的多线程替代工具,由 zlib 作者之一 Mark Adler 开发。它通过将数据分块并用多个 CPU 核心并行压缩,大幅提高大文件或大量文件的压缩与解压速度,适合 Linux、macOS 和 WSL 等环境。pigz 只支持 gzip 格式,通常与 tar 搭配使用生成 .tar.gz 压缩包。相比 gzip,pigz 的压缩率基本相同但速度更快,缺点是只能用于 gzip 格式,没有图形界面,更适合服务器或需要 ...
zabbix部署server和agent
zabbix部署server和agent
Zabbix 是一个开源的企业级分布式监控解决方案,广泛应用于监控 IT 基础设施(如服务器、网络设备、虚拟机等)和应用程序。它支持多种监控方式(如 agent、SNMP、IPMI、SSH 等),提供实时数据采集、告警通知、趋势分析和历史存储。Zabbix 拥有强大的可扩展性和灵活的图形化 Web 界面,能够通过 Zabbix Server、Proxy 和 Agent 实现分布式部署,适用于大规模环境。其开源特性和丰富的模板、API 使其在中小企业到超大规模企业中都能得到广泛应用。
部署环境
系统:Anolis 8.10
软件:
Docker 28.3
Docker镜像:
mysql 8.0 304929b30183 5 days ago 781MB
zabbix/zabbix-web-nginx-mysql alpine-6.2-latest 09a4eb616c94 2 years ago 237MB
zabbi ...
windows环境下使用pigz进行压缩和解压缩
windows环境下使用pigz进行压缩和解压缩
pigz,全称 Parallel Implementation of GZip,是 gzip 的多线程替代工具,由 zlib 作者之一 Mark Adler 开发。它通过将数据分块并用多个 CPU 核心并行压缩,大幅提高大文件或大量文件的压缩与解压速度,适合 Linux、macOS 和 WSL 等环境。pigz 只支持 gzip 格式,通常与 tar 搭配使用生成 .tar.gz 压缩包。相比 gzip,pigz 的压缩率基本相同但速度更快,缺点是只能用于 gzip 格式,没有图形界面,更适合服务器或需要高性能压缩的场景。
在跨平台迁移数据的场景中,会遇到文件很大(几百g),并且还从Linux跨平台到Windows,例如数据库文件。这个时候数据的压缩和解压缩对于整个过程消耗的时间有巨大影响。
场景:windows下有一个data.tar.gz大文件,使用pigz的多线程解压到tar,然后再使用tar或者7zip解压出最后结果。
安装pigz
可以用wsl安装或者cygwin安装。这里仅介绍cygwin。
安装cygwin ...
固态硬盘捡漏笔记
固态硬盘捡漏笔记
学习并且总结。
以最近的捡的垃圾为例,价格为110。
?????????截个图就降了1%健康度可还行
固态硬盘架构slc、mlc、tlc、qlc1. 固态硬盘架构(NAND闪存类型)不同类型的NAND闪存直接影响SSD的寿命、速度和价格:
类型
每Cell存储位数
寿命(P/E cycles)
速度
价格
适用场景
SLC
1 bit
50,000~100,000
最高
最贵
企业级、极端负载
MLC
2 bits
3,000~10,000
高
较贵
高端消费级、工作站
TLC
3 bits
500~3,000
中等
主流
普通用户、游戏
QLC
4 bits
100~1,000
较低
最便宜
轻度使用、存储盘
关键点:
SLC/MLC:适合高负载(数据库、视频编辑),但价格高。
TLC:性价比最高,主流选择(如三星980 PRO、西数SN850)。
QLC:适合低预算、大容量存储(如Intel 660p),但寿命短。
固态硬盘性能指标
参数
单位
高端NVMe SSD(PCIe 4.0)
主流NVMe ...
jira、confluence、bitbucket、基于crowd实现sso的案例
jira、confluence、bitbucket、基于crowd实现sso的案例案例简介
这是旧生产环境备份案例:
版本信息
jira:7.13
confluence:6.10.0
bitbucket:7.0.0
crowd:3.2.1
mysql:5.7
jira位于一台服务器192.168.99.253数据库也在此服务器,端口为8080
crowd和confluence位于同一台服务器192.168.99.252它们的数据库也在此服务器,crowd端口为8095,confluence端口为8090
bitbucket位于一台服务9器192.168.99.251数据库也在此服务器,端口为7990
整个项目是旧的项目迁移而来。
参考文章jira、confluence、bitbucket、基于crowd实现sso | Regen
思路因为是新的环境,而且基础信息也已经全部丢失,例如各种账号密码,所以思路是:
先满足每个软件能够正常使用内部账户登录使用
再连接crowd进行测试
最后实现SSO
图:
操作目标
实现三平台(jira、confluence、bitbuck ...
jira、confluence、bitbucket、基于crowd实现sso
jira、confluence、bitbucket、基于crowd实现sso
单点登录英文全称Single Sign On,简称就是SSO。它的解释是:在多个应用系统中,只需要登录一次,就可以访问其他相互信任的应用系统。
版本信息:
jira:7.13
confluence:6.10.0
bitbucket:7.0.0
crowd:3.4.4
mysql:5.7
在我使用的版本中,jira和confluence可以实现基于IP的单点登录,但是bitbucket不行,仅支持基于二级域名的单点登录。
如果是基于IP可参考https://blog.csdn.net/weixin_38621072/article/details/117622297?fromshare=blogdetail&sharetype=blogdetail&sharerId=117622297&sharerefer=PC&sharesource=weixin_47657945&sharefrom=from_link
基于域名更加规范合理,我最终也使用了域 ...
jira、confluence、bitbucket、crowd部署
jira、confluence、bitbucket、crowd部署
版本信息
jira:7.13
confluence:6.10.0
bitbucket:7.0.0
crowd:3.4.4
mysql:5.7
1. 准备工作
准备安装包
atlassian-jira-software-7.13.0-x64.bin
atlassian-confluence-6.10.0-x64.bin
atlassian-bitbucket-7.0.0-x64.bin
atlassian-crowd-3.4.4.tar.gz
准备agent
atlassian-agent-v1.2.3.tar.gz
准备mysql Jar包
mysql-connector-java-5.1.49.tar.gz
2. 起数据库docker起数据库12345678910docker run -d \ --name mysql57 \ --restart unless-stopped \ -e MYSQL_ROOT_PASSWORD=regen \ -e TZ=Asia/Shanghai \ - ...
vmWare安装Arch Linux
尝试使用大名鼎鼎的Arch,记录一下安装方法以便后续在实体机复现。
安装Arch
安装kde
…实体机装了好几次arch还是失败,对这个grub、引导还有efi以及双系统等概念还是不够清楚,后续在深入看下吧。先用上manjaro了,还挺好用。
VMware 安装 Arch Linux 步骤
一、新建虚拟机
打开 VMware,点击 “Create a New Virtual Machine”(新建虚拟机)
选择:
Installer disc image file (iso)
点击 Browse,选择下载好的 Arch Linux 镜像(例如 archlinux-2025.07.01-x86_64.iso)
点击 Next
Guest Operating System 选择:
Linux
Version 选择:Other Linux 5.x or later kernel 64-bit
点击 Next
给虚拟机命名(例如:ArchLinux),并选择虚拟机存放位置(默认即可)
点击 Next
设置磁盘容量:
20 GB 或更大
选择 Store virtual disk ...
计算机网络-证书理解
证书是非常核心也非常实用的东西,尤其是做 LDAP、SSO、HTTPS、MQTT 之类的服务都会涉及到。
一、什么是证书证书(通常是 X.509 格式)本质是一个带有数字签名的数据结构,用来证明某个公钥属于某个主体(如域名、组织)。
包含:主体信息(如 CN=www.example.com)、公钥、签发者信息、有效期、用途(Key(key-im3gaaa2917h7re0wkvu6c2hr5gh8lal90v711at2u0n8fi5wa/) Usage / Extended Key Usage)、数字签名等
目的是让客户端通过验证签名来信任这个公钥确实属于目标服务
二、证书的信任体系
自签名证书:自己生成公私钥并自己签名,只能在内部或测试中用,需要客户端手动信任
CA 签发证书:向受信任的证书颁发机构(CA)申请,由 CA 使用它的私钥签名,全世界的客户端默认信任
受信任的证书颁发机构是什么?
我自己搭建的winserver增加CA角色并导出的根证书有什么用?
CA服务器可以是对的对吗?
1. 什么是 CA 和根证书
CA(证书颁发机构)是一个 ...
