自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 收藏
  • 关注

原创 ubuntu24使用docker搭建rabbitmq

本文为RabbitMQ服务器配置与Docker部署指南,主要包含三部分内容:服务器配置建议、Docker部署方案和常见问题解答。针对每天5000万任务量的业务场景,推荐使用8核16GB内存配置,并建议使用200-500GB的SSD/NVMe独立数据盘。提供了优化后的docker-compose.yml文件,移除了可能导致报错的内存参数,包含端口映射、用户认证、文件句柄限制等关键配置。同时解释了镜像版本选择、健康检查机制等注意事项,并给出完整的部署流程和系统参数调优方法。适用于需要快速部署高可用RabbitM

2025-12-03 11:11:48 989

原创 wrk 压测工具教程(Ubuntu22 实战版)

摘要: wrk是一款高性能HTTP压测工具,适用于接口吞吐量测试和性能瓶颈分析。在Ubuntu中安装需执行:sudo apt install依赖→克隆源码编译→复制到/usr/local/bin。基础命令格式为wrk -t线程数 -c连接数 -d时长 URL,示例wrk -t8 -c400 -d30s URL表示8线程、400并发、持续30秒。结果解析包括延迟、吞吐量(如21,578 RPS)和错误请求(如全返回Non-2xx需检查请求方法)。调优建议线程数等于CPU核数,连接数为线程数50~100倍。常见

2025-11-06 17:34:24 649

原创 Vegeta 压测工具 Ubuntu 安装 + 使用 + 结果解析手册

🧩 Vegeta 压测工具教程(Ubuntu 实战版) Vegeta 是用 Go 开发的 HTTP 负载测试工具,支持精确控制 RPS 和生成可视化报告。本教程展示了在 Ubuntu 上安装 Vegeta 的步骤:安装依赖、编译源码并配置环境。通过示例演示了单接口压测(echo "GET..." | vegeta attack)和完整流程(准备 targets.txt 和 body.json)。实测结果解析了关键指标如请求数、延迟分布和成功率。教程还对比了 Vegeta 和 Wrk 的

2025-11-06 17:14:59 824

原创 Ubuntu 22.04 使用 Docker 部署 Redis 6.2(带密码与持久化)

本文介绍了通过Docker Compose快速部署Redis 6.2的完整步骤,包括创建目录结构、配置Redis(设置强密码认证、RDB+AOF持久化、8GB内存限制及LRU淘汰策略)、编写docker-compose.yml文件、启动服务及验证连接等操作。部署后的Redis具备数据持久化、自动重启和内存管理功能,配置文件和数据存储在指定目录中,适合测试环境使用。

2025-09-17 15:50:39 381

原创 腾讯云服务器Windows Server 2025 开机自动运行脚本的配置步骤

记录下工作中解决的需求,在腾讯云windows 服务器,开机自启动python脚本。

2025-05-20 14:01:02 870

原创 windows服务器下自启动后台运行python脚本

最近有个需求,在windows下根据系统的cpu核数,运行python脚本,记录下在windows注册服务,后台运行python脚本目标已解决方式启动 N 个子进程manager.py自动读取 CPU 数异常自动重启每个进程/manager 均守护重启开机启动使用 NSSM 注册为系统服务日志记录日志按进程编号保存到 logs 目录。

2025-05-16 15:09:32 722

原创 生产部署方案pm2配合python3脚本

使用python3来处理redis 消息队列,记录下生产部署方案「生产部署方案」

2025-05-07 16:50:56 607

原创 Python代码生成windows下可执行的exe程序

免安装 Python 运行环境打包后生成的可执行文件已经包含了 Python 解释器及所有依赖库,目标机器无需预先安装 Python,也无需再执行 pip install。单文件分发(One‑file)通过 -F/–onefile 参数,可将所有内容打包到一个可执行文件里,简化了文件管理和分发流程,用户只需下载一个文件即可运行。依赖自动收集PyInstaller 会扫描脚本中的 import 语句,并自动将所需的第三方包、动态链接库一起打包,减少因遗漏依赖导致的运行错误。

2025-04-21 15:04:10 794

原创 uv:高性能 Python 包和项目管理工具使用教程

作为一款新兴的 Python 包和项目管理工具,以其卓越的性能和丰富的功能,为开发者提供了全新的体验。它由 Astral 团队开发,旨在提供更高效、更灵活的包管理和项目管理体验。它的设计目标是替代现有的包管理工具,如。在 Python 开发中,包管理和项目管理是日常工作中至关重要的部分。等,同时提供更高的性能和更丰富的功能。提供了简便的方式来初始化新的 Python 项目。这将自动激活项目的虚拟环境,并执行指定的脚本。提供了简洁的命令来管理项目的依赖关系。的项目文件夹,并生成必要的配置文件。

