ActPi向阳技术栈

ARTICLES

技术文章

记录真实问题、判断路径与经过验证的解决方案。目前共 59 篇。

证书明明没过期,Python 为什么仍然报错:一次 Windows 信任库排障

Python 客户端访问 HTTPS 服务时提示 certificate has expired,但浏览器可以正常打开,服务端证书也仍在有效期内。问题究竟出在哪里? 这篇文章记录一次从服务端证书、客户端时间、CA 信任源到 Windows 证书库的完整排查过程。文中的域名、证书名称和输出均已脱敏,只…

阅读全文

DOTA2 TI14新赛制与往年分组赛程对比深度分析

DOTA2 TI14新赛制与往年对比深度分析报告 引言:TI14赛制改革背景与核心目标 2025年国际邀请赛(TI14)作为DOTA2顶级赛事的第十四届盛会,于9月4日至14日在德国汉堡拉开帷幕。由Valve与PGL合作举办的本届赛事,不仅是TI系列首次重回汉堡,更在赛制层面迎来颠覆性变革——以瑞士…

阅读全文

对子进程的运行时间做限制,当超时时强制终止

终止运行超时的进程 subprocess 模块主要用于创建子进程,并连接它们的输入、输出和错误管道,获取它们的返回状态,在某种特殊情况下,我们需要对子进程的运行时间做限制,当超时时强制终止并获取输出。 subprocess 模块首先推荐使用的是它的 run 方法,更高级的用法是使用 Popen。 P…

阅读全文

GitLab CI 自动发布 Release 版本包

需求 当向 gitlab 推送 tag 时自动生成 Release 发布包的自动 CI 功能 实现 首先在对应仓库生成一个 Project Access Token,授权 api 和 write repository 权限,然后在仓库的设置 CI/CD 新增 Variable 名称为 ACCESS…

阅读全文

记录用 Netlify 来构建并发布 hexo 博客

前言 鉴于网络原因 github page 访问加载速度很慢,同时伴随不定时的无法访问,让访问博客的流畅度大受影响。为了保持访问速度和稳定性于是打算将博客使用 Netlify 来构建和发布hexo博客。 步骤 Netlify 是一个提供静态资源网络托管的综合平台,提供CI服务,能够将托管 GitHu…

阅读全文

centos下GCC多版本管理

需求 CentOS 7 的版本安装好之后默认自带的是 gcc 4.8,为了支持编译 c++ 的更高版本需要安装高版本的 gcc, 由于手动下载编译高版本可能会导致一些不可预料的意外情况,故采用安装 devtoolset工 具来解决。 安装步骤 1. 安装 centos release scl sud…

阅读全文

Windows下编译 Mumps Solver

简介 MUMPS Solver 是一种用于求解大规模线性方程组的开源软件,Mumps官网:https://mumps solver.org,获取 MUMPS Solver 源代码可在https://mumps solver.org/index.php?page=dwnld 提交信息后获取。 编译前提…

阅读全文

LVM 添加硬盘并扩容至已有分区

LVM 简介 LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是 Linux 环境下对磁盘分区进行管理的一种机制。LVM 将一个或多个物理卷(PV)虚拟为一个卷组(VG),相当于一个大的硬盘,我们可以在上面划分一些逻辑卷(LV)。当卷组的空间不够使用时,可以将新的磁盘分…

阅读全文

GitLab CI 自动流程简述

什么是 GitLab CI GitLab CI 是GitLab内置的进行持续集成的工具,只需要在仓库根目录下创建 .gitlab ci.yml 文件,并配置GitLab Runner;每次提交代码的时候,gitlab 将自动识别并且使用 GitLab Runner 执行任务。

阅读全文

Shell 脚本零碎笔记

set的基本用法,写出更安全的 Bash 脚本 set u: 脚本在头部加上它,遇到不存在的变量就会报错,并停止执行 set x: 用来在运行结果之前,先输出执行的那一行命 set e: 它使得脚本只要发生错误,就终止执行 某些命令的非零返回值可能不表示失败,或者开发者希望在命令失败的情况下,脚本继…

阅读全文

在 Linux 系统安装 Supervisor 来管理进程

