<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>ActPi · 向阳技术栈</title><description>Linux、DevOps、Python、AI 自动化与真实故障排查记录。</description><link>https://actpi.com/</link><language>zh-CN</language><item><title>从天气数据到行动提醒：一个降雨预警系统的设计与实现</title><link>https://actpi.com/articles/2026/rain-alert-system-development.html</link><guid isPermaLink="true">https://actpi.com/articles/2026/rain-alert-system-development.html</guid><description>把分钟级降水、雷达回波和消息通知组合成可执行提醒，并记录系统设计、容错与 Netlify 部署中的关键取舍。</description><pubDate>Thu, 03 Sep 2026 00:00:00 GMT</pubDate><category>天气预警</category><category>系统设计</category><category>Netlify</category><category>JavaScript</category></item><item><title>证书明明没过期，Python 为什么仍然报错：一次 Windows 信任库排障</title><link>https://actpi.com/articles/2026/python-windows-ssl-trust-store.html</link><guid isPermaLink="true">https://actpi.com/articles/2026/python-windows-ssl-trust-store.html</guid><description>Python 客户端访问 HTTPS 服务时提示 certificate has expired，但浏览器可以正常打开，服务端证书也仍在有效期内。问题究竟出在哪里？ 这篇文章记录一次从服务端证书、客户端时间、CA 信任源到 Windows 证书库的完整排查过程。文中的域名、证书名称和输出均已脱敏，只保留可以复用的分析方法。</description><pubDate>Fri, 21 Aug 2026 00:00:00 GMT</pubDate><category>SSL</category><category>Python</category><category>Windows</category><category>故障排查</category></item><item><title>让 Codex VS Code 会话历史按当前工作区显示：可恢复、可重复应用的本地补丁</title><link>https://actpi.com/articles/2026/codex-vscode-workspace-thread-history.html</link><guid isPermaLink="true">https://actpi.com/articles/2026/codex-vscode-workspace-thread-history.html</guid><description>Codex 的会话越来越多以后，VS Code 侧栏中的最近会话会混在一起：在 A 项目里也能看到 B、C 项目的线程。GitHub issue Workspace scoped thread history 提出的目标很直接——默认只看当前工作区，同时保留一个查看全部线程的入口。</description><pubDate>Thu, 20 Aug 2026 00:00:00 GMT</pubDate><category>Codex</category><category>VS Code</category><category>PowerShell</category><category>工具</category></item><item><title>电梯为什么不马上来：从 LOOK 到群控调度算法</title><link>https://actpi.com/articles/2026/elevator-algorithm.html</link><guid isPermaLink="true">https://actpi.com/articles/2026/elevator-algorithm.html</guid><description>按下电梯按钮后，系统要解决的并不只是“让最近的电梯过来”。它还要考虑电梯当前的运行方向、沿途停靠、轿厢负载、其他乘客的等待时间，以及早晚高峰完全不同的客流。看似普通的一次候梯，背后其实是一个不断接收新任务的实时调度问题。</description><pubDate>Mon, 17 Aug 2026 00:00:00 GMT</pubDate><category>算法</category><category>系统设计</category><category>调度</category></item><item><title>使用阿里云函数计算实现 GitLab Webhook 钉钉推送</title><link>https://actpi.com/articles/2026/aliyun-fc-gitlab-dingtalk.html</link><guid isPermaLink="true">https://actpi.com/articles/2026/aliyun-fc-gitlab-dingtalk.html</guid><description>在 DevOps 流程中，及时的消息通知对于团队协作至关重要。虽然 GitLab 自带了一些集成，但往往难以满足个性化的通知需求。本文将介绍如何利用阿里云函数计算（FC）搭建一个轻量、低成本且高度可定制的 GitLab Webhook 转发服务，将代码提交、合并请求、Pipeline 状态等实时推送到钉钉群。</description><pubDate>Tue, 02 Jun 2026 00:00:00 GMT</pubDate><category>DevOps</category><category>Serverless</category><category>Python</category><category>GitLab</category></item><item><title>DOTA2 TI14新赛制与往年分组赛程对比深度分析</title><link>https://actpi.com/articles/2025/DOTA2%20TI14.html</link><guid isPermaLink="true">https://actpi.com/articles/2025/DOTA2%20TI14.html</guid><description>DOTA2 TI14新赛制与往年对比深度分析报告 引言：TI14赛制改革背景与核心目标 2025年国际邀请赛（TI14）作为DOTA2顶级赛事的第十四届盛会，于9月4日至14日在德国汉堡拉开帷幕。由Valve与PGL合作举办的本届赛事，不仅是TI系列首次重回汉堡，更在赛制层面迎来颠覆性变革——以瑞士轮赛制全面取代沿用十余年的传统小组赛，这一调整被官方定义为“回归竞技本质的战略优化”[1][2]。16支全球顶尖战队将通过“国际邀请赛之路”…</description><pubDate>Mon, 08 Sep 2025 16:52:30 GMT</pubDate><category>DOTA2</category><category>Ti14</category></item><item><title>安装docker后导致intel mpi拉不起多机运行的问题解决记录</title><link>https://actpi.com/articles/2025/intel-mpi-error.html</link><guid isPermaLink="true">https://actpi.com/articles/2025/intel-mpi-error.html</guid><description>问题 在安装docker环境后 mpi 多机并行环境运行程序失效，mpi 程序拉起后无后续执行的信息，导致进程卡住 排查思路 1. 检查 ssh 均正常，可以免密登陆 2. 通过 pstree 查看 mpi 进程树，可以看到主副节点均能发现有进程占用 3. 打开 mpi 详细调试日志 a. export I MPI DEBUG=5 b. export I MPI HYDRA DEBUG=on 可以看到输出如下启动时的网卡信息输出后卡住:</description><pubDate>Mon, 07 Jul 2025 10:52:30 GMT</pubDate><category>linux</category><category>DevOps</category></item><item><title>升级 glibc 解决 `GLIBC_2.28` not found (required by xxx)</title><link>https://actpi.com/articles/2024/%E5%8D%87%E7%BA%A7glibc%E5%88%B02.28.html</link><guid isPermaLink="true">https://actpi.com/articles/2024/%E5%8D%87%E7%BA%A7glibc%E5%88%B02.28.html</guid><description>默认的gcc版本是4.8.5，无法编译高版本的glibc 2.28，需要升级到gcc 8以上的版本 升级 gcc 升级 make 注意：make 的版本高于4.4 会造成 glibc 编译时卡在这一行 make[2]: Entering directory &apos;/root/glibc 2.28/stdio common 所以安装 make 4.2 的版本即可 升级glibc 查询是否升级成功: strings /lib64/libc.so…</description><pubDate>Sun, 21 Jul 2024 10:51:32 GMT</pubDate><category>linux</category></item><item><title>利用 Jenkins API 批量停用对应view内的任务</title><link>https://actpi.com/articles/2024/jenkins-api.html</link><guid isPermaLink="true">https://actpi.com/articles/2024/jenkins-api.html</guid><description>安装并导入库 安装：pip install python jenkins 连接到Jenkins 1. 获取整个view下的所有任务 2. 停用任务</description><pubDate>Fri, 10 May 2024 19:37:30 GMT</pubDate><category>python</category></item><item><title>利用 pandas 库对数据进行简单处理的记录</title><link>https://actpi.com/articles/2024/pandas.html</link><guid isPermaLink="true">https://actpi.com/articles/2024/pandas.html</guid><description>安装并导入 pandas 库 安装：pip install pandas 从 csv 文件读取并添加自定义表头 将某列数据转换为数字格式，并将无法转换的置0</description><pubDate>Tue, 05 Mar 2024 09:52:30 GMT</pubDate><category>python</category></item><item><title>对子进程的运行时间做限制，当超时时强制终止</title><link>https://actpi.com/articles/2024/subprocess.html</link><guid isPermaLink="true">https://actpi.com/articles/2024/subprocess.html</guid><description>终止运行超时的进程 subprocess 模块主要用于创建子进程，并连接它们的输入、输出和错误管道，获取它们的返回状态，在某种特殊情况下，我们需要对子进程的运行时间做限制，当超时时强制终止并获取输出。 subprocess 模块首先推荐使用的是它的 run 方法，更高级的用法是使用 Popen。 Popen 方法语法格式如下 ： 常用参数： args：表示要执行的命令，可以是字符串或者序列类型（如：list，元组） bufsize：缓冲…</description><pubDate>Tue, 09 Jan 2024 09:52:30 GMT</pubDate><category>python</category></item><item><title>python 将秒数换算为小时分钟</title><link>https://actpi.com/articles/2023/%E6%97%B6%E9%97%B4%E6%8D%A2%E7%AE%97.html</link><guid isPermaLink="true">https://actpi.com/articles/2023/%E6%97%B6%E9%97%B4%E6%8D%A2%E7%AE%97.html</guid><description>记录程序的执行时间，并进行单位换算</description><pubDate>Sat, 16 Dec 2023 00:00:00 GMT</pubDate><category>python</category></item><item><title>Jenkins 执行 Shell 脚本时不能抓取异常退出码的问题解决</title><link>https://actpi.com/articles/2023/jenkins_shell.html</link><guid isPermaLink="true">https://actpi.com/articles/2023/jenkins_shell.html</guid><description>问题描述 如下 Shell 脚本： 在 Jenkins 中执行此脚本时，通过 Shell 调用了 Python 脚本，当 Python 脚本内部异常退出例如遇到 sys.exit(1001)，导致异常退出码无法抓取。 原因及解决 这是由于 Jenkins 在执行 shell 脚本时，默认会在命令行中加上 e 选项，该选项的作用是在脚本中遇到错误时会立即退出。这样可以确保在脚本发生错误时及时停止执行，避免继续执行可能导致更严重问题的命令。…</description><pubDate>Wed, 16 Aug 2023 00:00:00 GMT</pubDate><category>DevOps</category></item><item><title>从任意目录查询指定后缀的文件并返回对应完整路径</title><link>https://actpi.com/articles/2023/python%E6%9F%A5%E6%89%BE%E6%8C%87%E5%AE%9A%E5%90%8E%E7%BC%80.html</link><guid isPermaLink="true">https://actpi.com/articles/2023/python%E6%9F%A5%E6%89%BE%E6%8C%87%E5%AE%9A%E5%90%8E%E7%BC%80.html</guid><description>用于在指定路径查询日志文件并返回对应的完整路径列表 用 os path 用 pathlib 改动 if file.endswith(&quot;.log&quot;) 可查找任意后缀的文件。</description><pubDate>Tue, 15 Aug 2023 09:42:16 GMT</pubDate><category>python</category></item><item><title>GitLab CI 自动发布 Release 版本包</title><link>https://actpi.com/articles/2023/gitlab_deploy_release.html</link><guid isPermaLink="true">https://actpi.com/articles/2023/gitlab_deploy_release.html</guid><description>需求 当向 gitlab 推送 tag 时自动生成 Release 发布包的自动 CI 功能 实现 首先在对应仓库生成一个 Project Access Token，授权 api 和 write repository 权限，然后在仓库的设置 CI/CD 新增 Variable 名称为 ACCESS TOKEN、值为上一步生成的 Token。 1. 当有推送 tag 时、自动触发 gitlab CI 任务 编写 CI 配置文件 .gitl…</description><pubDate>Tue, 18 Jul 2023 00:00:00 GMT</pubDate><category>DevOps</category><category>CI/CD</category></item><item><title>记录用 Netlify 来构建并发布 hexo 博客</title><link>https://actpi.com/articles/2023/git-netlify-blog.html</link><guid isPermaLink="true">https://actpi.com/articles/2023/git-netlify-blog.html</guid><description>前言 鉴于网络原因 github page 访问加载速度很慢，同时伴随不定时的无法访问，让访问博客的流畅度大受影响。为了保持访问速度和稳定性于是打算将博客使用 Netlify 来构建和发布hexo博客。 步骤 Netlify 是一个提供静态资源网络托管的综合平台，提供CI服务，能够将托管 GitHub，GitLab 等网站上的 Jekyll，Hexo，Hugo 等代码自动编译并生成静态网站。 Netlify 有如下的功能: 能够托管服务…</description><pubDate>Fri, 30 Jun 2023 00:00:00 GMT</pubDate><category>笔记</category></item><item><title>用 github私有仓库保存 hexo 源码，并通过 actions 发布到公共仓库的 gitpage</title><link>https://actpi.com/articles/2023/git-action-blog.html</link><guid isPermaLink="true">https://actpi.com/articles/2023/git-action-blog.html</guid><description>起始缘由 原本博客的发布方式为： 1. 在本地部署好 Hexo 博客的运行环境 2. 通过 [hexo g] 将写好的 Markdown 文件转化为 HTML 文件 3. 然后用 [hexo d] 把生成的 public 文件夹内所有内容推送到 Github 仓库中 这样直接将生成的可以运行的实际产物（生产版）推送到 GitHub 仓库上，而不是博客源码（开发版），每当本地环境变更或者想在别的电脑上写文章时就麻烦了、必须得重新部署一遍环…</description><pubDate>Mon, 26 Jun 2023 00:00:00 GMT</pubDate><category>笔记</category><category>Git</category></item><item><title>centos下GCC多版本管理</title><link>https://actpi.com/articles/2023/gcc-toolset.html</link><guid isPermaLink="true">https://actpi.com/articles/2023/gcc-toolset.html</guid><description>需求 CentOS 7 的版本安装好之后默认自带的是 gcc 4.8，为了支持编译 c++ 的更高版本需要安装高版本的 gcc， 由于手动下载编译高版本可能会导致一些不可预料的意外情况，故采用安装 devtoolset工 具来解决。 安装步骤 1. 安装 centos release scl sudo yum install y centos release scl 2. 安装 devtoolset，这里可自行对照选择相应的版本号 su…</description><pubDate>Wed, 21 Jun 2023 00:00:00 GMT</pubDate><category>笔记</category><category>linux</category></item><item><title>Windows下编译 Mumps Solver</title><link>https://actpi.com/articles/2023/compile_mumps.html</link><guid isPermaLink="true">https://actpi.com/articles/2023/compile_mumps.html</guid><description>简介 MUMPS Solver 是一种用于求解大规模线性方程组的开源软件，Mumps官网：https://mumps solver.org，获取 MUMPS Solver 源代码可在https://mumps solver.org/index.php?page=dwnld 提交信息后获取。 编译前提 cmake ninja 编译器 OneApi base toolkit 提供C、C++编译器与 MKL OneApi hpc toolki…</description><pubDate>Wed, 10 May 2023 15:12:16 GMT</pubDate><category>笔记</category><category>编译</category></item><item><title>centos 7 安装 ABAQUS 6.14 步骤记录</title><link>https://actpi.com/articles/2023/install_abaqus_linux.html</link><guid isPermaLink="true">https://actpi.com/articles/2023/install_abaqus_linux.html</guid><description>前期准备 1. 下载安装文件压缩包与 License 文件，Abaqus6.14 4 后解压 2. 创建安装目录备用 mkdir p /opt/Abaqus/{exe,tmp,license,workspace,test case}</description><pubDate>Tue, 25 Apr 2023 14:42:16 GMT</pubDate><category>笔记</category><category>linux</category></item><item><title>LVM 添加硬盘并扩容至已有分区</title><link>https://actpi.com/articles/2023/extend_fs.html</link><guid isPermaLink="true">https://actpi.com/articles/2023/extend_fs.html</guid><description>LVM 简介 LVM是 Logical Volume Manager（逻辑卷管理）的简写，它是 Linux 环境下对磁盘分区进行管理的一种机制。LVM 将一个或多个物理卷（PV）虚拟为一个卷组（VG），相当于一个大的硬盘，我们可以在上面划分一些逻辑卷（LV）。当卷组的空间不够使用时，可以将新的磁盘分区加入进来。也可以从卷组剩余空间上划分一些空间给空间不够用的逻辑卷使用。 扩容场景 通过LVM创建的逻辑卷磁盘空间不足需要新增硬盘进行扩容，…</description><pubDate>Mon, 10 Apr 2023 14:42:16 GMT</pubDate><category>linux</category><category>笔记</category></item><item><title>GitLab CI 实现自动测试、合并分支并用钉钉发送消息</title><link>https://actpi.com/articles/2023/%E8%87%AA%E5%8A%A8%E5%90%88%E5%B9%B6%E5%88%86%E6%94%AF%E7%9A%84GitLabCI%E5%AE%9E%E7%8E%B0.html</link><guid isPermaLink="true">https://actpi.com/articles/2023/%E8%87%AA%E5%8A%A8%E5%90%88%E5%B9%B6%E5%88%86%E6%94%AF%E7%9A%84GitLabCI%E5%AE%9E%E7%8E%B0.html</guid><description>CI 任务触发需求 普通提交代码时不触发 当指定commit关键字触发 发起了 Merge Requests则自动触发 测试任务成功后自动合并分支</description><pubDate>Sun, 05 Mar 2023 09:42:16 GMT</pubDate><category>DevOps</category><category>CI/CD</category></item><item><title>GitLab CI 自动流程简述</title><link>https://actpi.com/articles/2023/gitlab-ci.html</link><guid isPermaLink="true">https://actpi.com/articles/2023/gitlab-ci.html</guid><description>什么是 GitLab CI GitLab CI 是GitLab内置的进行持续集成的工具，只需要在仓库根目录下创建 .gitlab ci.yml 文件，并配置GitLab Runner；每次提交代码的时候，gitlab 将自动识别并且使用 GitLab Runner 执行任务。</description><pubDate>Wed, 15 Feb 2023 09:42:16 GMT</pubDate><category>DevOps</category><category>CI/CD</category></item><item><title>Shell 脚本零碎笔记2</title><link>https://actpi.com/articles/2022/pure-bash-bible.html</link><guid isPermaLink="true">https://actpi.com/articles/2022/pure-bash-bible.html</guid><description>一个纯bash实现外部命令的脚本集合 读取文件到一个字符串中 替代 cat 命令. 创建一个空文件 替代 touch.</description><pubDate>Fri, 18 Nov 2022 00:00:00 GMT</pubDate><category>笔记</category></item><item><title>Centos7系统用 VSCode 编译和调试 C++ 源码</title><link>https://actpi.com/articles/2022/centos_cmake_vscode.html</link><guid isPermaLink="true">https://actpi.com/articles/2022/centos_cmake_vscode.html</guid><description>安装 CMake 1. 安装gcc等依赖程序 yum install y gcc gcc c++ wget 2. 获取CMake源码包 wget https://cmake.org/files/v3.23/cmake 3.23.2.tar.gz 3. 解压并安装</description><pubDate>Fri, 21 Oct 2022 00:00:00 GMT</pubDate><category>linux</category><category>编译</category></item><item><title>Centos7 安装 VNC远程桌面服务</title><link>https://actpi.com/articles/2022/Centos-vnc.html</link><guid isPermaLink="true">https://actpi.com/articles/2022/Centos-vnc.html</guid><description>安装桌面环境 !!! info 安装了Centos任意桌面版可跳过此步骤 服务依赖于桌面环境的运行，CentOS7 默认最小安装是不带桌面环境的，所以安装 VNC 之前需要首先安装桌面环境</description><pubDate>Mon, 12 Sep 2022 00:00:00 GMT</pubDate><category>linux</category><category>笔记</category></item><item><title>GitLab-CI 通过钉钉发送消息</title><link>https://actpi.com/articles/2022/gitlab-ci%E9%80%9A%E8%BF%87%E9%92%89%E9%92%89%E5%8F%91%E9%80%81%E6%B6%88%E6%81%AF.html</link><guid isPermaLink="true">https://actpi.com/articles/2022/gitlab-ci%E9%80%9A%E8%BF%87%E9%92%89%E9%92%89%E5%8F%91%E9%80%81%E6%B6%88%E6%81%AF.html</guid><description>在使用Gitlab进行CI/CD的时候，希望在任务结束的时候(成功或失败)能有对应的消息通知机制， 通过钉钉发送消息。 前提 钉钉群添加机器人获取token,secret 备用</description><pubDate>Tue, 09 Aug 2022 00:00:00 GMT</pubDate><category>DevOps</category><category>CI/CD</category></item><item><title>Shell 脚本零碎笔记</title><link>https://actpi.com/articles/2021/shellnotes.html</link><guid isPermaLink="true">https://actpi.com/articles/2021/shellnotes.html</guid><description>set的基本用法，写出更安全的 Bash 脚本 set u: 脚本在头部加上它，遇到不存在的变量就会报错，并停止执行 set x: 用来在运行结果之前，先输出执行的那一行命 set e: 它使得脚本只要发生错误，就终止执行 某些命令的非零返回值可能不表示失败，或者开发者希望在命令失败的情况下，脚本继续执行下去。这时可以暂时关闭 set +e，该命令执行结束后，再重新打开set e</description><pubDate>Fri, 22 Oct 2021 00:00:00 GMT</pubDate><category>笔记</category><category>linux</category></item><item><title>在 Linux 系统安装 Supervisor 来管理进程</title><link>https://actpi.com/articles/2021/supervisor-install.html</link><guid isPermaLink="true">https://actpi.com/articles/2021/supervisor-install.html</guid><description>服务介绍 Supervisor 是用 Python 开发的一个 client/server 服务，是 Linux/Unix 系统下的一个进程管理工具，不支持 Windows 系统。它可以很方便的监听、启动、停止、重启一个或多个进程。用 Supervisor 管理的进程，当一个进程意外被杀死，supervisort 监听到进程死后，会自动将它重新拉起，很方便的做到进程自动恢复的功能，不再需要自己写shell脚本来控制。</description><pubDate>Mon, 19 Jul 2021 00:00:00 GMT</pubDate><category>linux</category><category>笔记</category></item><item><title>源码编译安装 python3</title><link>https://actpi.com/articles/2021/install-python.html</link><guid isPermaLink="true">https://actpi.com/articles/2021/install-python.html</guid><description>源码安装 python3 1. 安装编译器与依赖</description><pubDate>Wed, 09 Jun 2021 00:00:00 GMT</pubDate><category>python</category><category>编译</category></item><item><title>在 Windows 系统安装 OpenSSHServer</title><link>https://actpi.com/articles/2021/%E5%AE%89%E8%A3%85OpenSSHServer.html</link><guid isPermaLink="true">https://actpi.com/articles/2021/%E5%AE%89%E8%A3%85OpenSSHServer.html</guid><description>需求 为什么需要在 Windows 服务器安装 SSH 服务？ 最近做 Jenkins 发版系统的时候，因为线上服务器有部分为 Windows 系统，为了使其能更好的融入 Jenkins。能够被 Jenkins 远程传输文件或者执行命令。</description><pubDate>Sat, 10 Apr 2021 00:00:00 GMT</pubDate><category>笔记</category></item><item><title>Docker 安装与基础配置</title><link>https://actpi.com/articles/2021/Docker%E5%AE%89%E8%A3%85%E4%B8%8E%E5%9F%BA%E7%A1%80%E9%85%8D%E7%BD%AE.html</link><guid isPermaLink="true">https://actpi.com/articles/2021/Docker%E5%AE%89%E8%A3%85%E4%B8%8E%E5%9F%BA%E7%A1%80%E9%85%8D%E7%BD%AE.html</guid><description>yum 安装 在 Root用户下操作 1. 安装 yum utils 包然后配置 docker 源仓库 yum install y yum utils yum config manager add repo https://download.docker.com/linux/centos/docker ce.repo 2. 安装最新版的 docker 以及 相关插件 yum install docker ce docker ce cli…</description><pubDate>Tue, 16 Feb 2021 00:00:00 GMT</pubDate><category>docker</category><category>linux</category></item><item><title>jenkins 文件上传与多分支参数化构建</title><link>https://actpi.com/articles/2021/jenkins-file-mutibrach.html</link><guid isPermaLink="true">https://actpi.com/articles/2021/jenkins-file-mutibrach.html</guid><description>文件上传 利用 Jenkins File Parameter实现上传文件 File location filename 存放于当前任务目录下名为 filename,同时 利用变量 ${filename} 保存原始文件名,可在后续的构建脚本里调用，如： 将上传的文件重命名为原始文件名：mv filename ${inpfile} f</description><pubDate>Tue, 19 Jan 2021 00:00:00 GMT</pubDate><category>DevOps</category><category>CI/CD</category></item><item><title>苹果应用商店APP过审 ipv6 配置</title><link>https://actpi.com/articles/2021/%E8%8B%B9%E6%9E%9C%E5%BA%94%E7%94%A8%E5%95%86%E5%BA%97%E8%BF%87%E5%AE%A1IPV6%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE.html</link><guid isPermaLink="true">https://actpi.com/articles/2021/%E8%8B%B9%E6%9E%9C%E5%BA%94%E7%94%A8%E5%95%86%E5%BA%97%E8%BF%87%E5%AE%A1IPV6%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE.html</guid><description>ipv6环境需求 苹果应用商店APP过审要求需要有 ipv6 环境，ipv6 审核不通过，原因一般 2 个： 1. APP内连接采用了 ipv4 的 IP 地址，换成域名即可。（八成是这个原因，换成域名连服务端就行了，服务器、服务端和域名解析不用做任何变动）</description><pubDate>Fri, 08 Jan 2021 00:00:00 GMT</pubDate><category>linux</category><category>ipv6</category></item><item><title>jenkins 搭建过程</title><link>https://actpi.com/articles/2020/jenkins-install.html</link><guid isPermaLink="true">https://actpi.com/articles/2020/jenkins-install.html</guid><description>jenkins 做什么 Jenkins 是持续集成中绕不过的一个服务、用作基于 gitlab 的发布系统 开发提交代码到 gitlab，通过 Jenkins 拉取代码 发布到测试环境 环境需求 Java nginx</description><pubDate>Tue, 22 Sep 2020 00:00:00 GMT</pubDate><category>DevOps</category></item><item><title>Nginx限制连接数与限制请求频率</title><link>https://actpi.com/articles/2020/Nginx%E9%99%90%E5%88%B6%E8%BF%9E%E6%8E%A5%E6%95%B0%E4%B8%8E%E9%99%90%E5%88%B6%E8%AF%B7%E6%B1%82%E9%A2%91%E7%8E%87.html</link><guid isPermaLink="true">https://actpi.com/articles/2020/Nginx%E9%99%90%E5%88%B6%E8%BF%9E%E6%8E%A5%E6%95%B0%E4%B8%8E%E9%99%90%E5%88%B6%E8%AF%B7%E6%B1%82%E9%A2%91%E7%8E%87.html</guid><description>nginx 限制 IP 的连接和并发用到两个模块 HttpLimitReqModul 用来限制连单位时间内连接数，使用limit req zone和limit req 命令配合使用来达到限制。一旦并发连接超过指定数量，就会返回503错误。 HttpLimitConnModul用来限制单个ip的并发连接数，使用limit zone和limit conn指令 这两个模块的区别前一个是对一段时间内的连接数限制，后者是对同一时刻的连接数限制.</description><pubDate>Wed, 06 May 2020 22:01:31 GMT</pubDate><category>nginx</category></item><item><title>SQL Server 数据库文件移动盘符</title><link>https://actpi.com/articles/2019/%E6%95%B0%E6%8D%AE%E5%BA%93%E6%96%87%E4%BB%B6%E7%A7%BB%E5%8A%A8%E7%9B%98%E7%AC%A6.html</link><guid isPermaLink="true">https://actpi.com/articles/2019/%E6%95%B0%E6%8D%AE%E5%BA%93%E6%96%87%E4%BB%B6%E7%A7%BB%E5%8A%A8%E7%9B%98%E7%AC%A6.html</guid><description>MS SQL 数据库迁移文件 这里说的不是将数据库迁移到另外一台服务器，只是在服务器不同磁盘目录内做迁移。移动数据库文件的情况大致有下面一些： 1. 事先没有规划好，数据库文件或日志文件增长过快，导致某个盘或整个磁盘空间不足，需要移动数据文件或日志文件 2. 纯粹由于业务需求，数据增长过快。 3. 为了更好的IO的性能，需要将数据文件、日志文件分布到不同磁盘，减轻IO压力，提供IO性能。 4. 故障恢复。例如，数据库处于可疑模式或因硬件…</description><pubDate>Thu, 12 Sep 2019 00:00:00 GMT</pubDate><category>DB</category></item><item><title>ES 索引生命周期管理</title><link>https://actpi.com/articles/2019/%E4%BD%BF%E7%94%A8ES%E7%B4%A2%E5%BC%95%E6%A8%A1%E6%9D%BF%E5%AE%9E%E7%8E%B0%E7%B4%A2%E5%BC%95%E7%94%9F%E5%91%BD%E5%91%A8%E6%9C%9F%E7%AE%A1%E7%90%86.html</link><guid isPermaLink="true">https://actpi.com/articles/2019/%E4%BD%BF%E7%94%A8ES%E7%B4%A2%E5%BC%95%E6%A8%A1%E6%9D%BF%E5%AE%9E%E7%8E%B0%E7%B4%A2%E5%BC%95%E7%94%9F%E5%91%BD%E5%91%A8%E6%9C%9F%E7%AE%A1%E7%90%86.html</guid><description>需求 1. 使用 es 采集 nginx 访问日志，系统日志，备份日志等 1. 滚动更新，保留指定时期文档，自动删除旧的索引 1. 不使用额外的脚本，尽量用 es 自带功能实现</description><pubDate>Thu, 29 Aug 2019 00:00:00 GMT</pubDate><category>DB</category></item><item><title>ES 安装参数修改记录</title><link>https://actpi.com/articles/2019/ES%E5%AE%89%E8%A3%85.html</link><guid isPermaLink="true">https://actpi.com/articles/2019/ES%E5%AE%89%E8%A3%85.html</guid><pubDate>Fri, 16 Aug 2019 00:00:00 GMT</pubDate><category>笔记</category><category>linux</category></item><item><title>Docker 版 Gitlab 搭建</title><link>https://actpi.com/articles/2019/gitlab%E6%96%87%E6%A1%A3.html</link><guid isPermaLink="true">https://actpi.com/articles/2019/gitlab%E6%96%87%E6%A1%A3.html</guid><description>1. 安装Docker ce curl fsSL https://get.docker.com o get docker.sh 2. 安装docker compose 3. 使用阿里云镜像为docker加速</description><pubDate>Sun, 11 Aug 2019 17:58:40 GMT</pubDate><category>DevOps</category><category>Git</category></item><item><title>gitlab拉取代码报错RPCfail code 500</title><link>https://actpi.com/articles/2019/gitlab%E6%8B%89%E5%8F%96%E4%BB%A3%E7%A0%81%E6%8A%A5%E9%94%99RPCfailcode500.html</link><guid isPermaLink="true">https://actpi.com/articles/2019/gitlab%E6%8B%89%E5%8F%96%E4%BB%A3%E7%A0%81%E6%8A%A5%E9%94%99RPCfailcode500.html</guid><description>问题描述 GitLab 使用git pull 时出现： error： RPC failed;result=22 HTTP code=500 fatal： The remote end hung up unexpectedly</description><pubDate>Sun, 28 Jul 2019 11:45:25 GMT</pubDate><category>Git</category><category>踩坑</category></item><item><title>git提交文件后CRLF和LF的换行处理问题</title><link>https://actpi.com/articles/2019/git%E6%8F%90%E4%BA%A4%E6%96%87%E4%BB%B6%E5%90%8ECRLF%E5%92%8CLF%E7%9A%84%E6%8D%A2%E8%A1%8C%E5%A4%84%E7%90%86%E9%97%AE%E9%A2%98.html</link><guid isPermaLink="true">https://actpi.com/articles/2019/git%E6%8F%90%E4%BA%A4%E6%96%87%E4%BB%B6%E5%90%8ECRLF%E5%92%8CLF%E7%9A%84%E6%8D%A2%E8%A1%8C%E5%A4%84%E7%90%86%E9%97%AE%E9%A2%98.html</guid><description>问题发现 代码提交 gitlab 后拉取下来 rsync 同步到测试服时发现文件有差异 原因探究 1. 怀疑提交 git 后文件状态改变，修改 rsync 同步参数改为计算 MD5 值进行比对 2. 修改参数后仍然有差异,拉取文件进行 MD5 值计算，发现确实 MD5 值不一致 3. 拉取文件进行差异对比，发现文件内容完全一样，怀疑文件有格式问题 4. 将两个环境的文件同时在 notepadd++ 打开，发现格不一致 windows(C…</description><pubDate>Mon, 01 Jul 2019 21:05:25 GMT</pubDate><category>踩坑</category><category>Git</category></item><item><title>SSL 证书校验错误 Trust anchor for certification path not found</title><link>https://actpi.com/articles/2019/ssl-error.html</link><guid isPermaLink="true">https://actpi.com/articles/2019/ssl-error.html</guid><description>问题描述 在使用 acme.sh脚本签发的Let&apos;s Encrypt 免费SSL证书，在android中无法通过SSL系统验证，出现以下异常Trust anchor for certification path not found</description><pubDate>Thu, 06 Jun 2019 10:26:59 GMT</pubDate><category>踩坑</category><category>ssl</category></item><item><title>Let&apos;sEncrypt免费申请泛域名HTTPS证书</title><link>https://actpi.com/articles/2019/Let%27sEncrypt%E5%85%8D%E8%B4%B9HTTPS%E8%AF%81%E4%B9%A6-%E6%B3%9B%E5%9F%9F%E5%90%8D%E7%94%B3%E8%AF%B7.html</link><guid isPermaLink="true">https://actpi.com/articles/2019/Let%27sEncrypt%E5%85%8D%E8%B4%B9HTTPS%E8%AF%81%E4%B9%A6-%E6%B3%9B%E5%9F%9F%E5%90%8D%E7%94%B3%E8%AF%B7.html</guid><description>Let&apos;sEncrypt 介绍 Let&apos;s Encrypt: https://letsencrypt.org , 是一个免费的、自动化的、开放的证书颁发机构。它的全球SSL证书市场份额已超过50%，得到主流浏览器和厂商的认可与支持。</description><pubDate>Wed, 20 Mar 2019 21:45:23 GMT</pubDate><category>ssl</category><category>linux</category></item><item><title>centos 7 安装oracel 12c</title><link>https://actpi.com/articles/before/oracle-install.html</link><guid isPermaLink="true">https://actpi.com/articles/before/oracle-install.html</guid><description>前言 本文介绍如何使用快速安装功能在CentOS 7.1（64位）上部署Oracle Database 12c（12.1.0.2.0）。 原文地址 centos 7 安装oracel 12c、本文对原贴翻译并加入安装过程踩到的坑。</description><pubDate>Mon, 14 May 2018 19:54:27 GMT</pubDate><category>DB</category></item><item><title>Python 把含有 TZ（UTC时间）的字符串 str 转换为 datetime 日期类型</title><link>https://actpi.com/articles/before/strptime.html</link><guid isPermaLink="true">https://actpi.com/articles/before/strptime.html</guid><description>今天在用 Python 处理 AWS S3 存储的时候遇到个时间格式的问题，特别在此记录下： 获取 bucket 下的 object 最后修改时间、然后对所有的超过 30 天的进行删除操作，但是提取到的是2018 03 05T09:20:005Z这种字符串。</description><pubDate>Mon, 05 Mar 2018 20:59:00 GMT</pubDate><category>踩坑</category><category>python</category></item><item><title>nginx proxy_pass后的url加和不加反斜杠‘/’的区别</title><link>https://actpi.com/articles/before/proxy-pass.html</link><guid isPermaLink="true">https://actpi.com/articles/before/proxy-pass.html</guid><description>nginx 代理配置完之后, nginx 配置proxy pass，需要注意转发的路径配置问题. 在 nginx 中配置 proxy pass 时，当在后面的url加上了&apos;/&apos;，相当于是绝对根路径，则 nginx 不会把 location 中匹配的路径部分代理走;如果没有&apos;/&apos;，则会把匹配的路径部分也给代理走。</description><pubDate>Sun, 11 Feb 2018 22:07:35 GMT</pubDate><category>nginx</category></item><item><title>Nginx 关于 location 的匹配规则</title><link>https://actpi.com/articles/before/nginx-index.html</link><guid isPermaLink="true">https://actpi.com/articles/before/nginx-index.html</guid><description>关于 location的匹配顺序的常见误区 1. location 的匹配顺序是“先匹配正则，再匹配普通”。 矫正：location 的匹配顺序其实是“先匹配普通，再匹配正则”。造成这种误解的原因是：正则匹配会覆盖普通匹配。</description><pubDate>Mon, 05 Feb 2018 19:58:58 GMT</pubDate><category>nginx</category></item><item><title>MySQL 忘记 root 用户密码的解决办法</title><link>https://actpi.com/articles/before/forget-root-passwword.html</link><guid isPermaLink="true">https://actpi.com/articles/before/forget-root-passwword.html</guid><description>在 MySQL 的使用过程中，如果 root 用户密码丢失了，会造成很大的麻烦。但是，可以通过某种特殊的办法登陆到 root 用户下，然后设置新的密码。 下面记录下当忘记MySQL root 密码的解决办法：</description><pubDate>Wed, 10 Jan 2018 21:05:25 GMT</pubDate><category>DB</category></item><item><title>CentOS 7 基于 Postfix Dovecot Extmail 搭建邮件服务器</title><link>https://actpi.com/articles/before/centos-extmail.html</link><guid isPermaLink="true">https://actpi.com/articles/before/centos-extmail.html</guid><description>简介 安装环境：CENTOS 7.3 Mysql Nginx Postfix Dovecot web 模块是最先需要确定的，因为它决定了邮箱系统最核心的数据结构，这里选用国产的 extmail，其他所有模块都按照 extmail 的结构进行配置修改。 如果在main.cf里设置virtual transport = virtual，就表示对于包含在 virtual mailbox domains域名里的邮件，都使用 virtual 进行…</description><pubDate>Tue, 05 Dec 2017 19:42:16 GMT</pubDate><category>笔记</category><category>linux</category></item><item><title>用 Pyinstaller  把 python 程序打包为 exe 文件</title><link>https://actpi.com/articles/before/pyinstaller.html</link><guid isPermaLink="true">https://actpi.com/articles/before/pyinstaller.html</guid><description>简介 PyInstaller 可以用来打包 python 应用程序，打包完的程序就可以在没有安装 Python 解释器的机器上运行了。PyInstaller 支持 Python 2.7 和 Python 3.3+。可以在 Windows、Mac OS X 和 Linux 上使用，但是并不是跨平台的，而是说你要是希望打包成 .exe 文件，需要在 Windows 系统上运行 PyInstaller 进行打包工作；打包成mac app，需要…</description><pubDate>Tue, 14 Nov 2017 19:58:25 GMT</pubDate><category>python</category></item><item><title>在 docker 容器里使用 nginx-proxy 实现自动反向代理及负载均衡</title><link>https://actpi.com/articles/before/docker-nginx-proxy.html</link><guid isPermaLink="true">https://actpi.com/articles/before/docker-nginx-proxy.html</guid><description>docker 安装 Windows Docker Windows 客户端需要开启 Hyper V，安装过程会自动提示打开与否。 从官网下载安装包双击安装。Docker for Windows Installer.exe 双击图标运行docker，初次打开可能需要几分钟时间。当右下角出现 docker 标志说明已经开始运行了 打开 cmd 终端开始 docker 之旅 Windows Windows 下推荐使用 Docker for Wi…</description><pubDate>Sat, 11 Nov 2017 12:58:40 GMT</pubDate><category>DevOps</category><category>docker</category></item><item><title>把 Nginx 创建为 Windows 服务</title><link>https://actpi.com/articles/before/winsw.html</link><guid isPermaLink="true">https://actpi.com/articles/before/winsw.html</guid><description>Nginx 介绍 Nginx 是一个 web 服务器。它类似于 Lighttpd，作为轻量级的 web server，可以替代重量级的 Apache/IIS。</description><pubDate>Thu, 26 Oct 2017 20:59:43 GMT</pubDate><category>nginx</category></item><item><title>用 hexo + gitpage 搭建博客以及 gitpage 绑定自定义域名</title><link>https://actpi.com/articles/before/hexo-git-cname.html</link><guid isPermaLink="true">https://actpi.com/articles/before/hexo-git-cname.html</guid><description>本文章将帮助您基于 Gitpages快速搭建 Hexo 博客。如果您在使用过程中遇到问题，请在 GitHub、Google Group 上提问。</description><pubDate>Sun, 22 Oct 2017 11:30:33 GMT</pubDate><category>笔记</category></item><item><title>[IIS][ASP.NET]“拒绝访问临时目录”的解决方法</title><link>https://actpi.com/articles/before/iis-error-write.html</link><guid isPermaLink="true">https://actpi.com/articles/before/iis-error-write.html</guid><description>[IIS][ASP.NET]“拒绝访问临时目录”的解决方法 今天把程序部署到一台Windows主机上，通过浏览器访问时出现下面的错误：</description><pubDate>Sat, 21 Oct 2017 10:18:36 GMT</pubDate><category>踩坑</category></item><item><title>SqlServer故障排除：用户 &apos;x&apos; 登录失败  ERROR:18456</title><link>https://actpi.com/articles/before/sql-error-18456.html</link><guid isPermaLink="true">https://actpi.com/articles/before/sql-error-18456.html</guid><description>故障排除：用户 &apos;x&apos; 登录失败 因密码或用户名错误而使身份验证失败并导致连接尝试被拒时，类似下面的消息将返回到客户端：“用户 &apos; &apos; 登录失败”。（Microsoft SQL Server，错误: 18456）”。</description><pubDate>Wed, 18 Oct 2017 20:43:01 GMT</pubDate><category>踩坑</category><category>DB</category></item><item><title>iis服务器 error ；“/”应用程序中的服务器错误。</title><link>https://actpi.com/articles/before/iis-error.html</link><guid isPermaLink="true">https://actpi.com/articles/before/iis-error.html</guid><description>问题 windows server 上的 IIS 服务器报错：“/”应用程序中的服务器错误。 因为网页是 aspx 格式，网站首页为 default.aspx, 浏览器里调试提示 找不到 default.aspx 。 解决办法 打开 IIS 管理程序，找到所属网站站点，在设置界面找到默认页面，设置首页类型里 把 aspx 格式调至第一位置。 重启即可解决！</description><pubDate>Thu, 12 Oct 2017 21:45:23 GMT</pubDate><category>踩坑</category></item><item><title>nginx 字体文件 404 错误 解决记录</title><link>https://actpi.com/articles/before/ttf-404.html</link><guid isPermaLink="true">https://actpi.com/articles/before/ttf-404.html</guid><description>问题 网站部署好了后打开发现找不到字体文件,错误代码 404 ！</description><pubDate>Fri, 29 Sep 2017 20:40:36 GMT</pubDate><category>踩坑</category><category>nginx</category></item><item><title>Python 3 爬取城市历史PM2.5数据</title><link>https://actpi.com/articles/before/Python-3-%E7%88%AC%E5%8F%96%E5%9F%8E%E5%B8%82%E5%8E%86%E5%8F%B2PM2-5%E6%95%B0%E6%8D%AE.html</link><guid isPermaLink="true">https://actpi.com/articles/before/Python-3-%E7%88%AC%E5%8F%96%E5%9F%8E%E5%B8%82%E5%8E%86%E5%8F%B2PM2-5%E6%95%B0%E6%8D%AE.html</guid><description>写在前面 基于python版本3，使用BeautifulSoup和requests库。 因为近来雾霾越来越严重，影响到的人群也是越来越多，一直想做一个PM2.5的统计，正好最近开始学习Python所有就拿它来练手了，新手不足之处还请指教。</description><pubDate>Mon, 11 Sep 2017 20:52:43 GMT</pubDate><category>python</category></item></channel></rss>