2025-03-06 11:26:12 3202 3

原创 如何本地部署DeepSeek

如何本地部署DeepSeek

2025-03-03 18:09:00 1105

原创 使用 Supervisor 管理 Gunicorn 实现高可用 Python Web 应用

通过结合使用Supervisor和Gunicorn,你可以轻松管理 Python Web 应用的进程,确保应用在崩溃时能够自动重启,提高服务的稳定性和可用性。Supervisor不仅可以监控进程,还能提供日志管理和开机自启等功能,使得部署和运维变得更加高效。

2025-02-22 17:38:20 1050

原创 在 Ubuntu 22 上使用 Gunicorn 启动 Flask 应用程序

通过本文的步骤,你已经成功地在 Ubuntu 22 系统上使用 Gunicorn 启动了 Flask 应用程序。在生产环境中,Gunicorn 提供了比 Flask 内置服务器更高的性能和更好的稳定性,因此推荐使用它来运行 Flask 应用程序。如果需要,你还可以将 Gunicorn 配置为 systemd 服务,以便在系统启动时自动运行。

2025-02-22 10:57:15 1205

原创 python flask 使用教程 快速搭建一个 Web 应用

Flask 是一个轻量级的 Python Web 框架,旨在帮助开发者快速搭建 Web 应用。相比于 Django 等重量级框架,Flask 更加简洁和灵活,非常适合用于小型 Web 项目的开发,甚至可以用于构建 RESTful API。简洁的 API:Flask 使用简单且直观的 API,开发者可以快速上手。灵活性高:Flask 不会过多限制开发者的选择,它给开发者提供了更多的自由度。扩展性:Flask 支持丰富的扩展,满足数据库、表单验证、用户认证等多种需求。

2025-02-21 11:32:03 3705 1

原创 Ubuntu22 server 安装 Chrome浏览器

通过以上步骤,你就可以在 Ubuntu 22 系统上成功安装 Google Chrome 浏览器,并且能够查看版本号。如果你有更多问题,可以参考 Google 官方文档,或者在评论区提出。

2025-02-20 09:49:47 1632

原创 Ubuntu22 安装多个版本的python

如果你需要更灵活的 Python 版本管理,pyenv是一个非常好的选择,特别适合在同一系统中安装多个不同版本的 Python。使用pyenv可以避免干扰系统自带的 Python 环境。pyenv配合使用,可以有效地管理不同项目中的 Python 环境。如果你经常需要切换不同版本的 Python 或者在不同项目中使用不同版本,pyenv会是一个非常方便的工具。如果有任何问题或需要进一步帮助,随时告诉我!

2025-02-19 18:19:32 1217

原创 Golang Gin框架获取JSON输入

本文记录了使用Golang中的Gin框架获取并处理JSON输入的过程。首先介绍了如何安装Gin框架,并定义了一个结构体用于映射JSON数据。接着,讲解了如何创建Gin服务器,处理POST请求并使用ShouldBindJSON方法将请求中的JSON数据绑定到结构体中。在测试接口时,通过Postman发送JSON数据,并根据返回的响应结果进行验证。最后,总结了Gin框架在处理JSON输入时的优势,并指出其简单易用的特点,适用于API开发中的数据处理需求。

2025-02-11 14:39:46 741

原创 undetected-chromedriver 使用教程,指定浏览器驱动和浏览器版本

undetected-chromedriver 是一个非常实用的库,它通过绕过自动化检测机制,帮助开发者使用 Selenium 实现更稳定的网页自动化

2025-02-08 10:55:21 7475 4

原创 使用 AWK 进行文本处理

AWK 是 Unix/Linux 系统中一种强大的文本处理工具和编程语言,特别适用于处理结构化数据

2024-08-08 11:05:02 466

原创 git仓库迁移

公司老的git地址变更,迁移到新的地址,记录下操作过程。

2024-05-30 21:31:29 1053

原创 linux配置socks代理

业务上测试需要用到socks5代理,简单记录下搭建过程,使用linuxubuntu22系统,使用软件Dante。

2024-05-29 11:18:18 1873

原创 kibana操作es使用DSL查询

记录下kibana操作es,使用DSL进行创建索引,简单查询,版本7.7.1。

2024-03-07 11:13:30 2210

原创 python中多线程使用

