<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Mulinux | Linux &amp; DevOps Notes</title>
    <link>https://blog.mulinux.com/en/</link>
    <description>Mulinux - Linux Operations &amp; DevOps blog. Notes on Linux, Kubernetes, Docker and backend engineering.</description>
    <generator>Hugo 0.160.0 &amp; FixIt v0.4.5</generator>
    <language>en</language>
    <lastBuildDate>Mon, 17 Oct 2022 13:57:34 +0800</lastBuildDate>
    <atom:link href="https://blog.mulinux.com/en/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>MySQL 常用排障与救火速查 (Runbook)</title>
      <link>https://blog.mulinux.com/en/mysql-command/</link>
      <pubDate>Mon, 17 Oct 2022 13:57:34 +0800</pubDate>
      <guid>https://blog.mulinux.com/en/mysql-command/</guid>
      <category domain="https://blog.mulinux.com/en/categories/operations/">Operations</category>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;🚨 使用指南：&lt;/strong&gt; 这是一份专为生产环境数据库宕机、卡顿、爆满设计的&lt;strong&gt;救火急诊室指南&lt;/strong&gt;。越致命的状况对应的代码越靠前，日常业务代码被折叠至附录。在此页面所抄写的每一行指令，都应该怀揣对生产环境的敬畏。&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;01-致命故障阻断连接爆满与死锁&#34;&gt;&lt;span&gt;01. 致命故障阻断：连接爆满与死锁&lt;/span&gt;&#xA;  &lt;a href=&#34;#01-%e8%87%b4%e5%91%bd%e6%95%85%e9%9a%9c%e9%98%bb%e6%96%ad%e8%bf%9e%e6%8e%a5%e7%88%86%e6%bb%a1%e4%b8%8e%e6%ad%bb%e9%94%81&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;h3 class=&#34;heading-element&#34; id=&#34;定位卡死的源头查询&#34;&gt;&lt;span&gt;定位卡死的源头查询&lt;/span&gt;&#xA;  &lt;a href=&#34;#%e5%ae%9a%e4%bd%8d%e5%8d%a1%e6%ad%bb%e7%9a%84%e6%ba%90%e5%a4%b4%e6%9f%a5%e8%af%a2&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;p&gt;当业务发生大面积连接超时（Too many connections），必须立即揪出源头。&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;# 查看全盘正在执行的所有线程与查询。重点盯住 `Time` 耗时超长的行，和 `State` 为 Locked 的进程。&#xA;show full processlist;&#xA;&#xA;# 选定特定祸首（譬如 Id 为 1024的查询），手动狙杀以释放表锁：&#xA;kill 1024;&lt;/code&gt;&lt;/pre&gt;&lt;h3 class=&#34;heading-element&#34; id=&#34;批量猎杀僵尸查询雪崩级自救&#34;&gt;&lt;span&gt;批量猎杀僵尸查询（雪崩级自救）&lt;/span&gt;&#xA;  &lt;a href=&#34;#%e6%89%b9%e9%87%8f%e7%8c%8e%e6%9d%80%e5%83%b5%e5%b0%b8%e6%9f%a5%e8%af%a2%e9%9b%aa%e5%b4%a9%e7%ba%a7%e8%87%aa%e6%95%91&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;p&gt;当数据库瞬间被几十上百个卡死的查询打满，一个个 COPY ID 根本来不及，你可以利用下面语句跑出批量 KILL 脚本：&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;# 找出所有运行超过 30 秒并在指定库下执行的坏死语句，让引擎自动吐出批量 KILL 指令。&#xA;select concat(&amp;#39;KILL &amp;#39;,id,&amp;#39;;&amp;#39;) from information_schema.processlist &#xA;where db=&amp;#39;你的库名&amp;#39; and time &amp;gt; 30 and command = &amp;#39;Query&amp;#39;;&#xA;# 将上一步产出的多行 KILL 代码复制，并一键黏贴至控制台批量斩杀！&lt;/code&gt;&lt;/pre&gt;&lt;h3 class=&#34;heading-element&#34; id=&#34;定位深层死锁与哪张库表堵塞&#34;&gt;&lt;span&gt;定位深层死锁与哪张库表堵塞&lt;/span&gt;&#xA;  &lt;a href=&#34;#%e5%ae%9a%e4%bd%8d%e6%b7%b1%e5%b1%82%e6%ad%bb%e9%94%81%e4%b8%8e%e5%93%aa%e5%bc%a0%e5%ba%93%e8%a1%a8%e5%a0%b5%e5%a1%9e&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;pre&gt;&lt;code&gt;# 查询有哪张表正在被死锁占用处于写入阻塞中 (In_use 大于 0 代表被锁)&#xA;show open tables where In_use &amp;gt; 0;&#xA;&#xA;# 查询底层 InnoDB 引擎的运转全貌与事务挂起细节（硬核排查指令）&#xA;show engine innodb status;&lt;/code&gt;&lt;/pre&gt;&lt;hr&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;02-特权拉起与账号盲切抢救&#34;&gt;&lt;span&gt;02. 特权拉起与账号盲切抢救&lt;/span&gt;&#xA;  &lt;a href=&#34;#02-%e7%89%b9%e6%9d%83%e6%8b%89%e8%b5%b7%e4%b8%8e%e8%b4%a6%e5%8f%b7%e7%9b%b2%e5%88%87%e6%8a%a2%e6%95%91&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;h3 class=&#34;heading-element&#34; id=&#34;免密强拉服务忘-root-密码--权鉴紊乱自救&#34;&gt;&lt;span&gt;免密强拉服务（忘 Root 密码 / 权鉴紊乱自救）&lt;/span&gt;&#xA;  &lt;a href=&#34;#%e5%85%8d%e5%af%86%e5%bc%ba%e6%8b%89%e6%9c%8d%e5%8a%a1%e5%bf%98-root-%e5%af%86%e7%a0%81--%e6%9d%83%e9%89%b4%e7%b4%8a%e4%b9%b1%e8%87%aa%e6%95%91&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;p&gt;如果因为乱改权限导致数据库完全锁死谁也连不进去，连 Root 密码都被遗忘：&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;# 1. 在 Linux 服务台停掉 MySQL 服务&#xA;systemctl stop mysqld&#xA;# 2. 利用跳过授权表模式强行拉起服务，直接跨过登陆鉴权网&#xA;mysqld_safe --skip-grant-tables &amp;amp;&#xA;# 3. 此时可以直接由于空密码登入 MySQL 开始重置你的正常帐户和权限了！&#xA;mysql -u root&lt;/code&gt;&lt;/pre&gt;&lt;h3 class=&#34;heading-element&#34; id=&#34;阻断异常暴露给内网降级配置临时入口&#34;&gt;&lt;span&gt;阻断异常暴露：给内网降级配置临时入口&lt;/span&gt;&#xA;  &lt;a href=&#34;#%e9%98%bb%e6%96%ad%e5%bc%82%e5%b8%b8%e6%9a%b4%e9%9c%b2%e7%bb%99%e5%86%85%e7%bd%91%e9%99%8d%e7%ba%a7%e9%85%8d%e7%bd%ae%e4%b8%b4%e6%97%b6%e5%85%a5%e5%8f%a3&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;pre&gt;&lt;code&gt;# 紧急创建一个只能在专门客户端网段 (%) 连入的排障专用号，锁定至单一业务库避免祸及池鱼&#xA;create user &amp;#39;sos_user&amp;#39;@&amp;#39;%&amp;#39; identified by &amp;#39;strong_password&amp;#39;;&#xA;grant all privileges on your_db_name.* to &amp;#39;sos_user&amp;#39;@&amp;#39;%&amp;#39;;&#xA;flush privileges;&lt;/code&gt;&lt;/pre&gt;&lt;hr&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;03-性能深潜与大口径清洗&#34;&gt;&lt;span&gt;03. 性能深潜与大口径清洗&lt;/span&gt;&#xA;  &lt;a href=&#34;#03-%e6%80%a7%e8%83%bd%e6%b7%b1%e6%bd%9c%e4%b8%8e%e5%a4%a7%e5%8f%a3%e5%be%84%e6%b8%85%e6%b4%97&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;h3 class=&#34;heading-element&#34; id=&#34;执行计划质检索引缺失导致的隐性卡顿&#34;&gt;&lt;span&gt;执行计划：质检索引缺失导致的隐性卡顿&lt;/span&gt;&#xA;  &lt;a href=&#34;#%e6%89%a7%e8%a1%8c%e8%ae%a1%e5%88%92%e8%b4%a8%e6%a3%80%e7%b4%a2%e5%bc%95%e7%bc%ba%e5%a4%b1%e5%af%bc%e8%87%b4%e7%9a%84%e9%9a%90%e6%80%a7%e5%8d%a1%e9%a1%bf&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;p&gt;业务不会宕机，就是单纯拖慢了 CPU 和 I/O，通常是索引缺失。&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;# 在极慢的日志查询前加上 EXPLAIN，重点看 `type` 字段，如果是 &amp;#39;ALL&amp;#39; 即引发了最坏的全表扫描。&#xA;explain select * from user_logs where created_at &amp;gt; &amp;#39;2022-10-01&amp;#39;;&lt;/code&gt;&lt;/pre&gt;&lt;h3 class=&#34;heading-element&#34; id=&#34;脏数据防炸阻断防爬虫注入崩溃&#34;&gt;&lt;span&gt;脏数据防炸阻断（防爬虫注入崩溃）&lt;/span&gt;&#xA;  &lt;a href=&#34;#%e8%84%8f%e6%95%b0%e6%8d%ae%e9%98%b2%e7%82%b8%e9%98%bb%e6%96%ad%e9%98%b2%e7%88%ac%e8%99%ab%e6%b3%a8%e5%85%a5%e5%b4%a9%e6%ba%83&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;pre&gt;&lt;code&gt;# 上游送来的数据主键如果冲突了不报错终止写入，转为安全的 Update 覆盖策略&#xA;insert into my_table (id, name, count) values (1, &amp;#39;apple&amp;#39;, 1) &#xA;on duplicate key update count = count &amp;#43; 1;&lt;/code&gt;&lt;/pre&gt;&lt;h3 class=&#34;heading-element&#34; id=&#34;大面数据纠偏清洗-利用高频的-join-update&#34;&gt;&lt;span&gt;大面数据纠偏清洗 (利用高频的 JOIN UPDATE)&lt;/span&gt;&#xA;  &lt;a href=&#34;#%e5%a4%a7%e9%9d%a2%e6%95%b0%e6%8d%ae%e7%ba%a0%e5%81%8f%e6%b8%85%e6%b4%97-%e5%88%a9%e7%94%a8%e9%ab%98%e9%a2%91%e7%9a%84-join-update&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;pre&gt;&lt;code&gt;# 利用 B 表（准数据字典）的最新数据去强制刷新修复 A 表损坏的数据&#xA;update table_a a &#xA;inner join table_b b on a.id = b.a_id &#xA;set a.status = b.status &#xA;where a.status != b.status;&lt;/code&gt;&lt;/pre&gt;&lt;hr&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;04-灾后数据导出抢救&#34;&gt;&lt;span&gt;04. 灾后数据导出抢救&lt;/span&gt;&#xA;  &lt;a href=&#34;#04-%e7%81%be%e5%90%8e%e6%95%b0%e6%8d%ae%e5%af%bc%e5%87%ba%e6%8a%a2%e6%95%91&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;h3 class=&#34;heading-element&#34; id=&#34;当磁盘快要报警红线舍车保帅库抛离算法&#34;&gt;&lt;span&gt;当磁盘快要报警红线：舍车保帅库抛离算法&lt;/span&gt;&#xA;  &lt;a href=&#34;#%e5%bd%93%e7%a3%81%e7%9b%98%e5%bf%ab%e8%a6%81%e6%8a%a5%e8%ad%a6%e7%ba%a2%e7%ba%bf%e8%88%8d%e8%bd%a6%e4%bf%9d%e5%b8%85%e5%ba%93%e6%8a%9b%e7%a6%bb%e7%ae%97%e6%b3%95&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;p&gt;如果一个几百 G 的历史归档库马上要吃光操作系统的 IO 容量，你需要强行抽出核心表保命。&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;# `--ignore-table` 极度实用：导出时强行剔除无用的海量流水线日志大表，秒速把最核心库备份抽离换台机器&#xA;mysqldump -uroot -p&amp;#34;Password&amp;#34; --databases itoa126 --ignore-table=itoa126.scr_big_log_table &amp;gt; /app/dump_core.sql&#xA;&#xA;# 也可以借助 Linux 管道过滤，一通导出来只包含你需要的关键业务分库&#xA;mysql -e &amp;#34;show databases;&amp;#34; -uroot -p&amp;#34;Pass&amp;#34; | grep -Ev &amp;#34;Database|test|information_schema&amp;#34; | xargs mysqldump -uroot -p&amp;#34;Pass&amp;#34; --databases &amp;gt; /app/dump_clean.sql&lt;/code&gt;&lt;/pre&gt;&lt;h3 class=&#34;heading-element&#34; id=&#34;百万数据导出为-csv-将压力脱手&#34;&gt;&lt;span&gt;百万数据导出为 CSV 将压力脱手&lt;/span&gt;&#xA;  &lt;a href=&#34;#%e7%99%be%e4%b8%87%e6%95%b0%e6%8d%ae%e5%af%bc%e5%87%ba%e4%b8%ba-csv-%e5%b0%86%e5%8e%8b%e5%8a%9b%e8%84%b1%e6%89%8b&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;pre&gt;&lt;code&gt;# 让 MySQL 引擎的 I/O 底层直写文件，防止导出几百万行数据把你的运维客户端直接卡死爆炸&#xA;select from_unixtime(left(event_time,10)),origin_id from tb_event &#xA;where merge_key=1 order by event_time &#xA;into outfile &amp;#39;/tmp/tb_event_20221017.csv&amp;#39; fields terminated by &amp;#39;,&amp;#39;;&lt;/code&gt;&lt;/pre&gt;&lt;hr&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;附录日常业务打磨工具箱&#34;&gt;&lt;span&gt;附录：日常业务打磨工具箱&lt;/span&gt;&#xA;  &lt;a href=&#34;#%e9%99%84%e5%bd%95%e6%97%a5%e5%b8%b8%e4%b8%9a%e5%8a%a1%e6%89%93%e7%a3%a8%e5%b7%a5%e5%85%b7%e7%ae%b1&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;h3 class=&#34;heading-element&#34; id=&#34;核级删除极速清空表&#34;&gt;&lt;span&gt;核级删除：极速清空表&lt;/span&gt;&#xA;  &lt;a href=&#34;#%e6%a0%b8%e7%ba%a7%e5%88%a0%e9%99%a4%e6%9e%81%e9%80%9f%e6%b8%85%e7%a9%ba%e8%a1%a8&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;pre&gt;&lt;code&gt;# 相比 Delete 性能极速，且不记入日志，不可回滚，自增 ID 会重置！&#xA;truncate table table_name;&lt;/code&gt;&lt;/pre&gt;&lt;h3 class=&#34;heading-element&#34; id=&#34;unix-时间戳转换&#34;&gt;&lt;span&gt;UNIX 时间戳转换&lt;/span&gt;&#xA;  &lt;a href=&#34;#unix-%e6%97%b6%e9%97%b4%e6%88%b3%e8%bd%ac%e6%8d%a2&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;pre&gt;&lt;code&gt;select unix_timestamp(&amp;#39;2022-03-21 14:28:30&amp;#39;) from tb_event;&#xA;# 时间戳转回可用日期版&#xA;select from_unixtime(1666060280, &amp;#39;%Y-%m-%d %H:%i:%S&amp;#39;) from tb_event;&lt;/code&gt;&lt;/pre&gt;</description>
    </item>
    <item>
      <title>nginx logrotate日志回滚</title>
      <link>https://blog.mulinux.com/en/nginx-logrotate%E6%97%A5%E5%BF%97%E5%9B%9E%E6%BB%9A/</link>
      <pubDate>Tue, 09 Aug 2022 10:04:22 +0800</pubDate>
      <guid>https://blog.mulinux.com/en/nginx-logrotate%E6%97%A5%E5%BF%97%E5%9B%9E%E6%BB%9A/</guid>
      <category domain="https://blog.mulinux.com/en/categories/operations/">Operations</category>
      <description>&lt;h1 class=&#34;heading-element&#34; id=&#34;logrotate配置&#34;&gt;&lt;span&gt;logrotate配置&lt;/span&gt;&#xA;  &lt;a href=&#34;#logrotate%e9%85%8d%e7%bd%ae&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h1&gt;&lt;pre&gt;&lt;code&gt;vi /etc/logrotate.d/nginx&#xA;/var/log/nginx/*.log {&#xA;    rotate 7&#xA;    size 5k&#xA;    dateext&#xA;    dateformat -%Y-%m-%d-%s&#xA;    missingok&#xA;#    compress&#xA;    sharedscripts&#xA;    postrotate&#xA;        test -r /run/nginx.pid &amp;amp;&amp;amp; kill -USR1 `cat /run/nginx.pid`&#xA;    endscript&#xA;}&lt;/code&gt;&lt;/pre&gt;&lt;h1 class=&#34;heading-element&#34; id=&#34;日志回滚命令&#34;&gt;&lt;span&gt;日志回滚命令&lt;/span&gt;&#xA;  &lt;a href=&#34;#%e6%97%a5%e5%bf%97%e5%9b%9e%e6%bb%9a%e5%91%bd%e4%bb%a4&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h1&gt;&lt;pre&gt;&lt;code&gt;logrotate -v -f /etc/logrotate.d/nginx&lt;/code&gt;&lt;/pre&gt;&lt;h1 class=&#34;heading-element&#34; id=&#34;定时任务&#34;&gt;&lt;span&gt;定时任务&lt;/span&gt;&#xA;  &lt;a href=&#34;#%e5%ae%9a%e6%97%b6%e4%bb%bb%e5%8a%a1&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h1&gt;&lt;pre&gt;&lt;code&gt;crontab -e&#xA;*/5 * * * * /usr/sbin/logrotate -v -f /etc/logrotate.d/nginx&lt;/code&gt;&lt;/pre&gt;</description>
    </item>
    <item>
      <title>CDH中Kafka实现多端口监听</title>
      <link>https://blog.mulinux.com/en/cdh%E4%B8%ADkafka%E5%AE%9E%E7%8E%B0%E5%A4%9A%E7%AB%AF%E5%8F%A3%E7%9B%91%E5%90%AC/</link>
      <pubDate>Mon, 07 Mar 2022 14:45:11 +0800</pubDate>
      <guid>https://blog.mulinux.com/en/cdh%E4%B8%ADkafka%E5%AE%9E%E7%8E%B0%E5%A4%9A%E7%AB%AF%E5%8F%A3%E7%9B%91%E5%90%AC/</guid>
      <category domain="https://blog.mulinux.com/en/categories/cdh/">CDH</category>
      <description>&lt;h1 class=&#34;heading-element&#34; id=&#34;节点分布&#34;&gt;&lt;span&gt;节点分布&lt;/span&gt;&#xA;  &lt;a href=&#34;#%e8%8a%82%e7%82%b9%e5%88%86%e5%b8%83&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h1&gt;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;名称&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;集群IP&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;业务IP&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;AIOPS01CALC&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;192.168.1.1&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;10.10.1.1&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;AIOPS02CALC&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;192.168.1.2&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;10.10.1.2&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;AIOPS03CALC&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;192.168.1.3&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;10.10.1.3&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h1 class=&#34;heading-element&#34; id=&#34;需求描述&#34;&gt;&lt;span&gt;需求描述&lt;/span&gt;&#xA;  &lt;a href=&#34;#%e9%9c%80%e6%b1%82%e6%8f%8f%e8%bf%b0&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h1&gt;&lt;p&gt;集群内部通过192.168.1.X网段通信，对外通过10.10.1.X网段通信，可使用如下参数配置实现多网段不同端口监听访问。&lt;/p&gt;&#xA;&lt;h1 class=&#34;heading-element&#34; id=&#34;配置参数&#34;&gt;&lt;span&gt;配置参数&lt;/span&gt;&#xA;  &lt;a href=&#34;#%e9%85%8d%e7%bd%ae%e5%8f%82%e6%95%b0&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h1&gt;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;kafka.properties的Kafka Broker高级配置代码&lt;/th&gt;&#xA;          &lt;th&gt;Kafka Broker(aiops01calc)&lt;/th&gt;&#xA;          &lt;th&gt;listeners=&lt;a href=&#34;plaintext://192.168.1.1:29092,EXTERNAL:&#34; target=&#34;_blank&#34; rel=&#34;external nofollow noopener noreferrer&#34;&gt;PLAINTEXT://192.168.1.1:29092,EXTERNAL://10.10.1.1:19092&lt;/a&gt;advertised.listeners=&lt;a href=&#34;plaintext://192.168.1.1:29092,EXTERNAL:&#34; target=&#34;_blank&#34; rel=&#34;external nofollow noopener noreferrer&#34;&gt;PLAINTEXT://192.168.1.1:29092,EXTERNAL://10.10.1.1:19092&lt;/a&gt;listener.security.protocol.map=PLAINTEXT:PLAINTEXT,EXTERNAL:PLAINTEXT&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Kafka Broker(aiops02calc)&lt;/td&gt;&#xA;          &lt;td&gt;listeners=&lt;a href=&#34;plaintext://192.168.1.2:29092,EXTERNAL:&#34; target=&#34;_blank&#34; rel=&#34;external nofollow noopener noreferrer&#34;&gt;PLAINTEXT://192.168.1.2:29092,EXTERNAL://10.10.1.2:19092&lt;/a&gt;advertised.listeners=&lt;a href=&#34;plaintext://192.168.1.2:29092,EXTERNAL:&#34; target=&#34;_blank&#34; rel=&#34;external nofollow noopener noreferrer&#34;&gt;PLAINTEXT://192.168.1.2:29092,EXTERNAL://10.10.1.2:19092&lt;/a&gt;listener.security.protocol.map=PLAINTEXT:PLAINTEXT,EXTERNAL:PLAINTEXT&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Kafka Broker(aiops03calc)&lt;/td&gt;&#xA;          &lt;td&gt;listeners=&lt;a href=&#34;plaintext://192.168.1.3:29092,EXTERNAL:&#34; target=&#34;_blank&#34; rel=&#34;external nofollow noopener noreferrer&#34;&gt;PLAINTEXT://192.168.1.3:29092,EXTERNAL://10.10.1.3:19092&lt;/a&gt;advertised.listeners=&lt;a href=&#34;plaintext://192.168.1.3:29092,EXTERNAL:&#34; target=&#34;_blank&#34; rel=&#34;external nofollow noopener noreferrer&#34;&gt;PLAINTEXT://192.168.1.3:29092,EXTERNAL://10.10.1.3:19092&lt;/a&gt;listener.security.protocol.map=PLAINTEXT:PLAINTEXT,EXTERNAL:PLAINTEXT&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;</description>
    </item>
    <item>
      <title>logstash使用示例</title>
      <link>https://blog.mulinux.com/en/logstash%E4%BD%BF%E7%94%A8%E7%A4%BA%E4%BE%8B/</link>
      <pubDate>Sun, 12 Dec 2021 10:04:22 +0800</pubDate>
      <guid>https://blog.mulinux.com/en/logstash%E4%BD%BF%E7%94%A8%E7%A4%BA%E4%BE%8B/</guid>
      <category domain="https://blog.mulinux.com/en/categories/operations/">Operations</category>
      <description>&lt;h1 class=&#34;heading-element&#34; id=&#34;es2csv&#34;&gt;&lt;span&gt;es2csv&lt;/span&gt;&#xA;  &lt;a href=&#34;#es2csv&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h1&gt;&lt;pre&gt;&lt;code&gt;input {&#xA; elasticsearch {&#xA;    hosts =&amp;gt; &amp;#34;localhost:9200&amp;#34;&#xA;    index =&amp;gt; &amp;#34;kibana_sample_data_ecommerce&amp;#34;&#xA;&#x9;user =&amp;gt; &amp;#34;elastic&amp;#34;&#xA;&#x9;password =&amp;gt; &amp;#34;password&amp;#34;&#xA;    query =&amp;gt; &amp;#39;{  # query可不填写&#xA;    &amp;#34;query&amp;#34;: {&#xA;      &amp;#34;match_all&amp;#34;: {}&#xA;      }&#xA;    }&amp;#39;&#xA;  }&#xA;}&#xA; &#xA;output {&#xA;  csv {&#xA;    fields =&amp;gt; [&amp;#34;@message&amp;#34;]&#xA;    path =&amp;gt; &amp;#34;/tmp/csv-export.csv&amp;#34;&#xA;  }&#xA;}&lt;/code&gt;&lt;/pre&gt;&lt;h1 class=&#34;heading-element&#34; id=&#34;es2file&#34;&gt;&lt;span&gt;es2file&lt;/span&gt;&#xA;  &lt;a href=&#34;#es2file&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h1&gt;&lt;pre&gt;&lt;code&gt;input {&#xA; elasticsearch {&#xA;    hosts =&amp;gt; &amp;#34;localhost:9200&amp;#34;&#xA;    index =&amp;gt; &amp;#34;kibana_sample_data_ecommerce&amp;#34;&#xA;&#x9;user =&amp;gt; &amp;#34;elastic&amp;#34;&#xA;&#x9;password =&amp;gt; &amp;#34;password&amp;#34;&#xA;    query =&amp;gt; &amp;#39;{  &#xA;    &amp;#34;query&amp;#34;: {&#xA;      &amp;#34;match_all&amp;#34;: {}&#xA;      }&#xA;    }&amp;#39;&#xA;  }&#xA;}&#xA; &#xA;output {&#xA;  file {&#xA;    path =&amp;gt; &amp;#34;/tmp/csv-export.txt&amp;#34;&#xA;&#x9;codec =&amp;gt; line { format =&amp;gt; &amp;#34;%{@message}&amp;#34; }&#xA;  }&#xA;}&lt;/code&gt;&lt;/pre&gt;&lt;h1 class=&#34;heading-element&#34; id=&#34;启动命令&#34;&gt;&lt;span&gt;启动命令&lt;/span&gt;&#xA;  &lt;a href=&#34;#%e5%90%af%e5%8a%a8%e5%91%bd%e4%bb%a4&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h1&gt;&lt;pre&gt;&lt;code&gt;/app/logstash/bin/logstash -f /app/logstash/config/esTocsv.conf&lt;/code&gt;&lt;/pre&gt;</description>
    </item>
    <item>
      <title>Redis 生产环境主从架构配置参考</title>
      <link>https://blog.mulinux.com/en/redis-config/</link>
      <pubDate>Mon, 08 Feb 2021 15:59:42 +0800</pubDate>
      <guid>https://blog.mulinux.com/en/redis-config/</guid>
      <category domain="https://blog.mulinux.com/en/categories/operations/">Operations</category>
      <description>&lt;h1 class=&#34;heading-element&#34; id=&#34;prod-xxxx-redis&#34;&gt;&lt;span&gt;prod xxxx redis&lt;/span&gt;&#xA;  &lt;a href=&#34;#prod-xxxx-redis&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h1&gt;&lt;blockquote&gt;&#xA;&lt;p&gt;这是一份基于生产环境的主从 Redis 配置脱敏留档。供部署搭建时参考。&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;master-redisconf&#34;&gt;&lt;span&gt;master redis.conf&lt;/span&gt;&#xA;  &lt;a href=&#34;#master-redisconf&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;bind 127.0.0.1 192.168.1.112&#xA;protected-mode yes&#xA;port 8888&#xA;tcp-backlog 2048&#xA;timeout 0&#xA;tcp-keepalive 300&#xA;daemonize yes&#xA;supervised no&#xA;pidfile /usr/local/redis/run/redis.pid&#xA;loglevel notice&#xA;logfile /usr/local/redis/log/redis.log&#xA;databases 16&#xA;always-show-logo yes&#xA;save &amp;#34;&amp;#34;&#xA;stop-writes-on-bgsave-error no&#xA;rdbcompression yes&#xA;rdbchecksum yes&#xA;dbfilename dump.rdb&#xA;dir /mds/redis&#xA;repl-diskless-sync no&#xA;repl-diskless-sync-delay 5&#xA;repl-disable-tcp-nodelay no&#xA;lazyfree-lazy-eviction no&#xA;lazyfree-lazy-expire no&#xA;lazyfree-lazy-server-del no&#xA;appendonly no&#xA;appendfilename &amp;#34;appendonly.aof&amp;#34;&#xA;appendfsync everysec&#xA;no-appendfsync-on-rewrite no&#xA;auto-aof-rewrite-percentage 100&#xA;auto-aof-rewrite-min-size 64mb&#xA;aof-load-truncated yes&#xA;aof-use-rdb-preamble no&#xA;lua-time-limit 5000&#xA;slowlog-log-slower-than 10000&#xA;slowlog-max-len 128&#xA;latency-monitor-threshold 0&#xA;notify-keyspace-events &amp;#34;&amp;#34;&#xA;hash-max-ziplist-entries 512&#xA;hash-max-ziplist-value 64&#xA;list-max-ziplist-size -2&#xA;list-compress-depth 0&#xA;set-max-intset-entries 512&#xA;zset-max-ziplist-entries 128&#xA;zset-max-ziplist-value 64&#xA;hll-sparse-max-bytes 3000&#xA;stream-node-max-bytes 4096&#xA;stream-node-max-entries 100&#xA;activerehashing yes&#xA;client-output-buffer-limit normal 0 0 0&#xA;client-output-buffer-limit replica 0 0 0&#xA;client-output-buffer-limit pubsub 0 0 0&#xA;hz 10&#xA;dynamic-hz yes&#xA;aof-rewrite-incremental-fsync yes&#xA;rdb-save-incremental-fsync yes&#xA;maxmemory 0&#xA;# BEGIN 20200909 ALTERATION&#xA;requirepass password&#xA;# END 20200909 ALTERATION&lt;/code&gt;&lt;/pre&gt;&lt;h2 class=&#34;heading-element&#34; id=&#34;slave-redisconf&#34;&gt;&lt;span&gt;slave redis.conf&lt;/span&gt;&#xA;  &lt;a href=&#34;#slave-redisconf&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;bind 127.0.0.1 192.168.1.111&#xA;protected-mode yes&#xA;port 8888&#xA;tcp-backlog 2048&#xA;timeout 0&#xA;tcp-keepalive 300&#xA;daemonize yes&#xA;supervised no&#xA;pidfile /usr/local/redis/run/redis.pid&#xA;loglevel notice&#xA;logfile /usr/local/redis/log/redis.log&#xA;databases 16&#xA;always-show-logo yes&#xA;save &amp;#34;&amp;#34;&#xA;stop-writes-on-bgsave-error no&#xA;rdbcompression yes&#xA;rdbchecksum yes&#xA;dbfilename dump.rdb&#xA;dir /mds/redis&#xA;replica-serve-stale-data yes&#xA;replica-read-only yes&#xA;replicaof 192.168.1.112 9264&#xA;replica-priority 100&#xA;replica-lazy-flush yes&#xA;repl-diskless-sync no&#xA;repl-diskless-sync-delay 5&#xA;repl-disable-tcp-nodelay no&#xA;lazyfree-lazy-eviction no&#xA;lazyfree-lazy-expire no&#xA;lazyfree-lazy-server-del no&#xA;appendonly no&#xA;appendfilename &amp;#34;appendonly.aof&amp;#34;&#xA;appendfsync everysec&#xA;no-appendfsync-on-rewrite no&#xA;auto-aof-rewrite-percentage 100&#xA;auto-aof-rewrite-min-size 64mb&#xA;aof-load-truncated yes&#xA;aof-use-rdb-preamble no&#xA;lua-time-limit 5000&#xA;slowlog-log-slower-than 10000&#xA;slowlog-max-len 128&#xA;latency-monitor-threshold 0&#xA;notify-keyspace-events &amp;#34;&amp;#34;&#xA;hash-max-ziplist-entries 512&#xA;hash-max-ziplist-value 64&#xA;list-max-ziplist-size -2&#xA;list-compress-depth 0&#xA;set-max-intset-entries 512&#xA;zset-max-ziplist-entries 128&#xA;zset-max-ziplist-value 64&#xA;hll-sparse-max-bytes 3000&#xA;stream-node-max-bytes 4096&#xA;stream-node-max-entries 100&#xA;activerehashing yes&#xA;client-output-buffer-limit normal 0 0 0&#xA;client-output-buffer-limit replica 0 0 0&#xA;client-output-buffer-limit pubsub 0 0 0&#xA;hz 10&#xA;dynamic-hz yes&#xA;aof-rewrite-incremental-fsync yes&#xA;rdb-save-incremental-fsync yes&#xA;maxmemory 0&#xA;# BEGIN 20200909 ALTERATION&#xA;requirepass password&#xA;masterauth password&#xA;# END 20200909 ALTERATION&lt;/code&gt;&lt;/pre&gt;</description>
    </item>
    <item>
      <title>Windows Find Software</title>
      <link>https://blog.mulinux.com/en/windows-find-software/</link>
      <pubDate>Fri, 05 Feb 2021 14:11:42 +0800</pubDate>
      <guid>https://blog.mulinux.com/en/windows-find-software/</guid>
      <category domain="https://blog.mulinux.com/en/categories/windows/">Windows</category>
      <description>&lt;h1 class=&#34;heading-element&#34; id=&#34;查找windows是否安装某个软件&#34;&gt;&lt;span&gt;查找windows是否安装某个软件&lt;/span&gt;&#xA;  &lt;a href=&#34;#%e6%9f%a5%e6%89%bewindows%e6%98%af%e5%90%a6%e5%ae%89%e8%a3%85%e6%9f%90%e4%b8%aa%e8%bd%af%e4%bb%b6&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h1&gt;&lt;h2 class=&#34;heading-element&#34; id=&#34;通过服务查找&#34;&gt;&lt;span&gt;通过服务查找&lt;/span&gt;&#xA;  &lt;a href=&#34;#%e9%80%9a%e8%bf%87%e6%9c%8d%e5%8a%a1%e6%9f%a5%e6%89%be&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;h3 class=&#34;heading-element&#34; id=&#34;powershell&#34;&gt;&lt;span&gt;powershell&lt;/span&gt;&#xA;  &lt;a href=&#34;#powershell&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;pre&gt;&lt;code&gt;Get-WmiObject -class Win32_Product |Select-Object -Property name,version&lt;/code&gt;&lt;/pre&gt;&lt;h3 class=&#34;heading-element&#34; id=&#34;批处理&#34;&gt;&lt;span&gt;批处理&lt;/span&gt;&#xA;  &lt;a href=&#34;#%e6%89%b9%e5%a4%84%e7%90%86&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;pre&gt;&lt;code&gt;reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\|find /i &amp;#34;sogou input&amp;#34;&lt;/code&gt;&lt;/pre&gt;&lt;h2 class=&#34;heading-element&#34; id=&#34;通过路径名称匹配&#34;&gt;&lt;span&gt;通过路径名称匹配&lt;/span&gt;&#xA;  &lt;a href=&#34;#%e9%80%9a%e8%bf%87%e8%b7%af%e5%be%84%e5%90%8d%e7%a7%b0%e5%8c%b9%e9%85%8d&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;Get-ChildItem C:\ProgramData\Microsoft\Windows\\&amp;#39;Start Menu\&amp;#39;\Programs\ -Filter *Premium*&amp;#34;&#xA;Get-ChildItem C:\\&amp;#39;Program Files\&amp;#39; -Filter *Premium*&amp;#34;&#xA;Get-ChildItem C:\\&amp;#39;Program Files (x86)\&amp;#39; -Filter *Premium*&amp;#34;&lt;/code&gt;&lt;/pre&gt;</description>
    </item>
    <item>
      <title>Zabbix监控断线，proxy日志提示Connection Restored </title>
      <link>https://blog.mulinux.com/en/zabbixproxy-connection-restored-nf_conntrack-tablefull/</link>
      <pubDate>Thu, 14 Jan 2021 11:14:03 +0800</pubDate>
      <guid>https://blog.mulinux.com/en/zabbixproxy-connection-restored-nf_conntrack-tablefull/</guid>
      <category domain="https://blog.mulinux.com/en/categories/monitor/">Monitor</category>
      <description>&lt;h2 class=&#34;heading-element&#34; id=&#34;问题说明&#34;&gt;&lt;span&gt;问题说明&lt;/span&gt;&#xA;  &lt;a href=&#34;#%e9%97%ae%e9%a2%98%e8%af%b4%e6%98%8e&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;zabbix监控数据出现断线&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;zabbixproxy日志&#34;&gt;&lt;span&gt;zabbixproxy日志&lt;/span&gt;&#xA;  &lt;a href=&#34;#zabbixproxy%e6%97%a5%e5%bf%97&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt; 12250:20210114:104415.661 resuming Zabbix agent checks on host &amp;#34;hostname&amp;#34;: connection restored&lt;/code&gt;&lt;/pre&gt;&lt;h2 class=&#34;heading-element&#34; id=&#34;系统日志&#34;&gt;&lt;span&gt;系统日志&lt;/span&gt;&#xA;  &lt;a href=&#34;#%e7%b3%bb%e7%bb%9f%e6%97%a5%e5%bf%97&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;Jan 14 10:46:19 hostname kernel: nf_conntrack: table full, dropping packet.&lt;/code&gt;&lt;/pre&gt;&lt;h2 class=&#34;heading-element&#34; id=&#34;解决&#34;&gt;&lt;span&gt;解决&lt;/span&gt;&#xA;  &lt;a href=&#34;#%e8%a7%a3%e5%86%b3&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;从日志上可看到，nf_conntrack设置的值不够大，导致包被丢弃，proxy与agent间歇性的断开重连，可进行系统配置调整进行解决，在&lt;code&gt;/etc/sysctl.conf&lt;/code&gt;上增加以下配置。&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;# nf_conntrack&#xA;net.nf_conntrack_max = 655360&#xA;net.netfilter.nf_conntrack_tcp_timeout_established = 1200&lt;/code&gt;&lt;/pre&gt;</description>
    </item>
    <item>
      <title>容器化部署Wordpress</title>
      <link>https://blog.mulinux.com/en/docker-compose-wordpress/</link>
      <pubDate>Wed, 23 Dec 2020 13:30:28 +0800</pubDate>
      <guid>https://blog.mulinux.com/en/docker-compose-wordpress/</guid>
      <category domain="https://blog.mulinux.com/en/categories/k8s/">K8S</category>
      <description>&lt;h2 class=&#34;heading-element&#34; id=&#34;install-docker-and-docker-compose&#34;&gt;&lt;span&gt;Install docker and docker-compose&lt;/span&gt;&#xA;  &lt;a href=&#34;#install-docker-and-docker-compose&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;wget http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo&#xA;yum install docker-ce -y&#xA;systemctl start docker&#xA;systemctl enable docker&#xA;curl -L &amp;#34;https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)&amp;#34; -o /usr/local/bin/docker-compose&#xA;ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose&lt;/code&gt;&lt;/pre&gt;&lt;h2 class=&#34;heading-element&#34; id=&#34;deploy-wordpress-using-official-examples&#34;&gt;&lt;span&gt;Deploy wordpress using official examples&lt;/span&gt;&#xA;  &lt;a href=&#34;#deploy-wordpress-using-official-examples&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;h3 class=&#34;heading-element&#34; id=&#34;create-wordpress-directory&#34;&gt;&lt;span&gt;Create wordpress directory&lt;/span&gt;&#xA;  &lt;a href=&#34;#create-wordpress-directory&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;pre&gt;&lt;code&gt;mkdir wordpress&#xA;cd wordpress/&lt;/code&gt;&lt;/pre&gt;&lt;h3 class=&#34;heading-element&#34; id=&#34;create-docker-compose-file&#34;&gt;&lt;span&gt;Create docker-compose file&lt;/span&gt;&#xA;  &lt;a href=&#34;#create-docker-compose-file&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;p&gt;vi docker-compose.yml&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;version: &amp;#39;3.3&amp;#39;&#xA;&#xA;services:&#xA;   db:&#xA;     image: mysql:5.7&#xA;     volumes:&#xA;       - db_data:/var/lib/mysql&#xA;     restart: always&#xA;     environment:&#xA;       MYSQL_ROOT_PASSWORD: password&#xA;       MYSQL_DATABASE: wordpress&#xA;       MYSQL_USER: wordpress&#xA;       MYSQL_PASSWORD: wordpress&#xA;&#xA;   wordpress:&#xA;     depends_on:&#xA;       - db&#xA;     image: wordpress:latest&#xA;     ports:&#xA;       - &amp;#34;8000:80&amp;#34;&#xA;     restart: always&#xA;     environment:&#xA;       WORDPRESS_DB_HOST: db:3306&#xA;       WORDPRESS_DB_USER: wordpress&#xA;       WORDPRESS_DB_PASSWORD: wordpress&#xA;       WORDPRESS_DB_NAME: wordpress&#xA;volumes:&#xA;    db_data: {}&lt;/code&gt;&lt;/pre&gt;&lt;h3 class=&#34;heading-element&#34; id=&#34;start-docker-compose&#34;&gt;&lt;span&gt;Start docker-compose&lt;/span&gt;&#xA;  &lt;a href=&#34;#start-docker-compose&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;p&gt;&lt;code&gt;docker-compose up -d&lt;/code&gt;&lt;/p&gt;&#xA;&lt;h3 class=&#34;heading-element&#34; id=&#34;visit-wordpress-and-install-it&#34;&gt;&lt;span&gt;Visit wordpress and install it&lt;/span&gt;&#xA;  &lt;a href=&#34;#visit-wordpress-and-install-it&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;p&gt;&lt;code&gt;http://192.168.122.87:8000/&lt;/code&gt;&lt;/p&gt;&#xA;&lt;h3 class=&#34;heading-element&#34; id=&#34;refer-to&#34;&gt;&lt;span&gt;refer to&lt;/span&gt;&#xA;  &lt;a href=&#34;#refer-to&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;pre&gt;&lt;code&gt;https://docs.docker.com/compose/wordpress/&#xA;https://github.com/docker-library/mysql&#xA;https://github.com/docker-library/wordpress&lt;/code&gt;&lt;/pre&gt;</description>
    </item>
    <item>
      <title>Kvm Windows时间异常问题</title>
      <link>https://blog.mulinux.com/en/kvm-windows%E6%97%B6%E9%97%B4%E5%BC%82%E5%B8%B8%E9%97%AE%E9%A2%98/</link>
      <pubDate>Wed, 16 Dec 2020 11:23:23 +0800</pubDate>
      <guid>https://blog.mulinux.com/en/kvm-windows%E6%97%B6%E9%97%B4%E5%BC%82%E5%B8%B8%E9%97%AE%E9%A2%98/</guid>
      <category domain="https://blog.mulinux.com/en/categories/operations/">Operations</category>
      <description>&lt;h2 class=&#34;heading-element&#34; id=&#34;kvm-xml配置&#34;&gt;&lt;span&gt;KVM xml配置&lt;/span&gt;&#xA;  &lt;a href=&#34;#kvm-xml%e9%85%8d%e7%bd%ae&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;clock offset=&amp;#39;localtime&amp;#39;&amp;gt;&#xA;  &amp;lt;timer name=&amp;#39;rtc&amp;#39; tickpolicy=&amp;#39;catchup&amp;#39; track=&amp;#39;guest&amp;#39;/&amp;gt;&#xA;  &amp;lt;timer name=&amp;#39;pit&amp;#39; tickpolicy=&amp;#39;delay&amp;#39;/&amp;gt;&#xA;  &amp;lt;timer name=&amp;#39;hpet&amp;#39; present=&amp;#39;no&amp;#39;/&amp;gt;&#xA;&amp;lt;/clock&amp;gt;&#xA;&#xA;or&#xA;&#xA;&amp;lt;clock offset=&amp;#39;timezone&amp;#39; timezone=&amp;#39;Asia/Shanghai&amp;#39;/&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 class=&#34;heading-element&#34; id=&#34;windows服务器配置&#34;&gt;&lt;span&gt;Windows服务器配置&lt;/span&gt;&#xA;  &lt;a href=&#34;#windows%e6%9c%8d%e5%8a%a1%e5%99%a8%e9%85%8d%e7%bd%ae&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;bcdedit /set USEPLATFORMCLOCK on #设置&#xA;bcdedit /enum #查看是否生效&#xA;bcdedit / deletevalue useplatformclock #取消配置&lt;/code&gt;&lt;/pre&gt;</description>
    </item>
    <item>
      <title>Nginx 代理示例</title>
      <link>https://blog.mulinux.com/en/nginx-proxy/</link>
      <pubDate>Tue, 24 Nov 2020 10:22:53 +0800</pubDate>
      <guid>https://blog.mulinux.com/en/nginx-proxy/</guid>
      <category domain="https://blog.mulinux.com/en/categories/operations/">Operations</category>
      <description>&lt;h2 class=&#34;heading-element&#34; id=&#34;stream代理&#34;&gt;&lt;span&gt;stream代理&lt;/span&gt;&#xA;  &lt;a href=&#34;#stream%e4%bb%a3%e7%90%86&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;本地80代理到192.168.0.111:8081&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;stream {&#xA;    server {&#xA;        listen 80;&#xA;        proxy_pass shterm;&#xA;    }&#xA;&#xA;    upstream shterm {&#xA;        server 192.168.0.111:8081;&#xA;    }&#xA;&#xA;}&lt;/code&gt;&lt;/pre&gt;&lt;h2 class=&#34;heading-element&#34; id=&#34;https-ssl-代理示例&#34;&gt;&lt;span&gt;https ssl 代理示例&lt;/span&gt;&#xA;  &lt;a href=&#34;#https-ssl-%e4%bb%a3%e7%90%86%e7%a4%ba%e4%be%8b&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;将本地443代理到test.mulinux.com:8080&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;#http {&#xA;#    upstream test.mulinux.com {&#xA;#        server test.mulinux.com:8080;&#xA;#   }&#xA;&#xA;    server {&#xA;        listen      443 ssl;&#xA;        server_name test.mulinux.com;&#xA;&#xA;        ssl_certificate        /mds/nginx/cert/server.crt;&#xA;        ssl_certificate_key    /mds/nginx/cert/server.key;&#xA;        #ssl_client_certificate /etc/ssl/certs/ca.crt;&#xA;        ssl_verify_client      off;&#xA;&#xA;        location / {&#xA;            proxy_pass https://test.mulinux.com:8080/;&#xA;            proxy_redirect off;&#xA;        }&#xA;    }&#xA;}&lt;/code&gt;&lt;/pre&gt;&lt;h2 class=&#34;heading-element&#34; id=&#34;proxy_pass--upstream&#34;&gt;&lt;span&gt;proxy_pass + upstream&lt;/span&gt;&#xA;  &lt;a href=&#34;#proxy_pass--upstream&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;http {&#xA;   upstream mulinux_com {&#xA;       server blog.mulinux.com;&#xA;       server www.mulinux.com;&#xA;   }&#xA;&#xA;   server {&#xA;        listen       8080;&#xA;        listen [::]:8081 ipv6only=on;&#xA;        listen       8080 ssl;&#xA;        listen [::]:8081 ssl ;&#xA;        server_name  localhost;&#xA;&#xA;            proxy_set_header Host $host;&#xA;            proxy_set_header X-Real-IP $remote_addr;&#xA;            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;&#xA;&#xA;&#xA;        ssl_certificate /usr/local/nginx/cert/mulinux.crt;&#xA;        ssl_certificate_key /usr/local/nginx/cert/mulinux.key;&#xA;        ssl_session_cache    shared:SSL:1m;&#xA;        ssl_session_timeout  5m;&#xA;&#xA;        ssl_ciphers  HIGH:!aNULL:!MD5;&#xA;        ssl_prefer_server_ciphers  on;&#xA;&#xA;        location / {&#xA;           proxy_pass http://mulinux_com;&#xA;        }&#xA;    }&#xA;}&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;参考: &lt;a href=&#34;https://docs.nginx.com/nginx/admin-guide/security-controls/securing-http-traffic-upstream/&#34; target=&#34;_blank&#34; rel=&#34;external nofollow noopener noreferrer&#34;&gt;https://docs.nginx.com/nginx/admin-guide/security-controls/securing-http-traffic-upstream/&lt;/a&gt;&lt;/p&gt;&#xA;</description>
    </item>
  </channel>
</rss>