服务介绍 Supervisor 是用 Python 开发的一个 client/server 服务,是 Linux/Unix 系统下的一个进程管理工具,不支持 Windows 系统。它可以很方便的监听、启动、停止、重启一个或多个进程。用 Supervisor 管理的进程,当一个进程意外被杀死,supe…

阅读全文

在 Windows 系统安装 OpenSSHServer

需求 为什么需要在 Windows 服务器安装 SSH 服务? 最近做 Jenkins 发版系统的时候,因为线上服务器有部分为 Windows 系统,为了使其能更好的融入 Jenkins。能够被 Jenkins 远程传输文件或者执行命令。

阅读全文

jenkins 文件上传与多分支参数化构建

文件上传 利用 Jenkins File Parameter实现上传文件 File location filename 存放于当前任务目录下名为 filename,同时 利用变量 ${filename} 保存原始文件名,可在后续的构建脚本里调用,如: 将上传的文件重命名为原始文件名:mv filen…

阅读全文

苹果应用商店APP过审 ipv6 配置

ipv6环境需求 苹果应用商店APP过审要求需要有 ipv6 环境,ipv6 审核不通过,原因一般 2 个: 1. APP内连接采用了 ipv4 的 IP 地址,换成域名即可。(八成是这个原因,换成域名连服务端就行了,服务器、服务端和域名解析不用做任何变动)

阅读全文

jenkins 搭建过程

jenkins 做什么 Jenkins 是持续集成中绕不过的一个服务、用作基于 gitlab 的发布系统 开发提交代码到 gitlab,通过 Jenkins 拉取代码 发布到测试环境 环境需求 Java nginx

阅读全文

Nginx限制连接数与限制请求频率

nginx 限制 IP 的连接和并发用到两个模块 HttpLimitReqModul 用来限制连单位时间内连接数,使用limit req zone和limit req 命令配合使用来达到限制。一旦并发连接超过指定数量,就会返回503错误。 HttpLimitConnModul用来限制单个ip的并发连…

阅读全文

SQL Server 数据库文件移动盘符

MS SQL 数据库迁移文件 这里说的不是将数据库迁移到另外一台服务器,只是在服务器不同磁盘目录内做迁移。移动数据库文件的情况大致有下面一些: 1. 事先没有规划好,数据库文件或日志文件增长过快,导致某个盘或整个磁盘空间不足,需要移动数据文件或日志文件 2. 纯粹由于业务需求,数据增长过快。 3.…

阅读全文

ES 索引生命周期管理

需求 1. 使用 es 采集 nginx 访问日志,系统日志,备份日志等 1. 滚动更新,保留指定时期文档,自动删除旧的索引 1. 不使用额外的脚本,尽量用 es 自带功能实现

阅读全文

git提交文件后CRLF和LF的换行处理问题

问题发现 代码提交 gitlab 后拉取下来 rsync 同步到测试服时发现文件有差异 原因探究 1. 怀疑提交 git 后文件状态改变,修改 rsync 同步参数改为计算 MD5 值进行比对 2. 修改参数后仍然有差异,拉取文件进行 MD5 值计算,发现确实 MD5 值不一致 3. 拉取文件进行差…

阅读全文

centos 7 安装oracel 12c

前言 本文介绍如何使用快速安装功能在CentOS 7.1(64位)上部署Oracle Database 12c(12.1.0.2.0)。 原文地址 centos 7 安装oracel 12c、本文对原贴翻译并加入安装过程踩到的坑。

阅读全文

Nginx 关于 location 的匹配规则

关于 location的匹配顺序的常见误区 1. location 的匹配顺序是“先匹配正则,再匹配普通”。 矫正:location 的匹配顺序其实是“先匹配普通,再匹配正则”。造成这种误解的原因是:正则匹配会覆盖普通匹配。

阅读全文

MySQL 忘记 root 用户密码的解决办法

在 MySQL 的使用过程中,如果 root 用户密码丢失了,会造成很大的麻烦。但是,可以通过某种特殊的办法登陆到 root 用户下,然后设置新的密码。 下面记录下当忘记MySQL root 密码的解决办法:

阅读全文

Python 3 爬取城市历史PM2.5数据

写在前面 基于python版本3,使用BeautifulSoup和requests库。 因为近来雾霾越来越严重,影响到的人群也是越来越多,一直想做一个PM2.5的统计,正好最近开始学习Python所有就拿它来练手了,新手不足之处还请指教。

阅读全文