Python 中的多线程主要通过threading模块来实现。多线程是一种并发编程的方式,允许程序在同一时间执行多个线程,每个线程执行不同的任务。然而需要注意的是,在 Python 中由于 GIL(全局解释器锁)的存在,多线程并不适用于 CPU 密集型任务,因为 GIL 会导致在任意时刻只有一个线程在解释器中执行 Python 字节码。创建线程使用类可以创建一个新的线程对象。需要提供一个目标函数(通常是一个普通函数)作为线程的执行体。通过调用start()方法启动线程。线程对象方法start()

2024-02-23 17:52:17 712

原创 ubuntu系统优化,调整文件描述符,调整内核增加连接数

云服务器调整文件描述符,调整内核增加连接数。

2024-02-06 16:13:10 1690 3

原创 ubuntu20.04安装最新版nginx

记录下ubuntu服务器安装nginx。

2024-02-04 17:30:49 1852

原创 Golang使用cobra实现命令行程序

Cobra 是 Go 语言中一个强大的命令行应用库。它提供了创建命令行工具所需的基本结构和功能,包括命令解析、子命令、标志、参数、帮助信息等。Cobra 允许你创建命令和嵌套的子命令,形成命令树结构,使得构建复杂的命令行工具变得更加容易。Cobra 支持定义命令的标志和参数,使用户可以通过命令行传递选项和数值。这样可以灵活地配置命令的行为。每个命令都有一个与之关联的运行函数,定义了命令被执行时的操作。这使得你可以在运行命令时执行自定义的逻辑。

2024-02-02 21:06:21 1635 1

原创 idea修改Vm Options报错Improperly specified Vm option.

idea修改了Vm Options信息,导致再次打开idea报错,记录下处理过程。

2024-01-22 10:00:52 1523 1

原创 golang二分查找算法实现

二分查找算法是一种在有序数组中查找特定元素的高效算法。它的基本思想是通过不断将查找范围缩小一半,来快速定位目标元素是否存在。该算法要求数组是有序的,这是因为有序数组的特性允许我们在每一步中排除掉一半的元素。确定数组的初始搜索范围,通常是整个数组。设定low和high分别为搜索范围的最低和最高索引。计算中间元素的索引,即。将目标值与中间元素进行比较。如果目标值等于中间元素,搜索成功,返回中间元素的索引。如果目标值小于中间元素,说明目标值可能在左半部分,更新。

2024-01-20 17:49:54 1609 1

原创 mysql释放表空间

mysql中日志表占用了200多g,表中数据delete之后,但是表占用的空间没有释放。记录处理过程。

2024-01-19 09:00:25 1030

原创 Golang中记录日志详解

这三个包通常被一起使用是为了实现日志文件的轮转(log rotation)功能。这是一个用于文件日志轮转的 Go 语言包。它允许你创建按时间轮转的日志文件,确保日志文件不会无限制地增长,而是会按照一定的规则进行切割,例如按天、按小时等。这是 Logrus(一个 Go 语言的日志库)的一个钩子(hook)。Logrus 是一个功能强大的日志库,而 lfshook 允许你将 Logrus 的日志输出写入到文件,并且可以结合这个包,实现日志文件的定期轮转。

2024-01-18 12:16:53 2128

原创 golang中make与new有什么区别?

在Go语言中,make是一个用于创建切片、映射(map)和通道(channel)等引用类型的内置函数。make的主要作用是为这些引用类型分配内存并进行初始化。在Go语言中,new是一个用于为值类型分配内存并返回指向新分配的零值实例的指针的内置函数。new主要用于创建值类型的实例,例如结构体。以下是new使用make主要用于初始化引用类型,确保它们可以被直接使用。使用new主要用于为值类型分配内存,返回一个指向新分配的零值实例的指针。选择使用make还是new取决于您要创建的数据结构的类型和初始化需求。

2024-01-17 17:15:48 1993 1

原创 java获取文件md5值

给客户交付的文件,客户需要验证md5值,客户java语言,记录下实现过程,很简单。

2024-01-16 18:31:25 1123

原创 golang切片(slice)详解

当我们谈论Go语言中的切片时,我们实际上在讨论一种动态数组的抽象。切片提供了对数组的一种更便捷、灵活的访问方式,并且具有动态增长和缩小的能力。这使得切片成为处理变长数据集的理想选择。切片包含一个指向底层数组起始位置的指针,通过这个指针,切片可以访问数组中的元素。切片的长度表示切片中元素的个数,即切片包含的元素数量。容量表示从切片的起始位置到底层数组末尾的元素个数。容量决定了切片的增长空间,即在不重新分配内存的情况下,切片可以继续添加元素的数量。切片的特性使其在处理动态数据集时非常灵活。

2024-01-15 17:52:59 1515 1

原创 golang中context详解

