<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>文章归档 on 正能量</title><link>https://www.znl.net/posts/</link><description>Recent content in 文章归档 on 正能量</description><generator>Hugo -- gohugo.io</generator><language>zh-CN</language><copyright>© 2026 正能量</copyright><lastBuildDate>Sun, 18 Oct 2026 15:28:43 +0800</lastBuildDate><atom:link href="https://www.znl.net/posts/index.xml" rel="self" type="application/rss+xml"/><item><title>在 Kubernetes 中部署 PostgreSQL 16（单机版，集群内全放开访问）</title><link>https://www.znl.net/posts/k8s-postgres/</link><pubDate>Sat, 20 Dec 2025 16:36:28 +0800</pubDate><guid>https://www.znl.net/posts/k8s-postgres/</guid><description>&lt;code&gt;hostPath&lt;/code&gt; 将数据留在指定节点，&lt;code&gt;ClusterIP&lt;/code&gt; 提供集群内访问入口，两者都不能单独提供备份或账号权限控制。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/k8s-postgres/featured.png"/></item><item><title>Kubernetes 上的 Redis 部署</title><link>https://www.znl.net/posts/k8s-redis/</link><pubDate>Fri, 15 Aug 2025 21:56:57 +0800</pubDate><guid>https://www.znl.net/posts/k8s-redis/</guid><description>Pod 数量、Service 可达与 Redis 数据持久化分别解决不同问题；运行用户和 &lt;code&gt;fsGroup&lt;/code&gt; 要与实际镜像及挂载目录匹配。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/k8s-redis/featured.webp"/></item><item><title>WireGuard 实现内网资源访问</title><link>https://www.znl.net/posts/wireguard-lan/</link><pubDate>Mon, 31 Mar 2025 09:49:12 +0800</pubDate><guid>https://www.znl.net/posts/wireguard-lan/</guid><description>握手成功说明对端能够通信，访问内网还需要目标网段路由、转发与合适的返回路径；先明确哪些地址应该经过隧道。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/wireguard-lan/featured.jpg"/></item><item><title>Win10 LTSC禁止软件安装方法</title><link>https://www.znl.net/posts/windows-block-install/</link><pubDate>Wed, 19 Mar 2025 12:34:39 +0800</pubDate><guid>https://www.znl.net/posts/windows-block-install/</guid><description>先区分标准用户与管理员，以及用户账户控制和 Windows Installer 策略；两类设置覆盖的安装路径不同。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/windows-block-install/featured.png"/></item><item><title>Windows防锁屏工具技术实现</title><link>https://www.znl.net/posts/windows-keep-awake/</link><pubDate>Thu, 13 Mar 2025 21:32:11 +0800</pubDate><guid>https://www.znl.net/posts/windows-keep-awake/</guid><description>系统执行状态请求与企业账户锁定策略不是同一机制；示例不应被理解为能够覆盖所有组策略或安全限制。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/windows-keep-awake/featured.png"/></item><item><title>Spring自定义Aop实现锁机制</title><link>https://www.znl.net/posts/spring-aop-lock/</link><pubDate>Thu, 13 Mar 2025 10:02:52 +0800</pubDate><guid>https://www.znl.net/posts/spring-aop-lock/</guid><description>锁注解和 SpEL 键只定义调用意图，实际互斥范围取决于锁实现和键生成规则；需要检查调用是否经过代理。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/spring-aop-lock/featured.png"/></item><item><title>Linux下用docker-compose自建RustDesk远程控制服务器</title><link>https://www.znl.net/posts/rustdesk-compose/</link><pubDate>Sun, 22 Dec 2024 15:38:52 +0800</pubDate><guid>https://www.znl.net/posts/rustdesk-compose/</guid><description>先明确各容器与端口用途，并确认持久化目录保存了需要的密钥和状态；服务端密钥应与客户端使用的值对应。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/rustdesk-compose/featured.png"/></item><item><title>Springboot实现读取Nacos中指定的配置文件并实现自动刷新</title><link>https://www.znl.net/posts/nacos-config-refresh/</link><pubDate>Thu, 12 Dec 2024 12:51:17 +0800</pubDate><guid>https://www.znl.net/posts/nacos-config-refresh/</guid><description>启动加载和后续监听回调是两个阶段，应确认首次配置缺失、解析失败和更新触发时分别如何处理。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/nacos-config-refresh/featured.png"/></item><item><title>缓存穿透，缓存击穿，缓存雪崩出现的原因及解决方案</title><link>https://www.znl.net/posts/cache-failures/</link><pubDate>Thu, 12 Dec 2024 11:04:01 +0800</pubDate><guid>https://www.znl.net/posts/cache-failures/</guid><description>先判断访问的是不存在的数据、单个热点过期，还是大量键或整个缓存服务失效，再选择参数校验、空值缓存、互斥重建或降级等措施。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/cache-failures/featured.webp"/></item><item><title>Aliyun九年ECS</title><link>https://www.znl.net/posts/aliyun-ecs-notes/</link><pubDate>Wed, 11 Dec 2024 21:26:55 +0800</pubDate><guid>https://www.znl.net/posts/aliyun-ecs-notes/</guid><description>九年成本、代金券和流量规则来自当时条件，不能作为当前可购买方案。重新操作应先核对地域、实例与计费选项。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/aliyun-ecs-notes/featured.png"/></item><item><title>k3s安装部署记录</title><link>https://www.znl.net/posts/k3s-install/</link><pubDate>Tue, 19 Nov 2024 23:43:36 +0800</pubDate><guid>https://www.znl.net/posts/k3s-install/</guid><description>&lt;code&gt;config.yaml&lt;/code&gt; 用于服务启动配置，客户端 kubeconfig 用于访问集群，二者不应混为同一文件；修改哪一个取决于实际目标。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/k3s-install/featured.png"/></item><item><title>K8S部署adguardhome</title><link>https://www.znl.net/posts/k8s-adguard/</link><pubDate>Mon, 11 Nov 2024 22:34:40 +0800</pubDate><guid>https://www.znl.net/posts/k8s-adguard/</guid><description>使用宿主网络时，应确认目标节点上相关端口没有冲突，并保证配置目录与运行用户权限相符。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/k8s-adguard/featured.png"/></item><item><title>k8s部署3节点Naocs集群</title><link>https://www.znl.net/posts/k8s-nacos/</link><pubDate>Mon, 14 Oct 2024 14:21:10 +0800</pubDate><guid>https://www.znl.net/posts/k8s-nacos/</guid><description>节点数只是部署形态，先确认实例如何互相发现、连接哪套数据库、各端口承担什么功能。示例地址与认证参数需要按真实环境替换。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/k8s-nacos/featured.png"/></item><item><title>Spring OAuth2 Client通过code获取AccessToken</title><link>https://www.znl.net/posts/oauth2-code-token/</link><pubDate>Fri, 21 Jun 2024 20:51:41 +0800</pubDate><guid>https://www.znl.net/posts/oauth2-code-token/</guid><description>授权码需要与相应客户端、回调地址及授权上下文匹配，PKCE 的校验值必须来自同一次授权流程。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/oauth2-code-token/featured.png"/></item><item><title>Java根据硬件信息生成唯一机器码</title><link>https://www.znl.net/posts/java-machine-id/</link><pubDate>Thu, 06 Jun 2024 13:20:28 +0800</pubDate><guid>https://www.znl.net/posts/java-machine-id/</guid><description>示例组合处理器、磁盘和主板信息，实际可读取字段受硬件、权限与虚拟化环境影响；有些设备可能缺少序列号。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/java-machine-id/featured.png"/></item><item><title>Win11 跳过联网登陆</title><link>https://www.znl.net/posts/windows-local-account/</link><pubDate>Thu, 07 Mar 2024 22:01:57 +0800</pubDate><guid>https://www.znl.net/posts/windows-local-account/</guid><description>原文针对当时的 OOBE 流程；系统构建、发行渠道和安装介质变化后，界面与命令行为都可能不同。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/windows-local-account/featured.png"/></item><item><title>网址备忘</title><link>https://www.znl.net/posts/linux-downloads/</link><pubDate>Thu, 08 Feb 2024 22:44:28 +0800</pubDate><guid>https://www.znl.net/posts/linux-downloads/</guid><description>需要重装系统时找安装镜像，需要日常软件更新时配置包仓库，二者不能相互替代。旧版本归档适合复现历史环境。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/linux-downloads/featured.png"/></item><item><title>Docker安装aria2+AriaNG</title><link>https://www.znl.net/posts/aria2-ariang/</link><pubDate>Tue, 30 Jan 2024 21:34:02 +0800</pubDate><guid>https://www.znl.net/posts/aria2-ariang/</guid><description>aria2 执行下载任务，AriaNG 提供管理界面；页面能打开不代表它已连接到正确的 RPC 服务。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/aria2-ariang/featured.png"/></item><item><title>记录一个查看当前TCP和UDP连接的命令ss</title><link>https://www.znl.net/posts/ss-connections/</link><pubDate>Tue, 02 Jan 2024 11:43:12 +0800</pubDate><guid>https://www.znl.net/posts/ss-connections/</guid><description>读结果时先确认协议、连接状态及本地和远端地址，过滤条件不同会让同一台机器呈现不同视图。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/ss-connections/featured.png"/></item><item><title>写一个ossutil的工具脚本</title><link>https://www.znl.net/posts/oss-backup-script/</link><pubDate>Wed, 27 Dec 2023 12:57:13 +0800</pubDate><guid>https://www.znl.net/posts/oss-backup-script/</guid><description>源文件、目标对象名、端点和 Bucket 共同决定数据放在哪里；示例凭据需要由本机私有配置提供，不能写进公开文章或版本库。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/oss-backup-script/featured.png"/></item><item><title>修改镜像仓库 mirror 地址</title><link>https://www.znl.net/posts/docker-registry-mirror/</link><pubDate>Wed, 20 Dec 2023 13:14:03 +0800</pubDate><guid>https://www.znl.net/posts/docker-registry-mirror/</guid><description>原文使用 Docker 的镜像设置和诊断命令；如果节点实际使用其他运行时，这些配置不一定参与镜像拉取。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/docker-registry-mirror/featured.png"/></item><item><title>修改Springboot启动的LOGO</title><link>https://www.znl.net/posts/spring-boot-banner/</link><pubDate>Tue, 07 Nov 2023 10:15:51 +0800</pubDate><guid>https://www.znl.net/posts/spring-boot-banner/</guid><description>Banner 只影响启动时的展示内容，可用于说明项目或版本；它出现并不代表依赖连接、端口监听和业务初始化全部完成。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/spring-boot-banner/featured.png"/></item><item><title>k8s中创建MySQL配置文件</title><link>https://www.znl.net/posts/k8s-mysql-config/</link><pubDate>Thu, 26 Oct 2023 15:20:45 +0800</pubDate><guid>https://www.znl.net/posts/k8s-mysql-config/</guid><description>示例记录配置项的名称与引用方式，需要与应用读取的键完全对应，并确认对象和工作负载处于可访问的命名空间。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/k8s-mysql-config/featured.png"/></item><item><title>Spring Open Feign远程调用后，fallback回调无效的解决方案</title><link>https://www.znl.net/posts/feign-fallback/</link><pubDate>Thu, 19 Oct 2023 16:37:24 +0800</pubDate><guid>https://www.znl.net/posts/feign-fallback/</guid><description>原文依赖特定组件组合和版本，先确认引入的依赖、启用配置与客户端 fallback 声明是否一致。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/feign-fallback/featured.png"/></item><item><title>通过shell脚本批量转换所有图片为webp格式</title><link>https://www.znl.net/posts/images-to-webp/</link><pubDate>Thu, 12 Oct 2023 00:40:27 +0800</pubDate><guid>https://www.znl.net/posts/images-to-webp/</guid><description>批处理前明确扫描目录、支持格式和同名文件处理方式；主观清晰度、透明通道与输出体积都需要观察。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/images-to-webp/featured.png"/></item><item><title>分享一款跨平台的文本编辑器micro</title><link>https://www.znl.net/posts/micro-editor/</link><pubDate>Sun, 08 Oct 2023 22:47:28 +0800</pubDate><guid>https://www.znl.net/posts/micro-editor/</guid><description>这类终端编辑器适合远程修改文本，实际体验受终端按键传递、字体与编码影响；文章中的快捷键应结合自己的终端验证。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/micro-editor/featured.png"/></item><item><title>Go语言编译指定操作系统的可执行文件</title><link>https://www.znl.net/posts/go-cross-compile/</link><pubDate>Sun, 08 Oct 2023 14:39:03 +0800</pubDate><guid>https://www.znl.net/posts/go-cross-compile/</guid><description>交叉编译需要同时考虑 &lt;code&gt;GOOS&lt;/code&gt; 与 &lt;code&gt;GOARCH&lt;/code&gt;，产物能否运行还受使用的依赖与系统能力影响。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/go-cross-compile/featured.png"/></item><item><title>Linux下快速创建大文件的4种方法总结</title><link>https://www.znl.net/posts/linux-large-file/</link><pubDate>Fri, 06 Oct 2023 20:11:01 +0800</pubDate><guid>https://www.znl.net/posts/linux-large-file/</guid><description>不同命令可能真正写入数据，也可能只预分配或创建稀疏文件；表面文件大小相同，不代表磁盘实际占用相同。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/linux-large-file/featured.png"/></item><item><title>更新Docker的内存和CPU的占用</title><link>https://www.znl.net/posts/docker-resource-limits/</link><pubDate>Mon, 17 Apr 2023 11:39:24 +0800</pubDate><guid>https://www.znl.net/posts/docker-resource-limits/</guid><description>命令会作用于列出的全部运行中容器，应用前应先确认目标集合。&lt;code&gt;.5&lt;/code&gt; 表示约半个逻辑 CPU 的配额，不能笼统理解为整台多核机器的 50%。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/docker-resource-limits/featured.png"/></item><item><title>openwrt部署keepalived</title><link>https://www.znl.net/posts/openwrt-keepalived/</link><pubDate>Mon, 03 Apr 2023 22:05:27 +0800</pubDate><guid>https://www.znl.net/posts/openwrt-keepalived/</guid><description>先明确哪台是主节点、哪台是备用节点，以及虚拟 IP 所在接口；配置文件相似并不说明两个节点已互相感知。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/openwrt-keepalived/featured.png"/></item><item><title>Debian 全球镜像站的源</title><link>https://www.znl.net/posts/debian-mirrors/</link><pubDate>Sun, 23 Oct 2022 19:55:12 +0800</pubDate><guid>https://www.znl.net/posts/debian-mirrors/</guid><description>软件源条目需要与本机发行版和版本代号匹配；镜像域名可替换，但路径与仓库分类不能随意混用。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/debian-mirrors/featured.png"/></item><item><title>修改Docker 镜像仓库 加速的快捷方式</title><link>https://www.znl.net/posts/docker-mirror-switch/</link><pubDate>Tue, 27 Sep 2022 09:29:45 +0800</pubDate><guid>https://www.znl.net/posts/docker-mirror-switch/</guid><description>原记录列出的入口对应当时的环境，并非任意 registry 地址都提供 Docker Hub 加速服务。脚本会修改本机配置，需要先了解其具体内容。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/docker-mirror-switch/featured.png"/></item><item><title>Java FlatMap</title><link>https://www.znl.net/posts/java-flatmap/</link><pubDate>Mon, 26 Sep 2022 17:35:46 +0800</pubDate><guid>https://www.znl.net/posts/java-flatmap/</guid><description>&lt;code&gt;map&lt;/code&gt; 为每个元素产生一个映射结果，&lt;code&gt;flatMap&lt;/code&gt; 再把映射得到的多个流展开为一个流。可先用“多组词语合并为词语流”理解原图。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/java-flatmap/featured.png"/></item><item><title>Nginx 反向代理HTTPS服务出现502错误的解决方案</title><link>https://www.znl.net/posts/nginx-upstream-sni/</link><pubDate>Mon, 19 Sep 2022 00:07:24 +0800</pubDate><guid>https://www.znl.net/posts/nginx-upstream-sni/</guid><description>&lt;code&gt;proxy_ssl_name&lt;/code&gt; 与握手名称选择有关，转发 HTTP 头属于另一个阶段；应先明确上游证书与访问域名的对应关系。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/nginx-upstream-sni/featured.png"/></item><item><title>宝塔面板安装nginx后报错</title><link>https://www.znl.net/posts/baota-nginx-error/</link><pubDate>Sun, 18 Sep 2022 23:34:32 +0800</pubDate><guid>https://www.znl.net/posts/baota-nginx-error/</guid><description>错误发生在程序加载共享库时，应先核对目标库的版本、架构、安装位置及 Nginx 的构建来源。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/baota-nginx-error/featured.png"/></item><item><title>清空 Docker 日志占用的磁盘空间</title><link>https://www.znl.net/posts/docker-log-cleanup/</link><pubDate>Thu, 11 Aug 2022 09:17:08 +0800</pubDate><guid>https://www.znl.net/posts/docker-log-cleanup/</guid><description>原脚本直接清空容器日志文件，影响的是历史日志，不会清理镜像或业务数据；目录还依赖实际的数据根路径和日志驱动。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/docker-log-cleanup/featured.png"/></item><item><title>将System.out和 System.err输出到日志文件slf4j</title><link>https://www.znl.net/posts/stdout-slf4j/</link><pubDate>Wed, 03 Aug 2022 16:41:28 +0800</pubDate><guid>https://www.znl.net/posts/stdout-slf4j/</guid><description>这类桥接用于接纳仍直接输出到标准流的旧代码，最终日志位置和级别还由 SLF4J 绑定的后端决定。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/stdout-slf4j/featured.png"/></item><item><title>bat文件调用PowerShell脚本</title><link>https://www.znl.net/posts/batch-powershell/</link><pubDate>Tue, 26 Jul 2022 18:53:30 +0800</pubDate><guid>https://www.znl.net/posts/batch-powershell/</guid><description>批处理负责启动解释器，脚本逻辑由 PowerShell 执行；相对路径和引号跨两个解析层时容易产生差异。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/batch-powershell/featured.png"/></item><item><title>基于Web3j做账号签名认证</title><link>https://www.znl.net/posts/web3j-auth/</link><pubDate>Thu, 05 May 2022 21:10:02 +0800</pubDate><guid>https://www.znl.net/posts/web3j-auth/</guid><description>原代码恢复公钥并与地址比较，处理的是特定消息签名格式；消息长度应按协议要求的编码字节数计算，中文不能简单按字符串字符数代替。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/web3j-auth/featured.png"/></item><item><title>以太坊openethereum节点</title><link>https://www.znl.net/posts/openethereum-node/</link><pubDate>Thu, 21 Apr 2022 22:08:59 +0800</pubDate><guid>https://www.znl.net/posts/openethereum-node/</guid><description>节点启动、与对等节点连接和完成链同步是不同状态；阅读旧配置时先确认链网络、数据目录及客户端版本。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/openethereum-node/featured.png"/></item><item><title>Proxmox VE 7.0 登陆的时候提示没有有效的订阅</title><link>https://www.znl.net/posts/proxmox-subscription/</link><pubDate>Mon, 21 Mar 2022 23:56:54 +0800</pubDate><guid>https://www.znl.net/posts/proxmox-subscription/</guid><description>界面提示是否显示，与节点实际拥有的订阅、仓库权限及支持资格是不同问题；改变前端展示不会创建订阅。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/proxmox-subscription/featured.png"/></item><item><title>解决Nginx反向代理https502错误的问题</title><link>https://www.znl.net/posts/nginx-https-502/</link><pubDate>Fri, 11 Mar 2022 22:58:18 +0800</pubDate><guid>https://www.znl.net/posts/nginx-https-502/</guid><description>原示例通过 &lt;code&gt;proxy_ssl_server_name&lt;/code&gt; 让上游 TLS 握手携带服务器名称；&lt;code&gt;proxy_set_header Host&lt;/code&gt; 则作用于之后的 HTTP 请求。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/nginx-https-502/featured.png"/></item><item><title>使用jib-maven-plugin调整Jvm内存大小</title><link>https://www.znl.net/posts/jib-jvm-memory/</link><pubDate>Wed, 02 Mar 2022 21:38:03 +0800</pubDate><guid>https://www.znl.net/posts/jib-jvm-memory/</guid><description>&lt;code&gt;jvmFlags&lt;/code&gt; 描述应用进程启动选项，容器内存上限则来自运行平台；百分比参数需要结合实际 JVM 和可见内存限额解释。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/jib-jvm-memory/featured.png"/></item><item><title>Docker部署Nginx proxy manager</title><link>https://www.znl.net/posts/nginx-proxy-manager/</link><pubDate>Mon, 20 Dec 2021 16:59:50 +0800</pubDate><guid>https://www.znl.net/posts/nginx-proxy-manager/</guid><description>管理面板可访问只说明管理服务启动，代理目标、域名解析和 TLS 证书还需要单独配置。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/nginx-proxy-manager/featured.png"/></item><item><title>docker-compose部署elasticsearch和kibana单节点</title><link>https://www.znl.net/posts/elasticsearch-kibana/</link><pubDate>Sun, 19 Dec 2021 19:40:02 +0800</pubDate><guid>https://www.znl.net/posts/elasticsearch-kibana/</guid><description>这是用于理解两项服务如何联通的单节点示例；容器间地址、认证设置和镜像版本需要配套。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/elasticsearch-kibana/featured.png"/></item><item><title>配置Linux中vim中文乱码的问题</title><link>https://www.znl.net/posts/vim-chinese/</link><pubDate>Fri, 17 Dec 2021 12:26:39 +0800</pubDate><guid>https://www.znl.net/posts/vim-chinese/</guid><description>原文配置尝试按列出的编码顺序读取文件；文件本身的编码与终端如何显示字符需要分别判断。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/vim-chinese/featured.png"/></item><item><title>Openwrt 命令行修改主题</title><link>https://www.znl.net/posts/openwrt-theme/</link><pubDate>Fri, 17 Dec 2021 12:21:48 +0800</pubDate><guid>https://www.znl.net/posts/openwrt-theme/</guid><description>先确认主题已经安装且与固件匹配，再改对应的界面设置；仅修改主题路径并不会自动下载所需文件。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/openwrt-theme/featured.png"/></item><item><title>Docker-compose 一键部署特殊服务</title><link>https://www.znl.net/posts/compose-services/</link><pubDate>Fri, 17 Dec 2021 11:55:08 +0800</pubDate><guid>https://www.znl.net/posts/compose-services/</guid><description>阅读文件时先列出每个服务的职责、共享网络和挂载目录；需要外部网络或额外配置文件的项目，应先确认这些资源存在。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/compose-services/featured.png"/></item><item><title>解决Brew慢的问题</title><link>https://www.znl.net/posts/homebrew-mirrors/</link><pubDate>Sun, 21 Nov 2021 22:43:09 +0800</pubDate><guid>https://www.znl.net/posts/homebrew-mirrors/</guid><description>安装器下载、Git 元数据更新和软件包下载可能走不同入口，只更换一个地址不一定解决全部慢的问题。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/homebrew-mirrors/featured.jpeg"/></item><item><title>HEU KMS Activator(离线KMS激活工具)</title><link>https://www.znl.net/posts/kms-notes/</link><pubDate>Sat, 02 Nov 2019 23:25:25 +0800</pubDate><guid>https://www.znl.net/posts/kms-notes/</guid><description>KMS 是批量授权体系的一部分，使用第三方工具并不会自动取得软件许可证。原文列出的版本和效果描述属于历史记录。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/kms-notes/featured.png"/></item><item><title>搬瓦工/bandwagonhost 促销优惠码,新增10Gbps带宽的cn2 gia线路VPS，移动+联通同步走企业级带宽</title><link>https://www.znl.net/posts/bandwagonhost-notes/</link><pubDate>Tue, 09 Jul 2019 17:25:43 +0800</pubDate><guid>https://www.znl.net/posts/bandwagonhost-notes/</guid><description>促销码、线路名称、带宽上限与实际可用吞吐是不同信息，原文数字应理解为当时页面记录。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/bandwagonhost-notes/featured.jpg"/></item><item><title>Docker 开启2375端口</title><link>https://www.znl.net/posts/docker-api-port/</link><pubDate>Wed, 05 Jun 2019 18:25:39 +0800</pubDate><guid>https://www.znl.net/posts/docker-api-port/</guid><description>该端口对应 Docker 守护进程管理接口，和向外发布某个容器端口不同；允许连接可能等同于授予宿主机管理能力。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/docker-api-port/featured.png"/></item><item><title>docker 默认空间不足的问题解决</title><link>https://www.znl.net/posts/docker-data-move/</link><pubDate>Wed, 26 Dec 2018 01:04:16 +0800</pubDate><guid>https://www.znl.net/posts/docker-data-move/</guid><description>先确认真正占用空间的是镜像、容器层、日志还是卷，再决定是否迁移数据根目录；原文 &lt;code&gt;--graph&lt;/code&gt; 属于历史写法。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/docker-data-move/featured.png"/></item><item><title>国内无法安装docker或者安装docker慢的解决方案</title><link>https://www.znl.net/posts/docker-mirror-install/</link><pubDate>Wed, 12 Dec 2018 00:25:06 +0800</pubDate><guid>https://www.znl.net/posts/docker-mirror-install/</guid><description>软件包仓库下载慢与运行时拉取容器镜像慢是两个不同问题；先确认失败发生在安装包、仓库元数据还是镜像层下载。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/docker-mirror-install/featured.png"/></item><item><title>Customizing docker</title><link>https://www.znl.net/posts/docker-remote-socket/</link><pubDate>Tue, 11 Dec 2018 17:41:52 +0800</pubDate><guid>https://www.znl.net/posts/docker-remote-socket/</guid><description>这份配置让 Docker API 接受 TCP 连接，访问者可能获得很高的宿主机控制权限；监听可用不代表认证和传输保护已完成。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/docker-remote-socket/featured.png"/></item><item><title>ROS 6.x下防火墙</title><link>https://www.znl.net/posts/routeros-firewall/</link><pubDate>Fri, 23 Nov 2018 23:03:44 +0800</pubDate><guid>https://www.znl.net/posts/routeros-firewall/</guid><description>input 涉及到路由器本身的流量，forward 涉及穿过路由器的流量；同名动作位于不同链时影响不同对象。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/routeros-firewall/featured.png"/></item><item><title>ROS 6.X目前限速比较稳定的一个脚本，来自YouTube</title><link>https://www.znl.net/posts/routeros-queue-script/</link><pubDate>Fri, 23 Nov 2018 22:58:29 +0800</pubDate><guid>https://www.znl.net/posts/routeros-queue-script/</guid><description>先从连接标记追踪到包标记，再查看 queue tree 的引用关系；接口名和各级限额应按自己的链路设置。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/routeros-queue-script/featured.png"/></item><item><title>Linux下时间不同步的问题</title><link>https://www.znl.net/posts/linux-time-sync/</link><pubDate>Mon, 12 Nov 2018 21:31:51 +0800</pubDate><guid>https://www.znl.net/posts/linux-time-sync/</guid><description>时区改变显示方式，校时改变时钟值，二者需要分别确认；机器时间不对时先记录偏差和现有同步服务。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/linux-time-sync/featured.jpg"/></item><item><title>一行代码行天下</title><link>https://www.znl.net/posts/shell-installer-notes/</link><pubDate>Wed, 01 Aug 2018 23:10:19 +0800</pubDate><guid>https://www.znl.net/posts/shell-installer-notes/</guid><description>原命令先安装下载工具，再把远端脚本保存到本地；下载完成本身不代表脚本已执行或服务已配置。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/shell-installer-notes/featured.jpg"/></item><item><title>Linux 下Nginx 设置为服务模式</title><link>https://www.znl.net/posts/nginx-service/</link><pubDate>Sat, 06 Jan 2018 16:16:28 +0800</pubDate><guid>https://www.znl.net/posts/nginx-service/</guid><description>原文适用于使用 &lt;code&gt;service&lt;/code&gt;、&lt;code&gt;chkconfig&lt;/code&gt; 的旧式初始化环境；脚本内的执行文件、PID 与配置路径应与实际安装一致。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/nginx-service/featured.jpg"/></item><item><title>关于Idea2017卡顿的问题</title><link>https://www.znl.net/posts/idea-performance/</link><pubDate>Tue, 26 Dec 2017 16:41:41 +0800</pubDate><guid>https://www.znl.net/posts/idea-performance/</guid><description>原文记录了两种不同方向：主机名相关环境与自定义 VM 参数。排查时应记录具体卡顿动作，而不是同时修改多项配置。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/idea-performance/featured.jpg"/></item><item><title>Linux 下VPN一键安装脚本</title><link>https://www.znl.net/posts/ipsec-vpn-script/</link><pubDate>Mon, 18 Dec 2017 10:46:37 +0800</pubDate><guid>https://www.znl.net/posts/ipsec-vpn-script/</guid><description>原文主要保存项目入口，没有记录一套可复现的部署结果；当前使用时应先阅读项目自己的支持范围、端口及配置要求。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/ipsec-vpn-script/featured.jpg"/></item><item><title>Linux tomcat 启动延迟5分钟问题解决</title><link>https://www.znl.net/posts/tomcat-startup-delay/</link><pubDate>Thu, 16 Nov 2017 18:47:46 +0800</pubDate><guid>https://www.znl.net/posts/tomcat-startup-delay/</guid><description>原文针对旧 JDK 的配置文件位置与随机源行为；处理当前环境时先从启动日志或线程信息定位实际等待点。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/tomcat-startup-delay/featured.jpg"/></item><item><title>Linux 端口映射脚本</title><link>https://www.znl.net/posts/linux-port-forward/</link><pubDate>Sun, 08 Oct 2017 23:06:08 +0800</pubDate><guid>https://www.znl.net/posts/linux-port-forward/</guid><description>&lt;code&gt;Host_A&lt;/code&gt; 表示转发端地址，&lt;code&gt;Host_B&lt;/code&gt; 表示后端地址，两个端口分别对应入口和后端服务。先画出请求与响应路径再替换参数。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/linux-port-forward/featured.jpg"/></item><item><title>Centos6.9下通过yum命令安装mysql</title><link>https://www.znl.net/posts/centos-mysql/</link><pubDate>Fri, 29 Sep 2017 21:14:44 +0800</pubDate><guid>https://www.znl.net/posts/centos-mysql/</guid><description>这份记录对应旧系统与旧版数据库；原文安装源和账号修改语句不应直接套用到其他主版本。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/centos-mysql/featured.jpg"/></item><item><title>Linux 安装Redis</title><link>https://www.znl.net/posts/redis-install/</link><pubDate>Fri, 29 Sep 2017 14:00:20 +0800</pubDate><guid>https://www.znl.net/posts/redis-install/</guid><description>编译成功、进程启动和远程可连接是不同结果；先确认版本与配置文件路径，再按实际部署方式管理服务。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/redis-install/featured.jpg"/></item><item><title>Linux下修改时区不重启</title><link>https://www.znl.net/posts/linux-timezone/</link><pubDate>Sun, 24 Sep 2017 23:19:43 +0800</pubDate><guid>https://www.znl.net/posts/linux-timezone/</guid><description>复制时区文件改变本地时间的解释与显示，并不是一次网络时间同步；应先确认实际需求是时区错误还是时钟本身存在偏差。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/linux-timezone/featured.jpg"/></item><item><title>Clear DNS Cache</title><link>https://www.znl.net/posts/flush-dns/</link><pubDate>Sat, 23 Sep 2017 01:24:07 +0800</pubDate><guid>https://www.znl.net/posts/flush-dns/</guid><description>原文按不同旧版系统列出命令，应先确认本机实际使用的解析服务；重启某个服务只影响它管理的缓存。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/flush-dns/featured.jpg"/></item><item><title>linux下使用speedtest测试主机网速</title><link>https://www.znl.net/posts/linux-speedtest/</link><pubDate>Tue, 19 Sep 2017 07:10:44 +0800</pubDate><guid>https://www.znl.net/posts/linux-speedtest/</guid><description>原文的下载命令缺少具体 URL，不能直接当作完整安装步骤；应先确认测速工具的官方来源与所需运行环境。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/linux-speedtest/featured.jpg"/></item><item><title>Spring AOP 切面</title><link>https://www.znl.net/posts/spring-aop/</link><pubDate>Mon, 18 Sep 2017 05:36:51 +0800</pubDate><guid>https://www.znl.net/posts/spring-aop/</guid><description>从返回类型、包与类、方法名、参数逐段解释表达式，并拿一个希望命中的方法及一个不应命中的方法做对照。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/spring-aop/featured.jpg"/></item><item><title>CentOS安装docker</title><link>https://www.znl.net/posts/centos-docker/</link><pubDate>Fri, 15 Sep 2017 23:02:18 +0800</pubDate><guid>https://www.znl.net/posts/centos-docker/</guid><description>原文 &lt;code&gt;docker-io&lt;/code&gt; 与当时的仓库有关，不能据此推断当前系统应安装相同包名。先识别发行版、版本和已有 Docker 安装来源。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/centos-docker/featured.jpg"/></item><item><title>Ubuntu 16.04连接无线网络</title><link>https://www.znl.net/posts/ubuntu-wifi/</link><pubDate>Fri, 15 Sep 2017 01:25:37 +0800</pubDate><guid>https://www.znl.net/posts/ubuntu-wifi/</guid><description>流程依次解决网卡可识别、连接无线接入点和获得网络地址；原文接口名、SSID 和口令均属于示例环境。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/ubuntu-wifi/featured.jpg"/></item><item><title>Redis 后台启动</title><link>https://www.znl.net/posts/redis-daemon/</link><pubDate>Wed, 22 Feb 2017 21:16:04 +0800</pubDate><guid>https://www.znl.net/posts/redis-daemon/</guid><description>原文通过 &lt;code&gt;daemonize&lt;/code&gt; 让进程转入后台；需要确认启动命令指向的正是已修改的配置文件，而不是另一个默认配置。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/redis-daemon/featured.png"/></item><item><title>通过Apanic解析中国IP</title><link>https://www.znl.net/posts/apnic-china-ip/</link><pubDate>Tue, 01 Nov 2016 11:11:16 +0800</pubDate><guid>https://www.znl.net/posts/apnic-china-ip/</guid><description>原题“Apanic”指 APNIC。脚本处理的是地址资源登记数据，读取记录时需要区分地区字段、资源类型、起始地址和数量。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/apnic-china-ip/featured.png"/></item><item><title>ThinkPHP使用nginx后无法显示验证码的问题</title><link>https://www.znl.net/posts/thinkphp-captcha/</link><pubDate>Mon, 30 May 2016 12:12:44 +0800</pubDate><guid>https://www.znl.net/posts/thinkphp-captcha/</guid><description>原文重写规则把请求交给入口脚本，适用于特定年代的路径约定；移植前确认实际入口位置、路径参数和 ThinkPHP 版本。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/thinkphp-captcha/featured.png"/></item><item><title>Linux通过sftp来上传文件，并保证用户在固定的目录下</title><link>https://www.znl.net/posts/sftp-chroot/</link><pubDate>Mon, 30 May 2016 07:52:55 +0800</pubDate><guid>https://www.znl.net/posts/sftp-chroot/</guid><description>&lt;code&gt;ChrootDirectory&lt;/code&gt; 约束用户看到的根目录；该路径及上级目录的所有权、权限应符合 OpenSSH 要求。需要上传时通常另建用户可写子目录。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/sftp-chroot/featured.jpg"/></item><item><title>php中http到https的自动跳转</title><link>https://www.znl.net/posts/php-https-redirect/</link><pubDate>Mon, 25 Apr 2016 20:58:51 +0800</pubDate><guid>https://www.znl.net/posts/php-https-redirect/</guid><description>原文的前提是目标域名已有可用 HTTPS；跳转应保留需要的路径和查询参数，并在发送响应头之前避免输出正文。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/php-https-redirect/featured.png"/></item><item><title>最新后台界面维护</title><link>https://www.znl.net/posts/admin-ui-notes/</link><pubDate>Thu, 21 Apr 2016 00:02:25 +0800</pubDate><guid>https://www.znl.net/posts/admin-ui-notes/</guid><description>迁移中只保留了原图链接，尚未找到可恢复的界面截图或实现代码，因此本篇是界面演进的资料线索。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/admin-ui-notes/featured.png"/></item><item><title>Spring MVC 找出所有的URL映射地址</title><link>https://www.znl.net/posts/spring-url-mappings/</link><pubDate>Wed, 20 Apr 2016 23:53:10 +0800</pubDate><guid>https://www.znl.net/posts/spring-url-mappings/</guid><description>示例读取处理器维护的映射信息，可用于理解控制器方法怎样对应到请求路径；它不是一次真实 HTTP 调用的执行轨迹。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/spring-url-mappings/featured.png"/></item><item><title>Spring MVC URL的正则表达式</title><link>https://www.znl.net/posts/spring-url-regex/</link><pubDate>Wed, 20 Apr 2016 23:50:34 +0800</pubDate><guid>https://www.znl.net/posts/spring-url-regex/</guid><description>示例通过路径模式限制变量内容，再用 &lt;code&gt;@PathVariable&lt;/code&gt; 接收；阅读时要区分 URL 中的正则语法和 Java 字符串中的转义。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/spring-url-regex/featured.png"/></item><item><title>常用防火墙设置</title><link>https://www.znl.net/posts/iptables-basics/</link><pubDate>Fri, 01 Apr 2016 01:26:36 +0800</pubDate><guid>https://www.znl.net/posts/iptables-basics/</guid><description>规则按顺序匹配，允许已建立连接、环回和管理入口的规则需要与最终拒绝规则共同阅读；先明确 INPUT 与 FORWARD 对应的不同流量。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/iptables-basics/featured.jpg"/></item><item><title>CentOS查看每个目录所占用空间大小</title><link>https://www.znl.net/posts/linux-directory-size/</link><pubDate>Thu, 17 Mar 2016 23:06:24 +0800</pubDate><guid>https://www.znl.net/posts/linux-directory-size/</guid><description>&lt;code&gt;--max-depth=1&lt;/code&gt; 用于显示当前层及下一层目录的汇总；运行位置不同，比较对象也不同。&lt;code&gt;du&lt;/code&gt; 查看文件占用，&lt;code&gt;df&lt;/code&gt; 查看文件系统容量，二者视角不同。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/linux-directory-size/featured.jpg"/></item><item><title>Hibernate - Mapping Types</title><link>https://www.znl.net/posts/hibernate-types/</link><pubDate>Fri, 29 Jan 2016 17:50:22 +0800</pubDate><guid>https://www.znl.net/posts/hibernate-types/</guid><description>表中的名称属于 Hibernate 的映射层，不能直接等同于 Java 类名或任意数据库的实际列类型；还应考虑所用方言和框架版本。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/hibernate-types/featured.png"/></item><item><title>RealVNC 5.1官方原版+注册码</title><link>https://www.znl.net/posts/realvnc-license-notes/</link><pubDate>Wed, 04 Nov 2015 04:02:31 +0800</pubDate><guid>https://www.znl.net/posts/realvnc-license-notes/</guid><description>这份记录对应旧版产品，下载位置和许可条件可能已变化；原文序列号不代表读者当前获得了授权。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/realvnc-license-notes/featured.png"/></item><item><title>Java生成唯一ID</title><link>https://www.znl.net/posts/java-unique-id/</link><pubDate>Sat, 31 Oct 2015 23:52:05 +0800</pubDate><guid>https://www.znl.net/posts/java-unique-id/</guid><description>读代码时应找出时间、序列和随机部分，并确认计数状态存放在哪里；单进程中的同步并不能自动协调多个进程或多台机器。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/java-unique-id/featured.jpg"/></item><item><title>JAVA转化日期为人性化方式显示</title><link>https://www.znl.net/posts/java-relative-date/</link><pubDate>Thu, 22 Oct 2015 08:31:51 +0800</pubDate><guid>https://www.znl.net/posts/java-relative-date/</guid><description>这类格式化把绝对时间转换为“多久以前”等展示文字，原始时间戳仍应保留，用于排序、比较和需要精确时间的场景。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/java-relative-date/featured.jpg"/></item><item><title>ROS pptp客户端连接到pptpserver内网</title><link>https://www.znl.net/posts/routeros-pptp-route/</link><pubDate>Fri, 09 Oct 2015 05:20:08 +0800</pubDate><guid>https://www.znl.net/posts/routeros-pptp-route/</guid><description>先明确需要访问的远端网段，再确认路由指向隧道出口；是否需要地址伪装取决于远端是否知道客户端网段的返回路由。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/routeros-pptp-route/featured.jpg"/></item><item><title>打通PPTP server所在的内网</title><link>https://www.znl.net/posts/pptp-lan-routing/</link><pubDate>Fri, 09 Oct 2015 05:17:19 +0800</pubDate><guid>https://www.znl.net/posts/pptp-lan-routing/</guid><description>VPN 拨号成功只说明隧道建立，访问远端网段还需要路由和返回路径。原文网段是客户端地址池示例，出口接口应按实际网络填写。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/pptp-lan-routing/featured.jpg"/></item><item><title>Ubuntu修改bash</title><link>https://www.znl.net/posts/ubuntu-bash/</link><pubDate>Sat, 01 Aug 2015 20:25:48 +0800</pubDate><guid>https://www.znl.net/posts/ubuntu-bash/</guid><description>需要 Bash 特性的脚本应明确使用 Bash 解释器；脚本按 &lt;code&gt;/bin/sh&lt;/code&gt; 执行时，不能默认具备所有 Bash 扩展。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/ubuntu-bash/featured.jpg"/></item><item><title>IntelliJ IDEA注册码</title><link>https://www.znl.net/posts/idea-license-notes/</link><pubDate>Wed, 01 Jul 2015 18:25:09 +0800</pubDate><guid>https://www.znl.net/posts/idea-license-notes/</guid><description>文中属于 IDEA 13、14 年代的历史记录；出现旧序列号并不证明当前有合法授权，也不能推导其对新版本有效。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/idea-license-notes/featured.png"/></item><item><title>nginx安装</title><link>https://www.znl.net/posts/nginx-build/</link><pubDate>Mon, 29 Jun 2015 06:12:27 +0800</pubDate><guid>https://www.znl.net/posts/nginx-build/</guid><description>原文是指定旧版本的构建笔记，依赖库分别服务于压缩、TLS 和正则等功能；构建参数应与实际需要的模块及路径对应。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/nginx-build/featured.jpg"/></item><item><title>26个提升java性能需要注意的地方</title><link>https://www.znl.net/posts/java-performance/</link><pubDate>Tue, 09 Jun 2015 22:46:10 +0800</pubDate><guid>https://www.znl.net/posts/java-performance/</guid><description>原文汇总了对象、集合和字符串等方面的旧经验，其中固定性能提升比例、堆栈位置等概括不宜直接当作当前 JVM 的保证。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/java-performance/featured.jpg"/></item><item><title>Linux 终端/ssh登录前后的欢迎信息修改</title><link>https://www.znl.net/posts/ssh-login-banner/</link><pubDate>Sun, 31 May 2015 21:48:09 +0800</pubDate><guid>https://www.znl.net/posts/ssh-login-banner/</guid><description>&lt;code&gt;/etc/issue&lt;/code&gt;、SSH 的 &lt;code&gt;Banner&lt;/code&gt; 配置和 &lt;code&gt;/etc/motd&lt;/code&gt; 处在不同阶段，修改其中一个文件并不意味着所有终端都会显示同样内容。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/ssh-login-banner/featured.jpg"/></item><item><title>TCP中FLAG</title><link>https://www.znl.net/posts/tcp-flags/</link><pubDate>Fri, 22 May 2015 03:18:59 +0800</pubDate><guid>https://www.znl.net/posts/tcp-flags/</guid><description>阅读抓包时，应把 SYN、ACK、FIN、RST 等标志与连接阶段和报文方向一起看；单个标志位不足以还原整次交互。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/tcp-flags/featured.png"/></item><item><title>什么是IaaS, PaaS和SaaS及其区别</title><link>https://www.znl.net/posts/cloud-service-models/</link><pubDate>Fri, 15 May 2015 23:32:15 +0800</pubDate><guid>https://www.znl.net/posts/cloud-service-models/</guid><description>比较时可问三个问题：谁维护操作系统，谁部署应用，谁负责使用和数据配置。服务商托管越多，用户自行控制的底层细节通常越少。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/cloud-service-models/featured.jpg"/></item><item><title>Java线程安全和非线程安全</title><link>https://www.znl.net/posts/java-thread-safety/</link><pubDate>Tue, 12 May 2015 17:23:44 +0800</pubDate><guid>https://www.znl.net/posts/java-thread-safety/</guid><description>关键是多个线程是否访问同一个可变对象，而不只是程序是否使用多线程。线程私有的集合与共享集合需要不同的并发设计。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/java-thread-safety/featured.jpg"/></item><item><title>有关nginx的basic auth认证问题</title><link>https://www.znl.net/posts/nginx-basic-auth/</link><pubDate>Tue, 21 Apr 2015 08:09:13 +0800</pubDate><guid>https://www.znl.net/posts/nginx-basic-auth/</guid><description>&lt;code&gt;auth_basic_user_file&lt;/code&gt; 指向认证文件，文件格式及密码摘要应按所用版本文档确认；原文把 Windows 与明文密码简单对应的说法不能作为通用规则。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/nginx-basic-auth/featured.jpg"/></item><item><title>Nginx出现“413 Request Entity Too Large”错误解决方法</title><link>https://www.znl.net/posts/nginx-413/</link><pubDate>Mon, 13 Apr 2015 17:37:36 +0800</pubDate><guid>https://www.znl.net/posts/nginx-413/</guid><description>&lt;code&gt;client_max_body_size&lt;/code&gt; 限制请求体大小，原文 &lt;code&gt;20m&lt;/code&gt; 是示例值；应根据实际上传需求设置在生效的 http、server 或 location 范围内。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/nginx-413/featured.jpg"/></item><item><title>最简单的centos安装pptpd的办法</title><link>https://www.znl.net/posts/centos-pptp/</link><pubDate>Fri, 20 Mar 2015 19:07:22 +0800</pubDate><guid>https://www.znl.net/posts/centos-pptp/</guid><description>原文记录的是通过软件源安装 pptpd，并非完整的 VPN 部署流程；账号、地址分配、路由和防火墙还需要结合拓扑设置。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/centos-pptp/featured.jpg"/></item><item><title>Ros自动备份到邮件</title><link>https://www.znl.net/posts/routeros-mail-backup/</link><pubDate>Mon, 09 Feb 2015 03:03:39 +0800</pubDate><guid>https://www.znl.net/posts/routeros-mail-backup/</guid><description>示例先导出 &lt;code&gt;.rsc&lt;/code&gt; 文件，再通过邮件发送；需要替换 SMTP 设置、账号占位符和目标地址，并确认设备时间及名称解析正常。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/routeros-mail-backup/featured.jpg"/></item><item><title>接口和抽象类</title><link>https://www.znl.net/posts/java-interface-abstract/</link><pubDate>Thu, 01 Jan 2015 01:15:08 +0800</pubDate><guid>https://www.znl.net/posts/java-interface-abstract/</guid><description>接口适合表达可替换的行为契约，抽象类适合共享状态或实现；两者可以共同使用。原文用“能做什么”和“是什么”帮助入门，但不能代替具体设计约束。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/java-interface-abstract/featured.jpg"/></item><item><title>Qos 单线(6.0适用)【原创】</title><link>https://www.znl.net/posts/routeros-qos-v6/</link><pubDate>Thu, 18 Sep 2014 16:52:04 +0800</pubDate><guid>https://www.znl.net/posts/routeros-qos-v6/</guid><description>先读 mangle 标记，再读队列如何引用标记；&lt;code&gt;ADSL&lt;/code&gt;、桥接口与内网网段是这份配置的重要环境参数，不能只替换其中一个。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/routeros-qos-v6/featured.jpg"/></item><item><title>阿里云服务器mysql端口转发</title><link>https://www.znl.net/posts/mysql-port-forward/</link><pubDate>Sun, 17 Aug 2014 19:28:13 +0800</pubDate><guid>https://www.znl.net/posts/mysql-port-forward/</guid><description>DNAT 改变请求目标，SNAT 改变源地址；是否需要两者，取决于后端如何把响应送回客户端。原文最后的结论对应当时的网络拓扑，并非所有转发都必须同时设置。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/mysql-port-forward/featured.jpg"/></item><item><title>OpenWrt安装LUCI</title><link>https://www.znl.net/posts/openwrt-luci/</link><pubDate>Mon, 11 Aug 2014 02:47:36 +0800</pubDate><guid>https://www.znl.net/posts/openwrt-luci/</guid><description>先确认设备联网、软件源与固件版本匹配，再安装 LuCI 及相应依赖；&lt;code&gt;enable&lt;/code&gt; 对应开机启用，&lt;code&gt;start&lt;/code&gt; 对应立即启动，两者用途不同。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/openwrt-luci/featured.jpg"/></item><item><title>常用端口列表</title><link>https://www.znl.net/posts/network-ports/</link><pubDate>Tue, 29 Jul 2014 16:49:50 +0800</pubDate><guid>https://www.znl.net/posts/network-ports/</guid><description>端口表适合查找协议线索，但管理员可以更改监听端口，同一端口也可能被其他程序使用；历史恶意软件标签不能单独证明系统感染。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/network-ports/featured.png"/></item><item><title>Linux命令行在su root后突然变成bash-4.1$的办法</title><link>https://www.znl.net/posts/bash-root-prompt/</link><pubDate>Tue, 01 Jul 2014 20:06:48 +0800</pubDate><guid>https://www.znl.net/posts/bash-root-prompt/</guid><description>提示符变化常与用户环境和初始化文件有关，先确认目标账号的主目录及登录方式，再看对应文件是否存在、所有者是否正确。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/bash-root-prompt/featured.jpg"/></item><item><title>常用NTP服务器地址及IP</title><link>https://www.znl.net/posts/ntp-servers/</link><pubDate>Tue, 01 Jul 2014 08:11:36 +0800</pubDate><guid>https://www.znl.net/posts/ntp-servers/</guid><description>NTP 用来校准时钟，时区决定时间如何显示；把时区改为上海并不代表机器已与时间源同步。清单中的固定 IP 应视为历史资料。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/ntp-servers/featured.png"/></item><item><title>Svn钩子</title><link>https://www.znl.net/posts/svn-hooks/</link><pubDate>Fri, 04 Apr 2014 22:20:07 +0800</pubDate><guid>https://www.znl.net/posts/svn-hooks/</guid><description>脚本使用仓库路径和事务参数读取本次提交信息，并以非零退出码阻止不符合要求的提交；它应作为服务端钩子运行。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/svn-hooks/featured.jpg"/></item><item><title>Eclipse中设置${user}变量</title><link>https://www.znl.net/posts/eclipse-author/</link><pubDate>Fri, 21 Mar 2014 18:20:16 +0800</pubDate><guid>https://www.znl.net/posts/eclipse-author/</guid><description>修改代码模板只改变新生成注释的文字；设置 JVM 的 &lt;code&gt;user.name&lt;/code&gt; 则影响进程读取的用户属性。已有源码注释不会自动批量更新。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/eclipse-author/featured.jpg"/></item><item><title>ROS下单线ADSL使用HTB+PCQ限速</title><link>https://www.znl.net/posts/routeros-htb-pcq/</link><pubDate>Fri, 13 Dec 2013 22:54:01 +0800</pubDate><guid>https://www.znl.net/posts/routeros-htb-pcq/</guid><description>原文带宽数字来自当时的单条线路，先测实际上下行，再将接口、网段和队列上限替换成自己的值。PCQ 分类方向需要与实际上传、下载一致。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/routeros-htb-pcq/featured.jpg"/></item><item><title>三星Note2 note3非国行机也有通话录音、来电、信息归属地教程</title><link>https://www.znl.net/posts/samsung-call-recording/</link><pubDate>Mon, 09 Dec 2013 23:25:54 +0800</pubDate><guid>https://www.znl.net/posts/samsung-call-recording/</guid><description>原文针对特定年代的三星系统文件和地区配置，涉及 Root 权限；不能据此推断其他型号、系统版本也具有相同行为。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/samsung-call-recording/featured.png"/></item><item><title>收集大家常玩的网游端口</title><link>https://www.znl.net/posts/game-ports/</link><pubDate>Fri, 06 Dec 2013 07:43:22 +0800</pubDate><guid>https://www.znl.net/posts/game-ports/</guid><description>清单按游戏与 TCP、UDP 分类，适合定位当年的连接线索；服务端更新、区域和客户端版本都会影响实际端点。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/game-ports/featured.png"/></item><item><title>QuartZ Cron表达式</title><link>https://www.znl.net/posts/quartz-cron/</link><pubDate>Thu, 05 Dec 2013 18:09:04 +0800</pubDate><guid>https://www.znl.net/posts/quartz-cron/</guid><description>Quartz 表达式从秒开始，与常见的五字段系统 crontab 不同；阅读时应先确认调度器类型，再逐字段解释例子。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/quartz-cron/featured.jpg"/></item><item><title>CentOS6安装图形界面</title><link>https://www.znl.net/posts/centos-desktop/</link><pubDate>Fri, 08 Nov 2013 17:16:21 +0800</pubDate><guid>https://www.znl.net/posts/centos-desktop/</guid><description>X Window、桌面环境、浏览器和中文字体各自解决不同问题，安装桌面包并不自动证明显示驱动、字体和输入环境全部正常。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/centos-desktop/featured.jpg"/></item><item><title>分享一个xmanager 4 （xshell）的序列号</title><link>https://www.znl.net/posts/xshell-license-notes/</link><pubDate>Fri, 08 Nov 2013 17:01:39 +0800</pubDate><guid>https://www.znl.net/posts/xshell-license-notes/</guid><description>这篇是历史记录，文中型号和序列号不能代表当前产品授权，也不能据此判断使用者拥有许可证。阅读重点是识别当时的软件版本。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/xshell-license-notes/featured.png"/></item><item><title>解决linux VPN pptpd连接后客户端不能上网的问题</title><link>https://www.znl.net/posts/pptp-no-internet/</link><pubDate>Fri, 01 Nov 2013 06:07:11 +0800</pubDate><guid>https://www.znl.net/posts/pptp-no-internet/</guid><description>隧道建立后，客户端流量还需要可用的默认路由、服务器转发和返回路径；原文 SNAT 规则针对指定的客户端网段。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/pptp-no-internet/featured.jpg"/></item><item><title>centos pptpd</title><link>https://www.znl.net/posts/pptpd-packages/</link><pubDate>Fri, 01 Nov 2013 00:39:10 +0800</pubDate><guid>https://www.znl.net/posts/pptpd-packages/</guid><description>原文仅保存包站入口，没有记录目标系统、依赖版本和完整部署参数，因此不能直接作为当前可执行的安装流程。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/pptpd-packages/featured.jpg"/></item><item><title>Linux iptables</title><link>https://www.znl.net/posts/iptables-reference/</link><pubDate>Thu, 31 Oct 2013 18:29:01 +0800</pubDate><guid>https://www.znl.net/posts/iptables-reference/</guid><description>查看规则时应同时确认表、链、顺序和默认策略，计数增长才表明测试流量经过相应条件。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/iptables-reference/featured.jpg"/></item><item><title>Ldap活动目录常用属性介绍</title><link>https://www.znl.net/posts/ldap-attributes/</link><pubDate>Wed, 30 Oct 2013 19:23:27 +0800</pubDate><guid>https://www.znl.net/posts/ldap-attributes/</guid><description>同一名称的显示信息、登录标识和唯一标识承担不同作用，不能只凭属性看起来相似就互换。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/ldap-attributes/featured.jpg"/></item><item><title>Nginx Windows版本启动文件</title><link>https://www.znl.net/posts/nginx-windows/</link><pubDate>Tue, 22 Oct 2013 00:56:01 +0800</pubDate><guid>https://www.znl.net/posts/nginx-windows/</guid><description>脚本依赖当前目录和固定版本子目录，运行位置、路径空格与多实例都会影响它找到哪个二进制和配置文件。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/nginx-windows/featured.png"/></item><item><title>Javascript实现类似java中的Map功能</title><link>https://www.znl.net/posts/javascript-map/</link><pubDate>Tue, 16 Jul 2013 21:55:33 +0800</pubDate><guid>https://www.znl.net/posts/javascript-map/</guid><description>原代码围绕键值存取、删除、枚举和数量等操作封装对象，阅读时先确认重复键覆盖与不存在键的返回约定。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/javascript-map/featured.png"/></item><item><title>软件开发过程</title><link>https://www.znl.net/posts/software-process/</link><pubDate>Thu, 16 May 2013 23:06:42 +0800</pubDate><guid>https://www.znl.net/posts/software-process/</guid><description>可把需求、设计、实现、测试和部署分别对应到需求说明、设计记录、代码、验证结果和上线方案；模型名称本身不能代替这些可检查的结果。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/software-process/featured.png"/></item><item><title>Java图片合并成GIF图片</title><link>https://www.znl.net/posts/java-gif/</link><pubDate>Tue, 14 May 2013 09:15:08 +0800</pubDate><guid>https://www.znl.net/posts/java-gif/</guid><description>迁移得到的原文只有标题，没有可恢复的合成代码。按这个主题实现时，需要准备按顺序排列的图片、统一的画布尺寸，以及每一帧的显示时间。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/java-gif/featured.png"/></item><item><title>Java随机验证码</title><link>https://www.znl.net/posts/java-captcha/</link><pubDate>Tue, 14 May 2013 09:13:39 +0800</pubDate><guid>https://www.znl.net/posts/java-captcha/</guid><description>图片生成只是验证码流程的一部分，接入时还需要把挑战结果与对应会话关联，并明确有效期及使用次数。原代码中的字体、颜色和干扰线影响可读性。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/java-captcha/featured.png"/></item><item><title>ROS首页强开配置</title><link>https://www.znl.net/posts/routeros-redirect/</link><pubDate>Tue, 14 May 2013 00:00:48 +0800</pubDate><guid>https://www.znl.net/posts/routeros-redirect/</guid><description>脚本通过地址列表区分新访问与已访问设备，再把匹配的 TCP 80 请求导向示例 Web 服务器；内网地址需要按实际拓扑替换。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/routeros-redirect/featured.jpg"/></item><item><title>获取min到max的随机数</title><link>https://www.znl.net/posts/java-random-range/</link><pubDate>Fri, 10 May 2013 19:56:58 +0800</pubDate><guid>https://www.znl.net/posts/java-random-range/</guid><description>原代码返回范围是 &lt;code&gt;[min, max)&lt;/code&gt;：包含 &lt;code&gt;min&lt;/code&gt;，不包含 &lt;code&gt;max&lt;/code&gt;。例如 &lt;code&gt;min=3&lt;/code&gt;、&lt;code&gt;max=6&lt;/code&gt; 时可能得到 3、4、5，得不到 6。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/java-random-range/featured.png"/></item><item><title>java四舍五入</title><link>https://www.znl.net/posts/java-round/</link><pubDate>Fri, 10 May 2013 19:52:34 +0800</pubDate><guid>https://www.znl.net/posts/java-round/</guid><description>原方法的 &lt;code&gt;rang&lt;/code&gt; 表示小数位数，返回值仍是 &lt;code&gt;double&lt;/code&gt;，因此保留两位小数不代表输出时一定显示两个尾随零。展示格式与数值计算需要分开处理。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/java-round/featured.png"/></item><item><title>ROS QOS 数据分类/队列（Queue）的理论</title><link>https://www.znl.net/posts/routeros-qos/</link><pubDate>Wed, 23 Jan 2013 23:52:07 +0800</pubDate><guid>https://www.znl.net/posts/routeros-qos/</guid><description>阅读时先区分分类规则与队列策略：前者决定哪些包属于同一组，后者决定这些组怎样分享链路。原文的小包、端口和用户分类是不同维度，可以组合观察。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.znl.net/posts/routeros-qos/featured.jpg"/></item></channel></rss>