在Go语言中,context包提供了一种在程序中传递截止日期、取消信号、请求范围数据和其他元数据的方式。context包的核心类型是Context接口,它定义了在执行上下文中传递的方法。Context接口的主要方法包括Deadline、Done、Err、Value等。

2024-01-12 17:21:13 2365 3

原创 golang协程goroutine教程

协程是计算机程序的一类组件,推广了协作式多任务的子例程,允许执行被挂起与被恢复。相对子例程而言,协程更为一般和灵活,但在实践中使用没有子例程那样广泛。协程更适合于用来实现彼此熟悉的程序组件,如协作式多任务、异常处理、事件循环、迭代器、无限列表和管道。协程的创建和切换开销更小,因此可以创建更多的协程。协程之间是异步的,也就是说,一个协程的执行不会阻塞另一个协程的执行。协程的调度是由系统来进行的,程序员不需要手动进行调度。可以实现高效的并发编程。可以简化并发编程的代码。

2024-01-11 16:58:13 2236 1

原创 nginx geo模块使用 nginx识别ip归属地做跳转

Nginx的geo模块允许你根据客户端的IP地址或其他变量的值来执行一些条件分支逻辑。该模块用于根据客户端的地理位置信息执行不同的操作。

2024-01-10 17:53:06 2269

原创 python获取起始IP和结束IP的CIDR结果,python netaddr库介绍

netaddr是一个用于处理IP地址和网络的Python库。它提供了一组丰富的功能,包括IP地址、CIDR块、MAC地址等的创建、解析和操作。以下是netaddrIP地址的比较、运算和位操作。检查IP地址类型(IPv4或IPv6)。CIDR块的迭代、合并和分割。判断IP地址是否属于CIDR块。IP范围的迭代和包含判断。MAC地址的格式化和解析。提供对IPv4和IPv6地址之间的转换。支持IP地址、CIDR块、MAC地址的字符串表示和格式化。

2024-01-09 16:19:26 1346

原创 golang指针介绍

在Go语言中,指针是一种特殊类型的变量,用于存储其他变量的内存地址。Go语言支持指针,但相对于一些其他编程语言,使用指针的频率较低,因为Go有垃圾回收机制,可以自动管理内存,减少了手动内存管理的需求。取地址符通过在变量前面加上符号,可以获取该变量的内存地址。x := 42ptr = &x使用符号声明指针类型。例如,表示ptr是一个指向int类型的指针。指针的零值是nil,表示该指针不指向任何有效的内存地址。使用符号可以从指针中获取存储在相应内存地址上的值。这个过程叫做解引用。ptr = &x。

2024-01-08 19:24:34 1474

原创 linux服务器ubuntu定时任务cron设置每秒执行

cron是一个在 Unix-like 操作系统中用于定时执行任务的工具。它是 “Chronos”(希腊语,意为时间)的缩写。cron允许用户根据一定的时间间隔、日期或特定的时间点自动运行预定的任务,这些任务通常是脚本或命令。以下是cron用户通过编写称为 “Cron 表达式” 的字符串来指定任务的执行时间。这个表达式包含了分钟、小时、日期、月份和星期几等信息,以及需要运行的命令或脚本。分钟(0-59) 小时(0-23) 日期(1-31) 月份(1-12) 星期几(0-6) 命令例如,

2024-01-07 14:21:26 4006

原创 golang中基础数据类型介绍

Go语言中的基础类型包括数值类型、字符串类型、布尔类型和错误类型

2024-01-06 10:44:42 1346

原创 nginx配置ssl证书

nginx配置ssl证书

2024-01-06 09:54:00 2589

nginx中geo识别ip的cidr范围到国家

ip的cidr列表,可以获取ip的归属地,精准度到国家,可以结合nginx的geo模块使用

2024-01-10

城市区县行政区包含边界经纬度地图打点json格式

地图打点用于根据经纬度和边界数据,匹配城市区县的边界

2024-01-02

国家省份城市区县乡镇sql文件

规则: province - 省级(省/直辖市/特别行政区) - city=0, area=0, town=0 city - 地级(城市) - area=0, town=0 area - 县级(区县) - town=0 其它不为 0 town - 乡级(乡镇/街) - 所有值不为 0 province 第一位表示:华北区1,东北区2,华东区3,中南区4,西南区5,西北区6。 如 湖北省 -> 42 以 4 开头,表示为 中南区。

2024-01-02

全球国家简码列表国家简称代码json格式

全球国家简码列表json格式 id=序号、cnname=中文简称、name=英文简称、fullname=英文全称、alpha2=两字母代码、alpha3=三字母代码、numeric=数字代码 json格式,前端后台都可以加载使用

2024-01-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除