<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>sixdian</title>
    <link>https://sixdian.com/</link>
    <description>Recent content on sixdian</description>
    <image>
      <title>sixdian</title>
      <url>https://sixdian.com/image/150x150.webp</url>
      <link>https://sixdian.com/image/150x150.webp</link>
    </image>
    <generator>Hugo -- 0.154.0</generator>
    <language>zh-CN</language>
    <lastBuildDate>Mon, 01 Sep 2025 18:30:17 +0800</lastBuildDate>
    <atom:link href="https://sixdian.com/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>利用 Docker 搭建 AdGuard Home</title>
      <link>https://sixdian.com/post/adguardhome/</link>
      <pubDate>Mon, 01 Sep 2025 18:30:17 +0800</pubDate>
      <guid>https://sixdian.com/post/adguardhome/</guid>
      <description>&lt;p&gt;AdGuard Home 是一款广告拦截和追踪工具。将它作为 DNS 服务器运行，并根据需求配置自定义规则后，可将特定域名（如：广告、弹窗、影片、文字、横幅、跟踪、恶意或钓鱼网站等）重新路由到“黑洞”，从而阻止您的设备连接到这些服务器，且无需在设备上安装任何客户端软件。&lt;/p&gt;
&lt;p&gt;下面介绍用 Docker Compose 方式在 VPS 上搭建及设置 AdGuard Home ：&lt;/p&gt;
&lt;h2 id=&#34;新建-adguard-home-目录&#34;&gt;新建 AdGuard Home 目录&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mkdir adguardhome
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cd adguardhome
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mkdir work conf
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;创建-docker-composeyml-文件&#34;&gt;创建 docker-compose.yml 文件&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;services:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  adguardhome:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    image: adguard/adguardhome
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    container_name: adguardhome
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    restart: unless-stopped
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    ports:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - &amp;#34;53:53/tcp&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - &amp;#34;53:53/udp&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - &amp;#34;3000:3000/tcp&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    volumes:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - ./work:/opt/adguardhome/work
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - ./conf:/opt/adguardhome/conf
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    environment:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      TZ: Asia/Shanghai
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;启动-adguardhome-容器&#34;&gt;启动 adguardhome 容器&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;docker compose up -d
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;此时在浏览器输入 VPS 的 IP 地址 + 端口（以上配置文件端口为 3000 ）即可进入 AdGuard Home 主页
&lt;figure&gt;
    &lt;img loading=&#34;lazy&#34; src=&#34;https://sixdian.com/image/adguardhome/1.webp&#34; width=&#34;100%&#34;/&gt; 
&lt;/figure&gt;
&lt;/p&gt;</description>
    </item>
    <item>
      <title>使用 Watchtower 自动更新 Docker 容器</title>
      <link>https://sixdian.com/post/watchtower/</link>
      <pubDate>Fri, 29 Aug 2025 11:19:20 +0800</pubDate>
      <guid>https://sixdian.com/post/watchtower/</guid>
      <description>&lt;p&gt;Watchtower 是一款开源工具，专为 Docker 平台设计。它可以监控正在运行中的 Docker 容器，并监视这些容器是否有新版本可用。如果 Watchtower 检测到镜像发布了新版本，它将自动拉取新镜像并使用相同的选项重启容器。从而简化了容器维护的流程，减少手动干预。&lt;/p&gt;
&lt;p&gt;使用 Docker Compose 部署 Watchtower 是推荐且灵活的方式，它能更好的管理容器配置。&lt;/p&gt;
&lt;h2 id=&#34;docker-compose-部署-watchtower-操作步骤&#34;&gt;Docker Compose 部署 Watchtower 操作步骤&lt;/h2&gt;
&lt;h3 id=&#34;创建-docker-compose-文件&#34;&gt;创建 Docker Compose 文件&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mkdir docker-compose.yml
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;编辑-docker-composeyml-文件&#34;&gt;编辑 docker-compose.yml 文件&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-gdscript3&#34; data-lang=&#34;gdscript3&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    services:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      watchtower:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        image: nickfedor&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;watchtower &lt;span style=&#34;color:#75715e&#34;&gt;# 指定Watchtower镜像版本&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        container_name: watchtower   &lt;span style=&#34;color:#75715e&#34;&gt;# 定义容器名称&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        volumes:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;var&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;run&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;docker&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;sock:&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;var&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;run&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;docker&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;sock &lt;span style=&#34;color:#75715e&#34;&gt;# 挂载Docker Socket，使Watchtower能与Docker守护进程通信&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        environment:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;TZ=Asia/Shanghai&amp;#39;&lt;/span&gt;               &lt;span style=&#34;color:#75715e&#34;&gt;# 设置时区，例如：Asia/Shanghai&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;WATCHTOWER_POLL_INTERVAL=86400&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#75715e&#34;&gt;# 设置轮询间隔，单位秒。默认为86400秒（24小时）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;WATCHTOWER_CLEANUP=true&amp;#39;&lt;/span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# 更新后自动删除旧镜像，可选&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;WATCHTOWER_NOTIFICATIONS=email&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#75715e&#34;&gt;# 配置通知方式，例如：email, slack, discord等&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;WATCHTOWER_NOTIFICATION_EMAIL_FROM=sender@example.com&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#75715e&#34;&gt;# 设置发送电子邮件地址&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;WATCHTOWER_NOTIFICATION_EMAIL_TO=recipient@example.com&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#75715e&#34;&gt;# 设置接收电子邮件地址&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;WATCHTOWER_NOTIFICATION_EMAIL_SERVER=smtp.example.com&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#75715e&#34;&gt;# 设置发送电子邮件服务器&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT=587&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#75715e&#34;&gt;# 设置发送电子邮件服务器端口&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;WATCHTOWER_NOTIFICATION_EMAIL_SERVER_USER=user&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#75715e&#34;&gt;# 设置邮件服务器用户名&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD=password&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#75715e&#34;&gt;# 设置邮件服务器密码&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        restart: unless&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;stopped              &lt;span style=&#34;color:#75715e&#34;&gt;# 设置容器重启策略，除非手动停止，否则自动重启&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        command: &lt;span style=&#34;color:#f92672&#34;&gt;--&lt;/span&gt;schedule &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;0 0 3 * * ?&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;--&lt;/span&gt;cleanup nginx hysteria &lt;span style=&#34;color:#75715e&#34;&gt;# 定时任务：每天凌晨3点执行更新并删除旧镜像&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;更多配置选项：&lt;/p&gt;</description>
    </item>
    <item>
      <title>Nginx、Hysteria 的 Docker 部署实践</title>
      <link>https://sixdian.com/post/nginx-hysteria-docker/</link>
      <pubDate>Thu, 28 Aug 2025 10:18:28 +0800</pubDate>
      <guid>https://sixdian.com/post/nginx-hysteria-docker/</guid>
      <description>&lt;h2 id=&#34;docker-部署-nginx&#34;&gt;Docker 部署 Nginx&lt;/h2&gt;
&lt;h3 id=&#34;安装-docker-engine&#34;&gt;安装 Docker Engine&lt;/h3&gt;
&lt;h4 id=&#34;设置-docker-的-apt存储库&#34;&gt;设置 Docker 的 apt存储库&lt;/h4&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-gdscript3&#34; data-lang=&#34;gdscript3&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Add Docker&amp;#39;s official GPG key:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;get update
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;get install ca&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;certificates curl
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo install &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;m &lt;span style=&#34;color:#ae81ff&#34;&gt;0755&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;d &lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;etc&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;apt&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;keyrings
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo curl &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;fsSL https:&lt;span style=&#34;color:#f92672&#34;&gt;//&lt;/span&gt;download&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;docker&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;com&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;linux&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;debian&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;gpg &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;o &lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;etc&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;apt&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;keyrings&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;docker&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;asc
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo chmod a&lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt;r &lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;etc&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;apt&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;keyrings&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;docker&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;asc
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Add the repository to Apt sources:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;echo \
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian &lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;  $(. /etc/os-release &amp;amp;&amp;amp; echo &amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;$&lt;/span&gt;VERSION_CODENAME&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;) stable&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;|&lt;/span&gt; \
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  sudo tee &lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;etc&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;apt&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;sources&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;list&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;d&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;docker&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;list &lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;dev&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;null
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;get update
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id=&#34;安装-docker-包&#34;&gt;安装 Docker 包&lt;/h4&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id=&#34;运行一个测试镜像验证安装是否成功&#34;&gt;运行一个测试镜像验证安装是否成功&lt;/h4&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo docker run hello-world
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;docker-compose-方式部署-nginx&#34;&gt;docker-compose 方式部署 Nginx&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;新建一个目录存放 docker-compose 、 nginx.conf 文件和 conf.d 文件夹&lt;/li&gt;
&lt;li&gt;在新建的目录中创建一个名为&amp;quot; docker-compose.yml &amp;ldquo;的文件，内容如下：&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;services:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  nginx:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    image: nginx:stable-alpine-perl
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    container_name: nginx
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    ports:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - &amp;#34;80:80&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - &amp;#34;443:443&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    volumes:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - ./nginx.conf:/etc/nginx/nginx.conf:ro # nginx.conf文件路径根据实际调整
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - ./conf.d:/home/sixdian/nginx/conf.d:ro # conf.d 目录路径根据实际调整
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - /home/sixdian/site/sixdian.com/public:/home/sixdian/site/sixdian.com/public:ro # 网站根目录路径根据实际调整
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - /home/sixdian/ssl:/home/sixdian/ssl:ro # ssl 证书目录路径根据实际调整
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - /etc/dhparam:/etc/dhparam:ro
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    environment:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      TZ: Asia/Shanghai
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    restart: always
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id=&#34;在-docker-composeyml-文件所在目录中执行以下命令启动服务&#34;&gt;在 docker-compose.yml 文件所在目录中执行以下命令启动服务：&lt;/h4&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;docker compose up -d
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;docker-部署-hysteria&#34;&gt;Docker 部署 Hysteria&lt;/h2&gt;
&lt;h3 id=&#34;docker-compose-方式部署-hysteria&#34;&gt;docker-compose 方式部署 Hysteria&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;新建一个目录存放 docker-compose.yml 文件和 hysteria.yaml 配置文件&lt;/li&gt;
&lt;li&gt;在新建的目录中创建一个名为&amp;rdquo; docker-compose.yml &amp;ldquo;的文件，内容如下：&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;services:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  hysteria:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    image: tobyxdd/hysteria
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    container_name: hysteria
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    restart: always
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    network_mode: &amp;#34;host&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    volumes:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - ./hysteria.yaml:/etc/hysteria.yaml:ro # hysteria.yaml 文件路径根据实际调整
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - /home/sixdian/ssl:/home/sixdian/ssl:ro # ssl 证书目录路径根据实际调整
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    environment:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      TZ: Asia/Shanghai
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    command: [&amp;#34;server&amp;#34;, &amp;#34;-c&amp;#34;, &amp;#34;/etc/hysteria.yaml&amp;#34;]
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id=&#34;在-docker-composeyml-文件所在目录中执行以下命令启动服务-1&#34;&gt;在 docker-compose.yml 文件所在目录中执行以下命令启动服务：&lt;/h4&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;docker compose up -d
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <title>最近在学习和使用的几款工具</title>
      <link>https://sixdian.com/post/software/</link>
      <pubDate>Sun, 17 Aug 2025 11:11:49 +0800</pubDate>
      <guid>https://sixdian.com/post/software/</guid>
      <description>&lt;h2 id=&#34;gimp&#34;&gt;GIMP&lt;/h2&gt;
&lt;p&gt;GIMP 是一款跨平台图像编辑器，适用于 GNU/Linux、macOS、Windows 等操作系统。&lt;/p&gt;
&lt;p&gt;无论您是平面设计师、摄影师、插画师还是科学家，GIMP 都能为您提供精良的工具，助您轻松完成工作。GIMP 提供丰富的自定义选项和第三方插件，助您进一步提升工作效率。&lt;/p&gt;
&lt;h3 id=&#34;功能特性&#34;&gt;功能特性&lt;/h3&gt;
&lt;h4 id=&#34;高品质照片处理&#34;&gt;高品质照片处理&lt;/h4&gt;
&lt;p&gt;GIMP 提供高质量图像处理所需的工具。从润饰、修复到创意合成，唯一的限制就是您的想象力。&lt;/p&gt;
&lt;h4 id=&#34;原创艺术作品创作&#34;&gt;原创艺术作品创作&lt;/h4&gt;
&lt;p&gt;GIMP 为艺术家提供了将图像转化为真正独特的创作的能力和灵活性。&lt;/p&gt;
&lt;h4 id=&#34;图形设计元素&#34;&gt;图形设计元素&lt;/h4&gt;
&lt;p&gt;GIMP 用于制作图标、图形设计元素以及用户界面组件和模型的艺术。&lt;/p&gt;
&lt;h4 id=&#34;编程算法&#34;&gt;编程算法&lt;/h4&gt;
&lt;p&gt;GIMP 是一个高质量的脚本图像处理框架，支持多种语言，如 C、C++、Perl、Python、Scheme 等！&lt;/p&gt;
&lt;h2 id=&#34;inkscape&#34;&gt;Inkscape&lt;/h2&gt;
&lt;p&gt;Inkscape是一个免费开源的矢量图形编辑软件，它适用于GUN/Linux，Windows或MacOS X系统平台。Inkscape提供了一套丰富的功能，被广泛用于艺术和技术插图中，例如：卡通，剪贴画，logo，排版，图表和流程图。不同于像素图，Inkscape使用的是矢量图，因此并不会被固定的像素所限制的，从而可以得到无限尺度清晰的打印输出和渲染。Inkscape使用标准化的SVG格式作为其主要文件格式（许多应用都支持SVG格式，包括网页浏览器）。&lt;/p&gt;
&lt;p&gt;Inkscape支持导入和导出多种文件格式，包括SVG，AI，EPS，PDF，PS和 PNG。它有着全面的功能、简单的界面，支持多种语言并被设计为可扩展的；用户可以用附加组件定制自己的Inkscape的功能。&lt;/p&gt;
&lt;h3 id=&#34;功能特性-1&#34;&gt;功能特性&lt;/h3&gt;
&lt;h4 id=&#34;对象创建&#34;&gt;对象创建&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;绘图：铅笔工具（可以手绘简单路径）、钢笔工具（创建贝塞尔曲线和直线）、书法工具（手绘，使用填充路径来代表书法笔划）&lt;/li&gt;
&lt;li&gt;形状工具：矩形（可以设置圆角）、椭圆（包括圆、弧、线段）、星形/多边形（可以是圆形和/或随机的）、螺旋&lt;/li&gt;
&lt;li&gt;文本工具（多行文本，全画布编辑）&lt;/li&gt;
&lt;li&gt;嵌入位图（可以创建和嵌入所选对象的位图）&lt;/li&gt;
&lt;li&gt;克隆（对象的“实时”链接副本），包括可以创建克隆的图样和排列的工具&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;对象操作&#34;&gt;对象操作&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;对象变换（移动、缩放、旋转、倾斜）可以以交互方式进行或指定精确数值操作&lt;/li&gt;
&lt;li&gt;Z序操作（升高和降低）&lt;/li&gt;
&lt;li&gt;对象分组（“在组中选择”而不取消分组，或“进入组”使其成为临时图层）&lt;/li&gt;
&lt;li&gt;图层（锁定和/或隐藏单个图层，重新排列它们等；层可以形成分层树）&lt;/li&gt;
&lt;li&gt;对齐和分布操作&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;填充和描边&#34;&gt;填充和描边&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;颜色选择器（RGB、HSL、CMYK、色轮、CMS）&lt;/li&gt;
&lt;li&gt;颜色选取工具&lt;/li&gt;
&lt;li&gt;样式复制/粘贴&lt;/li&gt;
&lt;li&gt;能够选择多级渐变的渐变编辑器&lt;/li&gt;
&lt;li&gt;图案填充（位图/矢量图）&lt;/li&gt;
&lt;li&gt;虚线描边，带有许多预定义的虚线样式&lt;/li&gt;
&lt;li&gt;路径标记（结尾、中间和/或开始处标记，例如箭头）&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;基于路径的操作&#34;&gt;基于路径的操作&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;节点编辑：移动节点和贝塞尔手柄，节点对齐和分布等。&lt;/li&gt;
&lt;li&gt;转换为路径（用于文本对象或形状），包括将描边转换为路径&lt;/li&gt;
&lt;li&gt;布尔运算操作&lt;/li&gt;
&lt;li&gt;路径简化（简化层度可调）&lt;/li&gt;
&lt;li&gt;路径插入和偏移，包括动态和链接的偏移对象&lt;/li&gt;
&lt;li&gt;位图（像素图）临摹（彩色和单色路径）&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;文本支持&#34;&gt;文本支持&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;多行文本&lt;/li&gt;
&lt;li&gt;使用任何已安装的轮廓字体，包括从右到左的文本&lt;/li&gt;
&lt;li&gt;字距，字母间距，行间距调整&lt;/li&gt;
&lt;li&gt;路径上的文本（文本和路径都保持可编辑）&lt;/li&gt;
&lt;li&gt;形状中的文本（用文本填充图形）&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;渲染&#34;&gt;渲染&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;完全抗锯齿显示&lt;/li&gt;
&lt;li&gt;显示和PNG导出的Alpha透明度的支持&lt;/li&gt;
&lt;li&gt;在交互式操作中瞬间完成的实时渲染&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;文件格式&#34;&gt;文件格式&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;完美兼容SVG格式文件生成和编辑&lt;/li&gt;
&lt;li&gt;在XML编辑器中实时观看和编辑文档树&lt;/li&gt;
&lt;li&gt;NG、OpenDocument Drawing、DXF、sk1、PDF、EPS和PostScript等导出格式&lt;/li&gt;
&lt;li&gt;用于导出和转换的命令行选项&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;kdenlive&#34;&gt;Kdenlive&lt;/h2&gt;
&lt;p&gt;一个自由开源的视频编辑软件，让每个人都可以制作高质量的内容，以提高媒体工具的民主化程度。应用的图形用户界面采用 C++ 和 Qt 编写，同时使用 Dan Dennedy 编写的 MLT 框架的 KDE 程序库，其依靠 FFmpeg 编解码当今现存几乎所有的音视频格式，同时承载了许多特效库，如用于视频的 Frei0r 和 Movit，以及用于音频的 LADSPA 和 SOX。&lt;/p&gt;</description>
    </item>
    <item>
      <title>股票表现</title>
      <link>https://sixdian.com/post/stock-returns/</link>
      <pubDate>Sat, 16 Aug 2025 13:12:15 +0800</pubDate>
      <guid>https://sixdian.com/post/stock-returns/</guid>
      <description>&lt;p&gt;截止2025年8月16日我的股票收益情况：
&lt;figure&gt;
    &lt;img loading=&#34;lazy&#34; src=&#34;https://sixdian.com/image/stock-returns/1.webp&#34; width=&#34;100%&#34;/&gt; 
&lt;/figure&gt;
&lt;/p&gt;</description>
    </item>
    <item>
      <title>股市牛熊风向标</title>
      <link>https://sixdian.com/post/bull-and-bear-weather-vane/</link>
      <pubDate>Sat, 16 Aug 2025 11:13:51 +0800</pubDate>
      <guid>https://sixdian.com/post/bull-and-bear-weather-vane/</guid>
      <description>&lt;h2 id=&#34;盘前关注&#34;&gt;盘前关注&lt;/h2&gt;
&lt;h3 id=&#34;股吧情绪-把握市场温度&#34;&gt;股吧情绪-把握市场温度&lt;/h3&gt;
&lt;p&gt;股吧情绪指数是以股吧社区全部内容数据为基础，7 * 24小时更新，计算分析当前股吧情绪。&lt;/p&gt;
&lt;h3 id=&#34;市场资金-真实资金动向&#34;&gt;市场资金-真实资金动向&lt;/h3&gt;
&lt;h4 id=&#34;融资融券&#34;&gt;融资融券&lt;/h4&gt;
&lt;p&gt;通常情况下，大盘融资融券余额可以用来判断大盘走势强弱，余额上升则后市倾向看多，下降则倾向看空。&lt;/p&gt;
&lt;h4 id=&#34;龙虎榜&#34;&gt;龙虎榜&lt;/h4&gt;
&lt;p&gt;龙虎榜净买入数据可帮助了解市场情绪和趋势，如果机构或游资买入较多，可能表明市场对后市较为积极，相反，如果净卖出较多，则可能预示着市场对后市较为消极&lt;/p&gt;
&lt;h4 id=&#34;限售解禁&#34;&gt;限售解禁&lt;/h4&gt;
&lt;p&gt;解禁是指原本流通受限的股票被允许上市交易，解禁的股票通常成本较低，因此即将解禁的股票市值越高，市场面临的抛售压力越大。&lt;/p&gt;
&lt;h2 id=&#34;盘面解析&#34;&gt;盘面解析&lt;/h2&gt;
&lt;h3 id=&#34;涨跌统计&#34;&gt;涨跌统计&lt;/h3&gt;
&lt;h3 id=&#34;成交分析&#34;&gt;成交分析&lt;/h3&gt;
&lt;h3 id=&#34;强势追踪&#34;&gt;强势追踪&lt;/h3&gt;
&lt;h4 id=&#34;强势题材&#34;&gt;强势题材&lt;/h4&gt;
&lt;h4 id=&#34;涨停家数&#34;&gt;涨停家数&lt;/h4&gt;
&lt;h3 id=&#34;市场风格&#34;&gt;市场风格&lt;/h3&gt;
&lt;h3 id=&#34;港股通南向&#34;&gt;港股通（南向）&lt;/h3&gt;
&lt;h2 id=&#34;深度复盘&#34;&gt;深度复盘&lt;/h2&gt;
&lt;h3 id=&#34;阶段统计-个股近期表现统计时剔除上市时间小于1年的股票&#34;&gt;阶段统计-个股近期表现（统计时剔除上市时间小于1年的股票）&lt;/h3&gt;
&lt;h3 id=&#34;板块分析-热门赛道解析&#34;&gt;板块分析-热门赛道解析&lt;/h3&gt;
&lt;h4 id=&#34;业绩与涨幅&#34;&gt;业绩与涨幅&lt;/h4&gt;
&lt;p&gt;板块长期涨幅与业绩景气度通常成正相关关系，二者的匹配值数字为正时，说明板块涨幅未完全反映业绩预期；反之则说明板块可能存在透支未来业绩上涨的情况。&lt;/p&gt;
&lt;h4 id=&#34;成交拥挤度&#34;&gt;成交拥挤度&lt;/h4&gt;
&lt;p&gt;板块换手率高，说明市场上的资金在该板块集中且活跃地交易，此时需要关注板块行情的持续性，警惕交易过热；反之，在成交平淡的板块中可能存在投资机会。&lt;/p&gt;
&lt;h3 id=&#34;期指多空-指数涨跌方向&#34;&gt;期指多空-指数涨跌方向&lt;/h3&gt;
&lt;p&gt;期货市场相比于现货市场，具有可T+0交易，杠杆交易比例高等灵活性；主力机构对于股指期货的多空持仓变动往往对股票市场的未来走势具有预示作用。&lt;/p&gt;
&lt;h3 id=&#34;货币风向-宏观流动性情况&#34;&gt;货币风向-宏观流动性情况&lt;/h3&gt;
&lt;h4 id=&#34;逆回购&#34;&gt;逆回购&lt;/h4&gt;
&lt;p&gt;逆回购是央行向市场上投放流动性的操作，可以促进流动性并调节利率。净投放为正则利好，净投放为负则利空。&lt;/p&gt;
&lt;h4 id=&#34;美元人民币&#34;&gt;美元/人民币&lt;/h4&gt;
&lt;p&gt;人民币汇率变化，会导致外资配置人民币资产的意愿发生变化，如果人民币升值，会有外资流入，因此会对股市有积极影响。&lt;/p&gt;
&lt;h4 id=&#34;10年期国债收益率&#34;&gt;10年期国债收益率&lt;/h4&gt;
&lt;p&gt;10年期国债收益率代表着国内长期资金的流动性状态，收益率较低说处于流动性宽松的阶段，收益率较高说明处于流动性收紧的阶段。&lt;/p&gt;
&lt;h3 id=&#34;市场增量-新增资金及占用&#34;&gt;市场增量-新增资金及占用&lt;/h3&gt;
&lt;h4 id=&#34;新增投资者&#34;&gt;新增投资者&lt;/h4&gt;
&lt;p&gt;新增投资者是股市资金池中新加入的“活水”，它反映了近期市场对小白投资者的“吸睛”程度，新增投资者数量急剧增加时，市场波动性往往更高。&lt;/p&gt;
&lt;h4 id=&#34;ipo-募资&#34;&gt;IPO 募资&lt;/h4&gt;
&lt;p&gt;在当前的新股申购机制下，IPO 募资金额较高时，市场资金会被占用，对股市表现有一定程度的负面影响。&lt;/p&gt;
&lt;h3 id=&#34;估值分析-市场基本面概览&#34;&gt;估值分析-市场基本面概览&lt;/h3&gt;
&lt;h4 id=&#34;市盈率-ttm&#34;&gt;市盈率 TTM&lt;/h4&gt;
&lt;p&gt;市场整体估值水平越低，意味着股市未来的投资价值越高。通常当市场下跌时，投资风险偏好下降，对于估值水平的关注度也会更高。&lt;/p&gt;
&lt;h4 id=&#34;市净率-mrq&#34;&gt;市净率 MRQ&lt;/h4&gt;
&lt;h4 id=&#34;总市值gdp&#34;&gt;总市值/GDP&lt;/h4&gt;
&lt;p&gt;股市总市值与 GDP 之比是评价市场估值的著名指标之一，也被称作巴菲特指标；通常认为该比值低于0.7~0.8时，股票市场相对低估，存在投资机会。&lt;/p&gt;
&lt;h3 id=&#34;股债性价比-股票相较债券的配置价值&#34;&gt;股债性价比-股票相较债券的配置价值&lt;/h3&gt;
&lt;p&gt;股债性价比通过比较股票预期收益率与债券无风险收益率，指导投资者合理分配股市、债市资产的仓位。一般来说，股债利差越高，代表股票的投资性价比越高，可适当提高股票类资产占比。&lt;/p&gt;</description>
    </item>
    <item>
      <title>股票指标说明</title>
      <link>https://sixdian.com/post/indicator-description/</link>
      <pubDate>Tue, 22 Jul 2025 13:27:31 +0800</pubDate>
      <guid>https://sixdian.com/post/indicator-description/</guid>
      <description>&lt;h2 id=&#34;基本面&#34;&gt;基本面&lt;/h2&gt;
&lt;h3 id=&#34;估值指标&#34;&gt;估值指标&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;市盈率 TTM ：市盈率是衡量股票估值情况的常用指标，通常认为市盈率数值越低，衡量对象的投资价值越高。&lt;br&gt;
算法：市盈率 TTM =指定交易日个股总市值/归属母公司股东的净利润 TTM 。&lt;/li&gt;
&lt;li&gt;市净率 MRQ ：市净率通常用于周期性行业（如金融、地产等）的估值分析，通常认为市净率数值越低，衡量对象的投资价值越高。&lt;br&gt;
算法：市净率 MRQ =总市值/（最近报告披露的归属母公司股东的权益-其它权益工具）&lt;/li&gt;
&lt;li&gt;市盈率 TTM (扣非)：使用扣除非经常性损益后的净利润计算的市盈率，可以较好的展示个股持续经营的业绩表现，排除特殊情况对业绩的干扰。&lt;br&gt;
算法：市盈率 TTM (扣非)=指定交易日个股总市值/扣除非经常性损益后的净利润 TTM&lt;/li&gt;
&lt;li&gt;市销率 TTM ：市销率常用于尚未盈利的成长型企业估值分析，通常认为市销率数值越低，衡量对象的投资价值越高。&lt;br&gt;
算法：市销率 TTM =指定交易日个股总市值/营业总收入 TTM&lt;/li&gt;
&lt;li&gt;市现率 TTM ：市现率常用于从现金流角度判断个股的估值状态，通常认为市现率数值越低，衡量对象的投资价值越高。&lt;br&gt;
算法：市现率 TTM =指定交易日个股总市值/经营活动产生的现金流量 TTM&lt;/li&gt;
&lt;li&gt;预测市盈率（今年）：每股市价为每股收益一致盈利预测值的倍数（预测年度当年）&lt;/li&gt;
&lt;li&gt;预测市盈率（明年）：每股市价为每股收益一致盈利预测值的倍数（预测年度第二年）&lt;/li&gt;
&lt;li&gt;总市值：按照个股市价和总股本计算的市值。&lt;br&gt;
算法：指定证券收盘价* 总股本 *交易币种兑人民币汇率&lt;/li&gt;
&lt;li&gt;流通市值：按照个股市价和自由流通股本计算的市值。&lt;br&gt;
算法：指定证券收盘价* 自由流通股本 *交易币种兑人民币汇率&lt;/li&gt;
&lt;li&gt;动态市盈率：&lt;br&gt;
算法：动态市盈率=总市值/归属母公司股东的净利润;(注：归属于母公司股东的净利润，取最新能获得的报告期)如果最新报告期为一季报，则动态市盈率=总市值/（归属母公司股东的净利润* 4）如果最新报告期为中报，则动态市盈率=总市值/（归属于母公司股东的净利润* 2）如果最新报告期为三季报，则动态市盈率=总市值/（归属于母公司股东的净利润* 4/3）如果最新报告期为年报，则动态市盈率=总市值/（归属于母公司股东的净利润）&lt;/li&gt;
&lt;li&gt;预测 PEG :PEG是综合考虑目标企业市盈率水平和未来盈利成长性的股票估值指标。PEG估值法克服了传统市盈率（PE）估值的局限性，通常认为 PEG 值接近1为合理估值;若 PEG值偏高，说明市场对该股票的估值高于其未来业绩成长性；若 PEG 值偏低，则反之。&lt;br&gt;
算法：预测 PEG =预测市盈率（PE）/未来一年净利润增长率（G）&lt;/li&gt;
&lt;li&gt;企业价值倍数：企业价值收益比（ EV 2/EBITDA）又称企业倍数，是企业价值（剔除货币资金）与企业收益（扣除利息、税金、折旧和摊销前的收益）的比值。企业倍数估值包含债务，从潜在收购方的角度评估公司的价值。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;每股指标&#34;&gt;每股指标&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;每股收益：每股收益是衡量上市公司盈利能力最常用的财务指标之一，此处展示上市公司定期报告中披露的基本每股收益。&lt;/li&gt;
&lt;li&gt;每股净资产：&lt;br&gt;
算法：归属母公司股东的权益（最新公告）/最新总股本&lt;/li&gt;
&lt;li&gt;每股经营现金流：上市公司定期报告披露指标。每股经营活动产生的现金流量净额反应直接从生产经营活动产生每股现金流的能力，该指标可以衡量企业现金分红的能力，比值为正数且较大时，派发现金红利的期望值就越大。&lt;br&gt;
算法：经营活动产生的现金流量净额/总股本&lt;/li&gt;
&lt;li&gt;每股自由现金流：每股自由现金流量与报告期末实收资本的比值。&lt;br&gt;
算法：股东自由现金流量/期末实收资本；&lt;br&gt;
股东自由现金流量=企业自由现金流量-偿还债务所支付的现金+取得贷款收到的现金+取得借款收到的现金+发行债券所收到的现金=[ 息前税后利润+折旧与摊销-营运资本增加-资本支出=息税前利润（1-所得税率）+（现金流量表）固定资产折旧+（现金流量表）无形资产摊销+（现金流量表长期待摊费用摊销）-营运成本增加-购建固定资产和长期资产支付的现金 ]-偿还债务所支付的现金+取得借款收到的现金+发行债券所收到的现金；&lt;br&gt;
所得税率=所得税/利润总额&lt;/li&gt;
&lt;li&gt;每股资本公积：报告期末资本公积金（资产负债表科目）与报告期末实收资本的比值。&lt;br&gt;
算法：（资产负债表）资本公积/实收资本&lt;/li&gt;
&lt;li&gt;每股未分配利润：报告期末未分配利润（资产负债表科目）与期末实收资本的比值。&lt;br&gt;
算法：（资产负债表）未分配利润/期末实收资本&lt;/li&gt;
&lt;li&gt;每股盈余公积：报告期末盈余公积金（资产负债表科目）与期末实收资本的比值。&lt;/li&gt;
&lt;li&gt;每股留存收益：报告期末累计留存收益与期末实收资本的比值。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;盈利能力&#34;&gt;盈利能力&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;归属净利润：净利润是企业收入扣除各种成本税费后的利润留存。归属净利润反映的是，在企业合并净利润中，归属于母公司股东（所有者）所有的那部分净利润。&lt;/li&gt;
&lt;li&gt;扣非净利润：归属于上市公司股东的扣除非经常性损益后的净利润是财务报告中要求披露的指标，以反映更加有效的会计信息。扣除非经常性损益的项目和金额参见财务报告中的相关说明。“非经常性损益”一般不具有可持续性。这里“归属于上市公司股东的扣除非经常性损益后的净利润”不包括少数股东损益。&lt;/li&gt;
&lt;li&gt;营业总收入：营业收入是批企业在从事日常经营业务过程中所形成的经济利益的总流入。&lt;/li&gt;
&lt;li&gt;净资产收益率 ROE ：净资产收益率（加权），是净利润与平均净资产的百分比。反映公司所有者权益的投资回报率。&lt;br&gt;
资产收益率有多种口径的计算方法。本指标是一个动态的指标，强调经营期间净资产赚取利润的结果，反映的是企业净资产创造利润的能力。&lt;br&gt;
算法：REO =P/{E0+NP/2+EI&lt;em&gt;MI/M0-EJ&lt;/em&gt;MJ/M0}&lt;br&gt;
其中，P为报告期利润，NP为报告期净利润；E0为其实净资产；EI为报告期发行新股或债转股等新增净资产；EJ为报告期回购或现金分红等减少净资产；M0为报告期月份数；MI为新增净资产下一月份起至报告期期末的月份数：MJ为减少净资产下一月份起至报告期期末的月份数。&lt;/li&gt;
&lt;li&gt;总资净利率 ROA：总资产净利率是企业在报告期内获得的可供投资者和债权人分配的经营收益占总资产的百分比，反映投资者（含少数股东权益）利用全部资产获得的能力。本指标的“资产”是合并报表的总资产（即包含归属少数股东的权益），因此“净利润”采用全部净利润（即包含少数股东损益）。该指标剔除了财务杠杆对收益率的影响，可用于同行业不同公司间的盈利能力比较。&lt;br&gt;
算法：净利润&lt;em&gt;2/（期初总资产+期末总资产）&lt;/em&gt; 100%&lt;/li&gt;
&lt;li&gt;投入资本回报率 ROIC：ROIC 是生产经营活动所有投入资本赚取的收益率。分子是息前税后利润，分母是全部投入资本，其中不包含无息负债。&lt;/li&gt;
&lt;li&gt;最新股息率：股息率是股息与股票价格之间的比率，是价值投资者挑选收益型股票的重要参考指标。&lt;br&gt;
算法：最新股息率=最新分红总额/最新市值* 100%&lt;/li&gt;
&lt;li&gt;毛利率：销售毛利率是毛利占销售收入的百分比，反映每一元销售收入扣减生产成本后还有多少盈余可以用来支付企业运营费用并最终形成收益。&lt;br&gt;
算法：毛利/营业收入=（营业收入-营业成本）营业收入* 100%&lt;/li&gt;
&lt;li&gt;净利率：销售净利率是净利润占销售收入的百分比，该指标反映每一元销售收入带来的净利润的多少，表示销售收入的收益水平。&lt;br&gt;
算法：（归属母公司股东的净利润+少数股东权益）/营业收入* 100%&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;成长能力&#34;&gt;成长能力&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;净利润增长率：本期归属于母公司股东的净利润相对上年同期调整数增长百分比。&lt;br&gt;
算法：同比增长率=（本期-上年同期）/ABS 上年同期* 100%&lt;/li&gt;
&lt;li&gt;扣非净利润增长率：最新一期扣除非经常性损益后的净利润（不含少数股东损益）相对1年前同期增长百分比&lt;/li&gt;
&lt;li&gt;营收增长率：本期营业总收入相对上年同期调整数增长百分比。&lt;br&gt;
算法：同比增长率=（本期-上年同期）/ABS 上年同期 *100%&lt;/li&gt;
&lt;li&gt;净利润3年复合增长率：归属于母公司股东的净利润复合增长率（3年）&lt;/li&gt;
&lt;li&gt;营收3年复合增长率：营业收入复合增长率（3年）&lt;/li&gt;
&lt;li&gt;预测净利润同比增长：一致预测归属净利润同比。&lt;/li&gt;
&lt;li&gt;预测营收同比增长：一致预测营业收入同比。&lt;/li&gt;
&lt;li&gt;每股收益同比增长率：最新一期基本每股收益相对上年同期调整数增长百分比。&lt;/li&gt;
&lt;li&gt;利润总额同比增长率：最新一期基本利润总额相对上年同期调整数增长百分比。&lt;/li&gt;
&lt;li&gt;营业利润同比增长率：最近一期营业利润总额相对上年同期调整数增长百分比。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;资本结构与偿债能力&#34;&gt;资本结构与偿债能力&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;资产负债率：资产负债率是负债总额除以资产总额的百分比，反映在总资产中有多大比例是通过借债来筹资的，也可以衡量企业在清算时保护债权人利益的程度。&lt;br&gt;
算法：负债总额/资产总额&lt;/li&gt;
&lt;li&gt;产权比率：产权比率是负债总额与股东权益总额之比率，也叫作债务权益比率，是衡量长期偿债能力的指标之一。&lt;/li&gt;
&lt;li&gt;权益乘数：权益乘数标识企业的负债程度，权益乘数越大，企业负债程度越高&lt;/li&gt;
&lt;li&gt;流动比率：流动比率是流动资产除以流动负债，用来评价流动资产总体变现能力。&lt;/li&gt;
&lt;li&gt;速动比率：带动比率是从流动资产中扣除存货部分，再除以流动负债的比值，进一步反映变现能力。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;股东股本&#34;&gt;股东股本&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;总股本：在指定日期，公司已发行的普通股股份总数（不含优先股）。注：股份变动日以除权日为准。&lt;/li&gt;
&lt;li&gt;流通股本：在指定日期，公司已改造的境内上市流通、以人民币兑换的股份总数。&lt;/li&gt;
&lt;li&gt;最新股东数：最新一期股东户数，根据上市公司公告、投资者互动等不定期更新。&lt;/li&gt;
&lt;li&gt;股东户数增长率：最近一期股东户数较上期变动比率。&lt;/li&gt;
&lt;li&gt;户均持股金额：最新一期股东数对应的户均持股金额。&lt;/li&gt;
&lt;li&gt;户均持股数量：最新一期股东户数对应的户均持股数量。&lt;/li&gt;
&lt;li&gt;户均持股数季度增长率：本季度户均持股数量相对上一个季度的增长数据。&lt;/li&gt;
&lt;li&gt;户均持股数半年增长率：最新报告期户均持股数量相当于半年的增长数据。&lt;/li&gt;
&lt;li&gt;十大股东持股比例合计：最新一期上市公司持股比例排名前十位股东持股合计数占公司总股本的比例。&lt;/li&gt;
&lt;li&gt;十大流通股东比例合计：最新一期上市公司持股比例排名前十位流通股东持股合计数占公司流通股本的比例。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;技术面&#34;&gt;技术面&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;MACD 金叉：MACD 指标由两条曲线和一组红绿柱线组成。两条曲线中波动变化大的是 DIF 线，通常为白线或红线，相对平衡的是 DEA 线（MACD线），通常为黄线。DIF 线上穿DEA线的技术形态称为 MACD 金叉，通常为买入信号。&lt;/li&gt;
&lt;li&gt;KDJ 金叉：KDJ 指标是通过计算特定的周期内股票的最高价、最低价及最新收盘价及这三者之间的比例关系来分析股票趋势的指标；当 KDJ 三条线中的 K 线上穿 D 线且 K 值 &amp;lt;=50，则为 KDJ 金叉，通常为买入信号。&lt;/li&gt;
&lt;li&gt;放量突破：股份上冲过程中伴随成交量放大，之后突破前期阻力的可能性更高。&lt;/li&gt;
&lt;li&gt;低位资金净流入：股份处于较低的位置，同时有较多资金流入，有底部反弹的可能。&lt;/li&gt;
&lt;li&gt;高位资金净流出：股份处于较高的位置，同时有较多资金流出，有顶部回落的可能。&lt;/li&gt;
&lt;li&gt;向上突破均线：均线代表了一段时间内的平均持有成本，例如10日均线反映了近10个交易日内的平均持有成本。股份向上突破了10日均线，通常是一个短期买点。&lt;/li&gt;
&lt;li&gt;均线多头排列：均线多头排列就是指市场趋势处于强势上升趋势，盘面或者股票的均线短时期均线处于长时期均线的上方运行，本指标涉及均线范围包括5日、10日、20日、30日、60日均线。&lt;/li&gt;
&lt;li&gt;均线空头排列：均线空头排列就是指市场趋势处于弱势下降趋势，盘面或者股票的均线短时期均线处于长时期均线的下方运行，本指标涉及均线范围包括5日、10日、20日、30日、60日均线。&lt;/li&gt;
&lt;li&gt;连涨放量：股价连续上涨的过程中伴随成交量放大，上涨的趋势有望延续。&lt;/li&gt;
&lt;li&gt;下跌无量：股价下跌的过程中成交量较小，表明无资金愿意接盘，需警惕。&lt;/li&gt;
&lt;li&gt;一根大阳线：大阳线是股价趋势图中常见的 K 线，其基本 K 线形态是开盘价近于全日的最低价，随后价格一路上扬至最高价处收盘，表示市场买方踊跃，涨势未尽。所以，市场上有“一根大阳线 千军万马来相见”之说。&lt;/li&gt;
&lt;li&gt;两根大阳线：两根大阳线，指的是连续两根大阳线。在股价连续下跌一段时间后，股价连续收两个大阳线，标志该股票接下来有反转的可能。&lt;/li&gt;
&lt;li&gt;旭日东升：旭日东升，其 K 线形态特征是，经过一波长期的下跌，第二天大幅高开收阳，且阳线的收盘价完全盖过前一天阴线的开盘价，两根 K 线的实体大小相当或稍有差异。经过一波长期的下跌出现旭日东升形态，表明多方自当天起完全收复和解放了前一天的套牢盘，且低点不再创新低，表明市场开始由空方主导转为多方反攻，是明显的底部止跌信号，后市看多。&lt;/li&gt;
&lt;li&gt;强势多方炮：强势多方炮是多方炮类型的一种，它的 K 线组合是向上排列的，股价一天还比一天高，在微观上来分析就是一种以涨代调整的强势形态，而且这种组合的多方炮要求中间的阴线实体尽可能短，下影线长些，下影线长说明该股收复能力强，当天盘中确实是根阴线，但收盘的时候又收上去了，这就是一种强势的表现，充分暴露了主力急于拉高的心情！&lt;/li&gt;
&lt;li&gt;拨云见日,该 K 线组合形态是该股在上涨途中的暂时调整状态,形成的原因是:股价在上升途中突然遇到了大量卖盘的打压,上升受阻,随后股价展开了连续几日的阴线调整,股价看似不能突破,成交量也伴随股价回调减少;但是,随着卖盘的越来越少,另外一部分看好该股的投资者开始买入股票,由于大量买盘的涌入,股价突破盘整区域,继续上升,并且创出新高。这种K线组合出现在上升趋势中。上升趋势中,某一日价格收阳,紧接的交易日中,价格开盘时向上跳空高开,之后震荡收阴但收盘价仍在前一日阳线收盘价格上方,在接下来的两天中继续收出阴线,形成三条连续的阴线,但最后一条阴线的收盘价不低于之前阳线的开盘价。之后,价格再次出现向上跳空开盘收出阳线,或者未出现价格跳空,但以中阳或长阳报收,同时收盘价高于前一交易日阴线的最高价格,则可视为买入信号。&lt;/li&gt;
&lt;li&gt;七仙女下凡（七连阴）：七连阴指的就是连续七根K线都是阴线,即连续七个单位K线都是收盘价低于开盘价。市场有”七连阴”后有反弹,放量上攻是反转之说。&lt;/li&gt;
&lt;li&gt;八仙过海（八连阳）：八连阳指的就是连续八根K线都是阳线,即连续八个单位K线都是收盘价高于开盘价。上升八连阳形态特点在于脱离盘档初期,不断出现小阳线,最后因空头弃守阵地,造成腾空而上的长阳线,因此中间出现的小阳线是三条或三条以上,这完全视市场上一般投资人警戒心程度而加深此种形态的特质。&lt;/li&gt;
&lt;li&gt;九阳神功（九连阳）：九连阳指的就是连续九根K线都是阳线,即连续九个单位K线都是收盘价高于开盘价。时常有”九连阳上涨后防跌”之说。&lt;/li&gt;
&lt;li&gt;四串阳：四串阳是专指在经历了一段下跌行情后,价格即将脱离底部区域时,走出的连在一起的4个阳线,价格出现此种走势时后市有望放量拉升。&lt;/li&gt;
&lt;li&gt;天量法则：天量法则主要是以关注突然爆“天量”的股票为切入点。股市有句名言“天量见天价”,投资者往往认为当、只个股放出天量时,股价基本见顶,有反转的危险。&lt;/li&gt;
&lt;li&gt;放量上攻：放量上攻是指上涨有量即带量上涨,放量是指成交量放大。根据量价分析的一般原理,成交量增加,说明看好后市的人多,资金进入踊跃,后市相对看好。&lt;/li&gt;
&lt;li&gt;穿头破脚：穿头破脚,即第二根K线的最高价和最低价分别大于第根K线的最高价和最低价。穿头破脚有两种形态,第根K线是阳线看涨:第二根K线是阴线则看跌。&lt;/li&gt;
&lt;li&gt;倒转锤头：一般上影线较长(为实体的2倍以上),K线形态像一把倒转的锤头,因此俗称“倒转锤头”。这里的倒转锤头指的是股价下跌途中出现的倒转锤头,如果次日股价未跌破“倒转锤头”的最低价,则表示见底信号。(如果是下跌途中出现的倒转锤头,参见射击之星指标)&lt;/li&gt;
&lt;li&gt;射击之星：一般上影线较长(为实体的2倍以上),下影线较短,是倒转锤头的某一种。这里的射击之星指的是出现在股价上涨途中的“倒转锤头”,它的出现预示着转折点即将出现。&lt;/li&gt;
&lt;li&gt;黄昏之星：黄昏之星表示股价后市看跌,是卖出信号。黄昏之星般出现在股价大涨之后,当日在高位跳空高开,并且形成一个上下影线都很长的十字星形状的 K 线。如果次日K线出现长阴,抹去前两日大部分涨势,则短期出现顶部的几率非常之高。&lt;/li&gt;
&lt;li&gt;曙光初现：曙光初现是由两根一阴一阳K线组成,意味着趋势由空转多,通常在一段下跌趋势后出现。第一根K线为处于跌势的大阴线,第二根K线为大阳线,其开盘价必须低于第一根K线的最低价,而收盘价则必须高于第一根K线的二分之一实体以上,是一个看涨反转的信号。&lt;/li&gt;
&lt;li&gt;身怀六甲：身怀六甲又被称为母子线、孕线。由前面一根较长的K线和后面一根较短的K线组成,后面一根较短的K线在前面一根较长的K线实体中间部位出现,好像前面K线怀中的胎儿。人们常把小阳线称为上涨孕,小阴线称为下跌孕。一般预示着市场上升或下跌的力量已经衰竭,市场已有改变目前趋势的迹象。&lt;/li&gt;
&lt;li&gt;乌云盖顶：乌云盖顶是K线图较为常见顶部转空形态之一。这种形态由两根K线组成,第一日是一根较长的阳线实体，第二日则为一根长阴线。第二日的开盘价超过第一日的最高价,而收盘价接近当日的最低价,并且收盘价低于第一根K线的二分之一实体以上,是一个看跌反转信号。&lt;/li&gt;
&lt;li&gt;早晨之星：早晨之星是一种行情见底转势的形态。一般由三个交易日的三根K线构成:第一日股价下跌并且出现一根较大的阴线,第二日股价跳空下行,但随后探底回升形成一根十字星,可以是阴十字,也可以是阳十字。第三日则是一根长阳线,价格收复第一日的大部分失地,市场发出明显看涨信号。&lt;/li&gt;
&lt;li&gt;窄幅整理：窄幅整理是指股价在一个较小的区间内波动,时间周期有长有短,一般为平台整理形态。窄幅整理结束后股价将会选择突破方向。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;消息面&#34;&gt;消息面&lt;/h2&gt;
&lt;h3 id=&#34;公告大事&#34;&gt;公告大事&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;限售解禁：过往或未来一段时间内是否有限售股解禁&lt;/li&gt;
&lt;li&gt;定向增发：区间内增发公告日期&lt;/li&gt;
&lt;li&gt;资产重组：区间内公司重大资产重组预案公告日&lt;/li&gt;
&lt;li&gt;股权质押：区间内股东最近一次股权质押的公告日期&lt;/li&gt;
&lt;li&gt;质押比例：股权质押是上市公司股东将自己的股票在一定期限内质押给金融机构获得贷款的融资方式。若质押比例过大，可能出现股东无法偿付的风险。该指标表示距离当前交易日最近的中登公司公布质押比例。&lt;/li&gt;
&lt;li&gt;商誉规模：商誉是企业并购时的溢价体现，通常认为商誉越高风险越高。&lt;/li&gt;
&lt;li&gt;商誉占净资产比例：商誉是企业并购时的溢价表现，通常认为商誉占净资产比例越高风险越高。&lt;/li&gt;
&lt;li&gt;业绩预告：上市公司在公布正式定期报告之前，预先发布的业绩预告类型。&lt;/li&gt;
&lt;li&gt;每股股利（税前）：股票的每股股利税前数据。&lt;br&gt;
算法：每股股利=派息比例分子（税前）/派息比例分母。例如：上市公司公告分红实施方案为扣税前每10股现金红利0.20元，则派息比例分子（税前）等于0.20元，派息比例分母等于10股。&lt;/li&gt;
&lt;li&gt;每股红股：股票的每股送红股数据，通常说的10送10相当于每股红股1股。&lt;/li&gt;
&lt;li&gt;每股转增股本：股票的每股转增股本数据，通常说的10转10相当于每股转增股本1股。&lt;/li&gt;
&lt;li&gt;近3月股东增减比例：近3个月内大股东股份增减变动的比例合计。&lt;/li&gt;
&lt;li&gt;近3月高管增减比例：近3个月内大股东股份增减变动的比例合计。&lt;/li&gt;
&lt;li&gt;限制控股股东减持：上市公司近20个交易日存在破发、破净情形；或者近三年分红不达标的，控股股东、实际控制人不得通过二级市场减持。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;机构关注情况&#34;&gt;机构关注情况&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;近3月机构调研：近3个月内上市公司接待调研的频率。&lt;/li&gt;
&lt;li&gt;机构评级：各机构对该股票投资评级的平均值。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;机构持股家数&#34;&gt;机构持股家数&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;机构持股家数合计：最新报告期中持有该股票的机构数量。&lt;/li&gt;
&lt;li&gt;基金持股家数：最新报告期中持有该股票的基金数量。&lt;/li&gt;
&lt;li&gt;券商持股家数：最新报告期中持有该股票的券商数量。&lt;/li&gt;
&lt;li&gt;QFII 持股家数：最新报告期中持有该股票的 QFII 数量。&lt;/li&gt;
&lt;li&gt;保险公司持股家数：最新报告期中持有该股票的保险公司数量。&lt;/li&gt;
&lt;li&gt;社保持股家数：最新报告期中持有该股票的社保数量。&lt;/li&gt;
&lt;li&gt;信托公司持股家数：最新报告期中持有该股票的信托公司数量。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;机构持股比例&#34;&gt;机构持股比例&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;机构持股比例合计：最新报告期中该股票流通股本被机构持有的比例。&lt;br&gt;
算法：机构持股比例=机构持流通股数量合计/流通A股（含高管锁定）* 100%&lt;/li&gt;
&lt;li&gt;基金持股比例：最新报告期中该股票流通股本被基金持有的比例。&lt;/li&gt;
&lt;li&gt;券商持股比例：最新报告期中该股票流通股本被券商持有的比例。&lt;/li&gt;
&lt;li&gt;QFII持股比例：最新报告期中该股票流通股本被QFII持有的比例。&lt;/li&gt;
&lt;li&gt;保险公司持股比例：最新报告期中该股票流通股本被保险公司持有的比例。&lt;/li&gt;
&lt;li&gt;社保持股比例：最新报告期中该股票流通股本被社保持有的比例。&lt;/li&gt;
&lt;li&gt;信托公司持股比例：最新报告期中该股票流通股本被信托公司持有的比例。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;人气指标&#34;&gt;人气指标&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;股吧人气排名：根据股友访问、加自选、股吧讨论热度综合计算的人气排名，每小时更新一次。&lt;/li&gt;
&lt;li&gt;人气排名变化：近一个小时的股吧人气排名变化。&lt;/li&gt;
&lt;li&gt;人气排名连涨：人气排名连续上涨天数。&lt;/li&gt;
&lt;li&gt;人气排名连跌：人气排名连续下跌天数。&lt;/li&gt;
&lt;li&gt;人气排名创新高：最新人气排名创N日新高。&lt;/li&gt;
&lt;li&gt;人气排名创新低：最新人气排名创N日新低。&lt;/li&gt;
&lt;li&gt;新晋粉丝占比：个股浏览人数中，新增用户的占比。&lt;/li&gt;
&lt;li&gt;铁杆粉丝占比：个股浏览人数中，老用户的占比。&lt;/li&gt;
&lt;li&gt;7日关注排名：近7日股吧关注度排名。&lt;/li&gt;
&lt;li&gt;今日浏览排名：今日股吧浏览量排名。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;行情数据&#34;&gt;行情数据&lt;/h2&gt;
&lt;h3 id=&#34;股价表现&#34;&gt;股价表现&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;股价&lt;/li&gt;
&lt;li&gt;涨跌幅&lt;/li&gt;
&lt;li&gt;振幅：证券在指定交易日价格上下波动的剧烈程度。&lt;br&gt;
算法：[(指定交易日最高价-指定交易日最低价)/指定交易日前收盘价]* 100%。&lt;/li&gt;
&lt;li&gt;破发股票&lt;/li&gt;
&lt;li&gt;破净股票&lt;/li&gt;
&lt;li&gt;大幅高开&lt;/li&gt;
&lt;li&gt;大幅低开&lt;/li&gt;
&lt;li&gt;今日创历史新高&lt;/li&gt;
&lt;li&gt;今日创历史新低&lt;/li&gt;
&lt;li&gt;今日创阶段新高：今日股价创下近一段时间内的新高。&lt;/li&gt;
&lt;li&gt;今日创阶段新低：今日股价创下近一段时间内的新低。&lt;/li&gt;
&lt;li&gt;近期创历史新高：近期股价创下上市以来的新高。&lt;/li&gt;
&lt;li&gt;近期创历史新低：近期股价创下上市以来的新低。&lt;/li&gt;
&lt;li&gt;近期跑赢大盘：近期一段时间内，个股的收益相对大盘指数的收益更好。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;成交情况&#34;&gt;成交情况&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;换手率：证券在指定交易日内转手买卖的频率,也称买卖周转率。&lt;br&gt;
算法：换手率=[指定交易日成交量(股)/截至该日股票的流通股总股数(股)]*100%。注:本公式中,流通股本以股份上市日作为变动日期。&lt;/li&gt;
&lt;li&gt;量比：量比指标依据的是即时每分钟平均成交量与之前连续5天每分钟平均成交量的比较,而不是随意抽取某一天的成交量作为比较,所以能够客观真实地反映盘口成交异动及其力度。&lt;/li&gt;
&lt;li&gt;成交量&lt;/li&gt;
&lt;li&gt;成交额&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;资金流向&#34;&gt;资金流向&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;当日净流入额&lt;/li&gt;
&lt;li&gt;3日主力净流入&lt;/li&gt;
&lt;li&gt;5日主力净流入&lt;/li&gt;
&lt;li&gt;当日增仓占比：当日增仓占比=当日主力净注入/当日成交金额&lt;/li&gt;
&lt;li&gt;3日增仓占比：3日增仓占比=3日主力净流入/3日成效金额&lt;/li&gt;
&lt;li&gt;5日增仓占比：5日增仓占比=5日主力净流入/5日成交金额&lt;/li&gt;
&lt;li&gt;当日DDX：当日DDX（主力强度）表示当时主力买入净量占流通盘的比例&lt;/li&gt;
&lt;li&gt;3日DDX：3日主力买入净量占流通盘的比例&lt;/li&gt;
&lt;li&gt;5日DDX：5日主力买入净量占流通盘的比例&lt;/li&gt;
&lt;li&gt;10日内DDX飘红天数：DDX(主力强度)表示当日主力买入净量占流通盘的比例，DDX飘红天数越多，说明主力短期介入强度越高&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;行情统计&#34;&gt;行情统计&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;3日涨跌幅&lt;/li&gt;
&lt;li&gt;5日涨跌幅&lt;/li&gt;
&lt;li&gt;10日涨跌幅&lt;/li&gt;
&lt;li&gt;今年以来涨跌幅&lt;/li&gt;
&lt;li&gt;连涨天数&lt;/li&gt;
&lt;li&gt;连跌天数&lt;/li&gt;
&lt;li&gt;上市以来年化收益率：计算指定区间的收益率，再年化&lt;/li&gt;
&lt;li&gt;上市以来年化波动率：将指定区间的按照设定的周期分割为若干个样本区间，然后计算指定周期的收益率的标准差，再年化&lt;/li&gt;
&lt;/ul&gt;</description>
    </item>
    <item>
      <title>使用 Kdenlive 剪切视频片段</title>
      <link>https://sixdian.com/post/kdenlive-cut/</link>
      <pubDate>Tue, 22 Apr 2025 23:53:09 +0800</pubDate>
      <guid>https://sixdian.com/post/kdenlive-cut/</guid>
      <description>&lt;p&gt;Kdenlive 是一款基于MLT框架、KDE和Qt的非线性开源影片编辑器，具有灵活性、易用性等特点。在专业性上也完全可以替代商用视频编辑工具—— Adobe Premiere。&lt;/p&gt;
&lt;p&gt;本文介绍如何运用 Kdenlive 来快速剪切视频片段&lt;/p&gt;
&lt;h2 id=&#34;导入视频素材&#34;&gt;导入视频素材：&lt;/h2&gt;
&lt;p&gt;点击“添加剪辑和文件夹&amp;hellip;”下拉菜单，选择第1个选项
&lt;figure&gt;
    &lt;img loading=&#34;lazy&#34; src=&#34;https://sixdian.com/image/kdenlive-cut/1.webp&#34; width=&#34;100%&#34;/&gt; 
&lt;/figure&gt;

导入需要剪切的视频文件并确定
&lt;figure&gt;
    &lt;img loading=&#34;lazy&#34; src=&#34;https://sixdian.com/image/kdenlive-cut/2.webp&#34; width=&#34;100%&#34;/&gt; 
&lt;/figure&gt;

把视频素材拖拽到时间轴上并与时间轴起点对齐
&lt;figure&gt;
    &lt;img loading=&#34;lazy&#34; src=&#34;https://sixdian.com/image/kdenlive-cut/3.webp&#34; width=&#34;100%&#34;/&gt; 
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 id=&#34;标记要剪切的视频片段&#34;&gt;标记要剪切的视频片段&lt;/h2&gt;
&lt;p&gt;标记视频的开始位置（将鼠标指标移动到时间轴区域，滚动滚轮可精确调整标尺位置，调整好后按“ I ”键）
&lt;figure&gt;
    &lt;img loading=&#34;lazy&#34; src=&#34;https://sixdian.com/image/kdenlive-cut/4.webp&#34; width=&#34;100%&#34;/&gt; 
&lt;/figure&gt;

标记视频的结束位置（将鼠标指标移动到时间轴区域，滚动滚轮可精确调整标尺位置，调整好后按“ O ”键）&lt;/p&gt;
&lt;h2 id=&#34;导出剪切好的视频片段&#34;&gt;导出剪切好的视频片段：&lt;/h2&gt;
&lt;p&gt;选择“项目”菜单，点击“导出&amp;hellip;”选项
&lt;figure&gt;
    &lt;img loading=&#34;lazy&#34; src=&#34;https://sixdian.com/image/kdenlive-cut/5.webp&#34; width=&#34;100%&#34;/&gt; 
&lt;/figure&gt;

选中“ Selected zone ”复选框并选择视频文件输出格式、保存位置并输入文件名，点击“ Render to File ”保存视频
&lt;figure&gt;
    &lt;img loading=&#34;lazy&#34; src=&#34;https://sixdian.com/image/kdenlive-cut/6.webp&#34; width=&#34;100%&#34;/&gt; 
&lt;/figure&gt;
&lt;/p&gt;</description>
    </item>
    <item>
      <title>OpenWrt、Padavan 下 frp 服务和客户端的配置</title>
      <link>https://sixdian.com/post/openwrt-padavan-frp/</link>
      <pubDate>Thu, 15 Dec 2022 09:20:33 +0800</pubDate>
      <guid>https://sixdian.com/post/openwrt-padavan-frp/</guid>
      <description>&lt;h2 id=&#34;openwrt&#34;&gt;OpenWrt&lt;/h2&gt;
&lt;p&gt;frps 配置文件位置：/etc/config/frps&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;config init
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        option stdout 1
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        option stderr 1
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        option user frps
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        option group frps
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        option respawn 1
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;config conf &amp;#39;common&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        option bind_port 7000
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        option dashboard_addr 0.0.0.0
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        option dashboard_port 7500
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        option dashboard_user ***
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        option dashboard_pwd ******
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        option token ******
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;frpc 配置文件位置：/etc/config/frpc&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;config init
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        option stdout 1
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        option stderr 1
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        option user frpc
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        option group frpc
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        option respawn 1
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;config conf &amp;#39;common&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        option server_addr ***.sixdian.com
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        option server_port 7000
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        option token ******
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;config conf &amp;#39;***&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        option type http
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        option local_ip 127.0.0.1
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        option local_port 80
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        option subdomain ***
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;查看生效配置：&lt;/p&gt;</description>
    </item>
    <item>
      <title>利用 Hysteria 搭建科学上网服务</title>
      <link>https://sixdian.com/post/hysteria/</link>
      <pubDate>Tue, 13 Dec 2022 10:18:46 +0800</pubDate>
      <guid>https://sixdian.com/post/hysteria/</guid>
      <description>&lt;p&gt;10月份之后 shadowsocks 扶墙服务器 IP 频繁遭屏蔽，更换 IP 浪费了我不少银两。考虑到 shadowsocks 协议已被防火长城精准识别，再用还会被封 IP，所以就用 Hysteria 替代 shadowsocks，作为以后科学上网的主要方式。&lt;/p&gt;
&lt;p&gt;Hysteria 默认运用 UDP 协议进行通信，其主要应用场景有：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;绕过网络审查&lt;/li&gt;
&lt;li&gt;提升传输速度&lt;/li&gt;
&lt;li&gt;绕过商业/学校/企业防火墙&lt;/li&gt;
&lt;li&gt;绕过运营商 QoS 限速&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;下载-hysteria&#34;&gt;下载 Hysteria&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-gdscript3&#34; data-lang=&#34;gdscript3&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cd &lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;etc &lt;span style=&#34;color:#75715e&#34;&gt;# 切换到系统 etc 文件夹&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;wget https:&lt;span style=&#34;color:#f92672&#34;&gt;//&lt;/span&gt;github&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;com&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;apernet&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;hysteria&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;releases&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;download&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;v1&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;3.2&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;hysteria&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;linux&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;amd64 &lt;span style=&#34;color:#75715e&#34;&gt;#下载 Hysteria 服务程序&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mv hysteria&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;linux&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;amd64 hysteria&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;server &lt;span style=&#34;color:#75715e&#34;&gt;#将 Hysteria 服务程序重命名为 hysteria-server&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;chmod &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt;x hysteria&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;server &lt;span style=&#34;color:#75715e&#34;&gt;#为 hysteria-server 赋予可执行权限&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;创建-hysteria-服务配置文件&#34;&gt;创建 Hysteria 服务配置文件&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;vi config.json
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &amp;#34;listen&amp;#34;: &amp;#34;:8388&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &amp;#34;protocol&amp;#34;: &amp;#34;udp&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &amp;#34;cert&amp;#34;: &amp;#34;/home/sixdian/ssl/cert.pem&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &amp;#34;key&amp;#34;: &amp;#34;/home/sixdian/ssl/key.pem&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &amp;#34;obfs&amp;#34;: &amp;#34;******&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &amp;#34;up&amp;#34;: &amp;#34;100 Mbps&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &amp;#34;down&amp;#34;: &amp;#34;20 Mbps&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &amp;#34;alpn&amp;#34;: &amp;#34;sixdian&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &amp;#34;recv_window_conn&amp;#34;: 8388608,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &amp;#34;recv_window_client&amp;#34;: 20971520
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;将-hysteria-服务加入到-systemctl&#34;&gt;将 Hysteria 服务加入到 systemctl&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;vi /etc/systemd/system/hysteria.service
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[Unit]
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Description=hysteria-server
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;After=network-online.target
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[Service]
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Type=simple
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ExecStart=/etc/hysteria/hysteria-server server -c /etc/hysteria/config.json
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Restart=always
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;RestartSec=2
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[Install]
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;WantedBy=multi-user.target
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;防火墙设置&#34;&gt;防火墙设置&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-gdscript3&#34; data-lang=&#34;gdscript3&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;firewall&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;cmd &lt;span style=&#34;color:#f92672&#34;&gt;--&lt;/span&gt;zone&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;public &lt;span style=&#34;color:#f92672&#34;&gt;--&lt;/span&gt;add&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;port&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;8388&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;udp &lt;span style=&#34;color:#f92672&#34;&gt;--&lt;/span&gt;permanent &lt;span style=&#34;color:#75715e&#34;&gt;#开放 8388 UDP 端口&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;firewall&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;cmd &lt;span style=&#34;color:#f92672&#34;&gt;--&lt;/span&gt;zone&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;public &lt;span style=&#34;color:#f92672&#34;&gt;--&lt;/span&gt;add&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;port&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;50000&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;60000&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;udp &lt;span style=&#34;color:#f92672&#34;&gt;--&lt;/span&gt;permanent &lt;span style=&#34;color:#75715e&#34;&gt;#开放 50000-60000 UDP 端口&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;firewall&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;cmd &lt;span style=&#34;color:#f92672&#34;&gt;--&lt;/span&gt;zone&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;public &lt;span style=&#34;color:#f92672&#34;&gt;--&lt;/span&gt;add&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;masquerade &lt;span style=&#34;color:#f92672&#34;&gt;--&lt;/span&gt;permanent &lt;span style=&#34;color:#75715e&#34;&gt;#允许防火墙伪装 IP&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;firewall&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;cmd &lt;span style=&#34;color:#f92672&#34;&gt;--&lt;/span&gt;zone&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;public &lt;span style=&#34;color:#f92672&#34;&gt;--&lt;/span&gt;add&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;forward&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;port&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;port&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;50000&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;60000&lt;/span&gt;:proto&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;udp:toport&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;8388&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;--&lt;/span&gt;permanent &lt;span style=&#34;color:#75715e&#34;&gt;#将 50000-60000 UDP 端口转到到 8388 UDP&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;firewall&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;cmd &lt;span style=&#34;color:#f92672&#34;&gt;--&lt;/span&gt;reload &lt;span style=&#34;color:#75715e&#34;&gt;#使防火墙配置生效&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;启动-hysteria并使-hysteria-服务开机启动&#34;&gt;启动 Hysteria，并使 Hysteria 服务开机启动&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;systemctl start hysteria #启动 Hysteria
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;systemctl enable hysteria #设置 Hysteria 开机启动
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Google Year in Search</title>
      <link>https://sixdian.com/post/google-year-in-search/</link>
      <pubDate>Thu, 08 Dec 2022 19:57:55 +0800</pubDate>
      <guid>https://sixdian.com/post/google-year-in-search/</guid>
      <description>&lt;p&gt;&lt;figure&gt;
    &lt;img loading=&#34;lazy&#34; src=&#34;https://sixdian.com/image/google-year-in-search/1.svg&#34; width=&#34;100%&#34;/&gt; 
&lt;/figure&gt;

&lt;a href=&#34;https://drive.sixdian.com/s/3occk5sC6aycAaJ&#34;&gt;点击观看 Google 2010-2025 年度搜索影片&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;2010&#34;&gt;2010&lt;/h2&gt;
&lt;p&gt;第一年的搜索影片探索了这一年的时刻和事件，并提出了一个问题：我们的搜索对我们有何评价？&lt;/p&gt;
&lt;h2 id=&#34;2011&#34;&gt;2011&lt;/h2&gt;
&lt;p&gt;2011年是变革、革命和希望的一年。探索定义这一年的时刻。&lt;/p&gt;
&lt;h2 id=&#34;2012&#34;&gt;2012&lt;/h2&gt;
&lt;p&gt;2012年最重要的时刻激发了数万亿个问题。重新发现这一年以及我们对这些问题的看法。&lt;/p&gt;
&lt;h2 id=&#34;2013&#34;&gt;2013&lt;/h2&gt;
&lt;p&gt;探索2013年全世界搜索的内容、学习内容和活动内容。&lt;/p&gt;
&lt;h2 id=&#34;2014&#34;&gt;2014&lt;/h2&gt;
&lt;p&gt;重温一年中最重要的时刻和他们引发的问题。&lt;/p&gt;
&lt;h2 id=&#34;2015&#34;&gt;2015&lt;/h2&gt;
&lt;p&gt;2015年最重要的时刻激发了数万亿个问题。重新发现这一年以及我们对这些问题的看法。&lt;/p&gt;
&lt;h2 id=&#34;2016&#34;&gt;2016&lt;/h2&gt;
&lt;p&gt;重温一年中最重要的时刻和他们引发的问题。&lt;/p&gt;
&lt;h2 id=&#34;2017&#34;&gt;2017&lt;/h2&gt;
&lt;p&gt;2017年，世界比以往任何时候都更关心“如何”。探索影响这一年的时刻。&lt;/p&gt;
&lt;h2 id=&#34;2018&#34;&gt;2018&lt;/h2&gt;
&lt;p&gt;在风风雨雨的一年里，世界比以往任何时候都更热衷于寻找“好”。这是人们在2018年发现的。&lt;/p&gt;
&lt;h2 id=&#34;2019&#34;&gt;2019&lt;/h2&gt;
&lt;p&gt;当时代充满挑战时，世界会寻找灵感。2019年，我们在我们的英雄中寻找并找到了它。&lt;/p&gt;
&lt;h2 id=&#34;2020&#34;&gt;2020&lt;/h2&gt;
&lt;p&gt;在不确定的时期，人们寻求理解和意义。今年，全世界比以往任何时候都更多地搜索“为什么”。&lt;/p&gt;
&lt;h2 id=&#34;2021&#34;&gt;2021&lt;/h2&gt;
&lt;p&gt;在克服个人和全球挑战的一年中，世界比以往任何时候都更加寻求“治愈”。&lt;/p&gt;
&lt;h2 id=&#34;2022&#34;&gt;2022&lt;/h2&gt;
&lt;p&gt;2022年，随着世界重现并进入新时代，人们比以往任何时候都更加寻求新的可能性。&lt;/p&gt;
&lt;h2 id=&#34;2023&#34;&gt;2023&lt;/h2&gt;
&lt;p&gt;Google 正在庆祝 Google 搜索 25 年来搜索次数最多的人物和时刻。从 BTS 到 Taylor Swift，见证这些改变世界并激励下一代人的精彩瞬间。&lt;/p&gt;
&lt;h2 id=&#34;2024&#34;&gt;2024&lt;/h2&gt;
&lt;p&gt;今年，我们将庆祝 2024 年的突破性搜索。从标志性的表演到创造历史的突破，看看那些以我们意想不到的方式塑造了我们这一年的时刻。&lt;/p&gt;
&lt;h2 id=&#34;2025&#34;&gt;2025&lt;/h2&gt;
&lt;p&gt;这一年，我们上下求索，力求在发现中重塑自我，在反思中突破边界。且看 2025 年，世人如何重绘生活的蓝图。&lt;/p&gt;</description>
    </item>
    <item>
      <title>利用 acme.sh 为网站提供 ssl 支持</title>
      <link>https://sixdian.com/post/acme/</link>
      <pubDate>Wed, 07 Dec 2022 16:52:27 +0800</pubDate>
      <guid>https://sixdian.com/post/acme/</guid>
      <description>&lt;p&gt;原先用 Certbot 为网站安装证书时Nignx配置文件会被 Certbot 自动修改，令配置文件内容凌乱不堪，而且还要额外安装 Snap 影响服务器运行效率。所以放弃了 Certbot ，改用 acme.sh 生成和安装证书。
其安装和使用步骤如下：&lt;/p&gt;
&lt;h2 id=&#34;安装-acmesh&#34;&gt;安装 acme.sh&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;curl https://get.acme.sh | sh -s email=my@example.com # my@example.com 修改为你自己的 E-mail 地址
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;alias acme.sh=~/.acme.sh/acme.sh # 创建一个 shell 的 alias 方便使用
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;生成证书手动-dns-方式&#34;&gt;生成证书（手动 DNS 方式）&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;acme.sh --issue --dns -d sixdian.com -d *.sixdian.com --keylength ec-256 \
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; --yes-I-know-dns-manual-mode-enough-go-ahead-please
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;acme.sh 会生成相应的解析记录显示出来，然后在你的域名管理面板中添加这些 txt 记录。&lt;/p&gt;
&lt;h2 id=&#34;解析完成之后重新生成证书&#34;&gt;解析完成之后，重新生成证书&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;acme.sh --renew -d sixdian.com -d *.sixdian.com --ecc\
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  --yes-I-know-dns-manual-mode-enough-go-ahead-please
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;获取-cloudflare-api-key&#34;&gt;获取 cloudflare API key&lt;/h2&gt;
&lt;p&gt;地址：https://dash.cloudflare.com/profile/api-tokens&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-gdscript3&#34; data-lang=&#34;gdscript3&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;export&lt;/span&gt; CF_Key&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Global API Key&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#75715e&#34;&gt;# Global API Key 修改为你的 Cloudflare API 密钥&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;export&lt;/span&gt; CF_Email&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;my@example.com&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#75715e&#34;&gt;# my@example.com 修改为你 Cloudflare 账户绑定的邮箱&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;acme&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;sh  &lt;span style=&#34;color:#f92672&#34;&gt;--&lt;/span&gt;issue  &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;d sixdian&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;com &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;d &lt;span style=&#34;color:#f92672&#34;&gt;*.&lt;/span&gt;sixdian&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;com  &lt;span style=&#34;color:#f92672&#34;&gt;--&lt;/span&gt;dns dns_cf &lt;span style=&#34;color:#f92672&#34;&gt;--&lt;/span&gt;ecc &lt;span style=&#34;color:#75715e&#34;&gt;# 申请证书&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;安装证书以-nginx-为例&#34;&gt;安装证书（以 Nginx 为例）&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-gdscript3&#34; data-lang=&#34;gdscript3&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;acme&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;sh &lt;span style=&#34;color:#f92672&#34;&gt;--&lt;/span&gt;install&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;cert &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;d sixdian&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;com &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;d &lt;span style=&#34;color:#f92672&#34;&gt;*.&lt;/span&gt;sixdian&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;com \
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;--&lt;/span&gt;key&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;file       &lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;home&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;sixdian&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;ssl&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;key&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;pem  \
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;--&lt;/span&gt;fullchain&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;file &lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;home&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;sixdian&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;ssl&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;cert&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;pem \
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;--&lt;/span&gt;reloadcmd     &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;service nginx force-reload&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;开启-acmesh-自动升级&#34;&gt;开启 acme.sh 自动升级&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;acme.sh --upgrade --auto-upgrade
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <title>记一次 VPS 的宕机经历</title>
      <link>https://sixdian.com/post/centos-migrate-rocky-linux-nextcloud-install/</link>
      <pubDate>Fri, 13 May 2022 10:57:32 +0800</pubDate>
      <guid>https://sixdian.com/post/centos-migrate-rocky-linux-nextcloud-install/</guid>
      <description>&lt;p&gt;几天前我搭建在 HostHatch 的 Nextcloud 服务突然无法访问了。心想 HostHatch 此前已经连续稳定运行数年，故障大概率是我自己的设置问题或是服务器被入侵了，立马慌了。随即 ssh 登录服务器查看状况，结果 ssh 无法登录。又到控制台想通过VNC登录了解情况，结果系统卡在 GRUB 无法正常引导。进入 GRUB 救援模式，修改 GRUB 启动分区，加载基本模块等一通操作下来还是白忙活。ls查看设备状态，硬盘还是能读出来的。索性懒得折腾了，重装系统吧，反正本地还有备份不怕丢数据。&lt;/p&gt;
&lt;p&gt;CentOS8 目前已不受官方支持，而我又不想用 Stream 版的，考虑再三还是用 Rocky Linux 吧。&lt;/p&gt;
&lt;p&gt;由于这次故障来的太突然，而且故障的原因又不明，卡在 GRUB 估计与我上次安装系统使用了自定义 ISO 有关。所以这次舍弃了之前通过挂载 ISO 的方式直接装 Rocky Linux，而是先通过官方的 Image 重装 CentOS 8，再从 CentOS 8 迁移到 Rocky Linux。&lt;/p&gt;
&lt;h2 id=&#34;从-cenos-8-迁移到-rocky-linux&#34;&gt;从 CenOS 8 迁移到 Rocky Linux&lt;/h2&gt;
&lt;p&gt;重装完 CentOS 8 后首先修复存储库&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sed -i -r \
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    -e &amp;#39;s!^mirrorlist=!#mirrorlist=!&amp;#39; \
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    -e &amp;#39;s!^#?baseurl=http://(mirror|vault).centos.org/\$contentdir/\$releasever/!baseurl=https://dl.rockylinux.org/vault/centos/8.5.2111/!i&amp;#39; \
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    /etc/yum.repos.d/CentOS-*.repo
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;下载官方推荐的的迁移脚本文件&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-gdscript3&#34; data-lang=&#34;gdscript3&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;curl https:&lt;span style=&#34;color:#f92672&#34;&gt;//&lt;/span&gt;raw&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;githubusercontent&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;com&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;rocky&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;linux&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;rocky&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;tools&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;main&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;migrate2rocky&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;migrate2rocky&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;sh &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;o migrate2rocky&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;赋予脚本文件可执行权限&lt;/p&gt;</description>
    </item>
    <item>
      <title>利用 frp 搭建远程办公环境</title>
      <link>https://sixdian.com/post/remote-work/</link>
      <pubDate>Mon, 02 May 2022 15:05:44 +0800</pubDate>
      <guid>https://sixdian.com/post/remote-work/</guid>
      <description>&lt;p&gt;疫情当下，无法到公司上班，但公司的 ERP、共享文件等又只能在内网访问，在家办公着实不方便。有什么办法在家里也能像在公司一样方便的使用公司的内网服务呢？&lt;/p&gt;
&lt;p&gt;一般情况下公司网管会让你在公司电脑上装 TeamViewer、向日葵之类的远程桌面软件，或者用 QQ 的远程协助功能来解决。但这些方法需要在控制端与被控端都安装相同的软件才能正常连接，而且被控端失联后你还要请同事帮忙在被控端打开软件再进行连接。隐私也是个大问题，你所有的操作在被控电脑上都是可以实时看到的。&lt;/p&gt;
&lt;p&gt;frp 内网穿透 + Windows 自带的远程桌面完全可以规避以上软件的不足，让你愉快的在家享受远程办公的乐趣。如果公司网络有公网 IP，网管又乐意帮你做端口转发的话，其实也就用不到内网穿透了。本文介绍的就是以上条件都不具备的条件下如何自给自足，而且很流畅的实现远程办公。&lt;/p&gt;
&lt;p&gt;话不多说，开干吧！&lt;/p&gt;
&lt;p&gt;你所需的条件：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;一台有公网 IP 的 Linux 服务器&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;安装-frp-服务端软件&#34;&gt;安装 frp 服务端软件&lt;/h2&gt;
&lt;p&gt;下载 frp 软件包到服务器&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-gdscript3&#34; data-lang=&#34;gdscript3&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;wget https:&lt;span style=&#34;color:#f92672&#34;&gt;//&lt;/span&gt;github&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;com&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;fatedier&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;frp&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;releases&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;download&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;v0&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;42.0&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;frp_0&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;42.0&lt;/span&gt;_linux_amd64&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;tar&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;gz
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;解压软件包&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;tar -zxvf frp_0.42.0_linux_amd64.tar.gz
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;从服务器删除刚刚下载的软件包&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rm -f frp_0.42.0_linux_amd64.tar.gz
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;移动已解压的软件包文件夹到服务器 etc 文件夹下，并将文件夹重命名为 frp&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mv tar -zxvf frp_0.42.0_linux_amd64 /etc/frp
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;frps-服务的配置&#34;&gt;frps 服务的配置&lt;/h2&gt;
&lt;p&gt;编辑 frps 配置配置文件&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;vi /etc/frp/frps.ini
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;内容修改如下：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[common]
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;bind_port = 7000 #frps 服务监听端口
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;vhost_http_port = 8080 #如果客户端有 http 服务，用 serverip:8080 访问客户端的 http 服务
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;subdomain_host = sixdian.com #如果希望用域名访问客户端上的 http 服务则设置你自己的顶级域名地址，子域名在客户端设置
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;dashboard_port = 7500 #设置访问 frps 仪表板的端口
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;dashboard_user = username #设置访问仪表板的用户名 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;dashboard_pwd = ******** #设置访问仪表板的密码
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;token = ****** #设置连接服务端与客户端所使用的令牌
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;max_pool_count = 5
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;设置frps服务开机启动&#34;&gt;设置frps服务开机启动&lt;/h2&gt;
&lt;p&gt;新建 systemctl 配置文件&lt;/p&gt;</description>
    </item>
    <item>
      <title>Rocky Linux 禁用 Ipv6 的设置</title>
      <link>https://sixdian.com/post/rocky-disable-ipv6/</link>
      <pubDate>Sun, 01 May 2022 10:57:32 +0800</pubDate>
      <guid>https://sixdian.com/post/rocky-disable-ipv6/</guid>
      <description>&lt;p&gt;昨天 update 了一下服务器，想通过部署在上面的的 frps 内网穿透服务连接家里路由器的时候发现登录页面出错。随即查看 frps 是不是未运行，结果一切正常正常。于是查看 frps 监听的端口是否未在防火墙设置打开，结果也是打开的，没毛病呀。
于是查看端口占用：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;netstat -ntlp
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;figure&gt;
    &lt;img loading=&#34;lazy&#34; src=&#34;https://sixdian.com/image/rocky-disable-ipv6/1.webp&#34; width=&#34;100%&#34;/&gt; 
&lt;/figure&gt;

原来 fprs 只监听了 IPv6 地址，更新 frps 版本还是一样。GitHub 上 frp 的项目 Issues 里也没有找到有用的回答。于是 Google 大法开启，Search&amp;quot;rocky disable ipv6&amp;quot;，还真找到了解决方法。&lt;/p&gt;
&lt;p&gt;有效的答案是针对 CentOS 8 禁用 IPv6 的设置方法，由于 Rocky 就是基于 CentOS 所以这个方法也对 Rocky 适用。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ip a | grep inet6 #检查服务器是否启用了 IPv6
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;输出结果是肯定的，显示 IPv6 已开启&lt;/p&gt;
&lt;p&gt;具体的禁用 IPv6 方法有两种&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;使用 sysctl 命令禁用 IPv6 -此方法适用于临时禁用IPv6&lt;/li&gt;
&lt;li&gt;使用内核引导选项禁用 IPv6 -这是禁用IPv6的最佳方法&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;第一种方法-使用-sysctl-命令禁用-ipv6&#34;&gt;第一种方法-使用 sysctl 命令禁用 IPv6&lt;/h2&gt;
&lt;p&gt;创建一个新的 sysctl 配置文件 /etc/sysctl.d/70-ipv6.conf&lt;/p&gt;</description>
    </item>
    <item>
      <title>Nginx 性能优化及反向代理 NextCloud</title>
      <link>https://sixdian.com/post/nginx-set/</link>
      <pubDate>Fri, 29 Apr 2022 14:53:15 +0800</pubDate>
      <guid>https://sixdian.com/post/nginx-set/</guid>
      <description>&lt;p&gt;Nginx 是一个异步框架的网页服务器，具有占用内存少、稳定性高、可大量并行处理等特点。截止 2018 年，全球有 30.46% 的网站使用 Nginx 作为代理。除了网页代理外，Nginx 也可作为反向代理、负载均衡等应用，本站使用的网页服务器就是 Nginx。&lt;/p&gt;
&lt;p&gt;我的 Nextcloud 私有云是搭建在 HostHatch 洛杉矶数据中心的大容量机械硬盘 VPS 上。由于性能有限加上 HostHatch 没有对中国路由进行特别优化，导致国内直连的情况下丢包严重，连接状态极差。于是我用狗云圣何塞机房 4837 线路的 VPS 作为 Nextcloud 的中转来解决访问速度的问题，同时把本站也搭建在狗云的VPS上就不会有访问困难的问题了。这两种需求利用 Nginx 都能很好的满足。&lt;/p&gt;
&lt;h2 id=&#34;我-nginx-配置的基本架构&#34;&gt;我 Nginx 配置的基本架构：&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Nginx 提供本站的网页服务，并处理本站和 Nextcloud 的 HTTPS 加密。&lt;/li&gt;
&lt;li&gt;Nginx 为 Nextcloud 做反向代理，使客户端访问 Nextcloud 经过网络更好的 Nginx 所在的服务器来加速访问。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;优化要点&#34;&gt;优化要点：&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;合理的配置本地缓存&lt;/li&gt;
&lt;li&gt;开启压缩并做适当的配置&lt;/li&gt;
&lt;li&gt;反向代理服务器不要缓存后端的数据，只作为一个桥梁来提供中转服务。这样数据传输更加直接，同时也能减轻反向代理服务器的压力。（我的反向代理服务器只有 5G 的硬盘，如果开启反向代理缓存的话，向后端传输数据的最大文件大小会受这个缓存的限制）&lt;/li&gt;
&lt;li&gt;HTTPS 加密方式的选择&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;我的nginxconf配置&#34;&gt;我的nginx.conf配置&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-gdscript3&#34; data-lang=&#34;gdscript3&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;user  site site; &lt;span style=&#34;color:#75715e&#34;&gt;#用户和用户组&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;worker_processes  auto; &lt;span style=&#34;color:#75715e&#34;&gt;#CPU 核心数&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;worker_rlimit_nofile  &lt;span style=&#34;color:#ae81ff&#34;&gt;8192&lt;/span&gt;; &lt;span style=&#34;color:#75715e&#34;&gt;#最大打开文件数量&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;error_log  &lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;var&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;log&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;nginx&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;error&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;log notice;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pid        &lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;var&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;run&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;nginx&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;pid;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;events {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    use epoll; &lt;span style=&#34;color:#75715e&#34;&gt;#epoll事件模型&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    worker_connections  &lt;span style=&#34;color:#ae81ff&#34;&gt;1024&lt;/span&gt;; &lt;span style=&#34;color:#75715e&#34;&gt;#单个 worker 进程允许客户端最大连接数&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    multi_accept on; &lt;span style=&#34;color:#75715e&#34;&gt;#worker 按串行方式来处理连接&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;http {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    include       &lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;etc&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;nginx&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;mime&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;types; &lt;span style=&#34;color:#75715e&#34;&gt;#媒体类型&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    default_type  application&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;octet&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;stream; &lt;span style=&#34;color:#75715e&#34;&gt;#媒体类型&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    charset       UTF&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;8&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    log_format  main  &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;$remote_addr - $remote_user [$time_local] &amp;#34;$request&amp;#34; &amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                      &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;$status $body_bytes_sent &amp;#34;$http_referer&amp;#34; &amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                      &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&amp;#34;$http_user_agent&amp;#34; &amp;#34;$http_x_forwarded_for&amp;#34;&amp;#39;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    access_log  &lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;var&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;log&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;nginx&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;access&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;log  main;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 安全&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#   add_header X-Content-Type-Options nosniff;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    add_header X&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;XSS&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;Protection &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;1; mode=block&amp;#34;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#   add_header X-Robots-Tag none;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#   add_header X-Download-Options noopen;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#   add_header X-Permitted-Cross-Domain-Policies none;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    add_header Strict&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;Transport&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;Security &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;max-age=31536000; includeSubDomains&amp;#34;&lt;/span&gt; always;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#   add_header X-Frame-Options SAMEORIGIN; #不允许页面从框架 frame 或 iframe 中显示&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    ssl_session_cache   shared:SSL:&lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt;m;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    ssl_session_timeout &lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt;m;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    ssl_session_tickets on;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    ssl_stapling on;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    ssl_stapling_verify on;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    sendfile        on; &lt;span style=&#34;color:#75715e&#34;&gt;#开启高效文件传输模式&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    tcp_nopush      on; &lt;span style=&#34;color:#75715e&#34;&gt;#防止网路阻塞&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    keepalive_timeout  &lt;span style=&#34;color:#ae81ff&#34;&gt;65&lt;/span&gt;; &lt;span style=&#34;color:#75715e&#34;&gt;#客户端连接保持会话超时时间&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    tcp_nodelay     on; &lt;span style=&#34;color:#75715e&#34;&gt;#防止网络阻塞&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    types_hash_max_size &lt;span style=&#34;color:#ae81ff&#34;&gt;2048&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    client_header_buffer_size  &lt;span style=&#34;color:#ae81ff&#34;&gt;4096&lt;/span&gt;; &lt;span style=&#34;color:#75715e&#34;&gt;#客户端请求头部的缓冲区大小,getconf PAGESIZE 命令查看&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    open_file_cache max&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;8192&lt;/span&gt; inactive&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;20&lt;/span&gt;s; &lt;span style=&#34;color:#75715e&#34;&gt;#打开文件指定缓存，建议和打开文件数一致，inactive 经过多长时间文件没被请求后删除缓存&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    open_file_cache_valid &lt;span style=&#34;color:#ae81ff&#34;&gt;30&lt;/span&gt;s; &lt;span style=&#34;color:#75715e&#34;&gt;#多长时间检查一次缓存的有效信息&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    open_file_cache_min_uses &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;; &lt;span style=&#34;color:#75715e&#34;&gt;#open_file_cache 指令中的 inactive 时间内文件的最少使用次数，1次都没用，删除&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    client_header_timeout &lt;span style=&#34;color:#ae81ff&#34;&gt;15&lt;/span&gt;; &lt;span style=&#34;color:#75715e&#34;&gt;#设置请求头的超时时间，超过这个时间没有发送任何数据，返回 request time out 错误&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    client_body_timeout &lt;span style=&#34;color:#ae81ff&#34;&gt;15&lt;/span&gt;; &lt;span style=&#34;color:#75715e&#34;&gt;#设置请求体的超时时间&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    reset_timedout_connection on; &lt;span style=&#34;color:#75715e&#34;&gt;#关闭不响应的 client 连接，释放那个 client 所占有的内存&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    send_timeout &lt;span style=&#34;color:#ae81ff&#34;&gt;15&lt;/span&gt;; &lt;span style=&#34;color:#75715e&#34;&gt;#超过这个时间，客户端没有任何活动，nginx 关闭连接&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    server_tokens off; &lt;span style=&#34;color:#75715e&#34;&gt;#关闭 Nginx 版本号&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    client_max_body_size &lt;span style=&#34;color:#ae81ff&#34;&gt;614400&lt;/span&gt;m; &lt;span style=&#34;color:#75715e&#34;&gt;#上传文件大小限制&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 反向代理&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    proxy_buffering off;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    proxy_max_temp_file_size &lt;span style=&#34;color:#ae81ff&#34;&gt;614400&lt;/span&gt;m; &lt;span style=&#34;color:#75715e&#34;&gt;#反向代理上传文件大小限制&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    proxy_set_header        X&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;Real_IP       &lt;span style=&#34;color:#f92672&#34;&gt;$&lt;/span&gt;remote_addr;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    proxy_set_header        X&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;Forwarded&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;For &lt;span style=&#34;color:#f92672&#34;&gt;$&lt;/span&gt;proxy_add_x_forwarded_for;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    proxy_set_header        Host            &lt;span style=&#34;color:#f92672&#34;&gt;$&lt;/span&gt;http_host;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    proxy_pass_header       Set&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;Cookie;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    proxy_pass_header       X&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;CSRF&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;TOKEN;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    proxy_set_header Upgrade &lt;span style=&#34;color:#f92672&#34;&gt;$&lt;/span&gt;http_upgrade; &lt;span style=&#34;color:#75715e&#34;&gt;#连接升级为 WebSocket&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    proxy_set_header Connection &lt;span style=&#34;color:#f92672&#34;&gt;$&lt;/span&gt;connection_upgrade; &lt;span style=&#34;color:#75715e&#34;&gt;#连接 map&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    proxy_connect_timeout   &lt;span style=&#34;color:#ae81ff&#34;&gt;60&lt;/span&gt;s; &lt;span style=&#34;color:#75715e&#34;&gt;#代理超时&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    proxy_read_timeout      &lt;span style=&#34;color:#ae81ff&#34;&gt;60&lt;/span&gt;s; &lt;span style=&#34;color:#75715e&#34;&gt;#读取超时&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    proxy_send_timeout      &lt;span style=&#34;color:#ae81ff&#34;&gt;60&lt;/span&gt;s; &lt;span style=&#34;color:#75715e&#34;&gt;#请求改善超时&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;#proxy_redirect         off;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    fastcgi_connect_timeout &lt;span style=&#34;color:#ae81ff&#34;&gt;600&lt;/span&gt;; &lt;span style=&#34;color:#75715e&#34;&gt;#指定连接到后端 FastCGI 的超时时间&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    fastcgi_send_timeout &lt;span style=&#34;color:#ae81ff&#34;&gt;600&lt;/span&gt;; &lt;span style=&#34;color:#75715e&#34;&gt;#向 FastCGI 传送请求的超时时间&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    fastcgi_read_timeout &lt;span style=&#34;color:#ae81ff&#34;&gt;600&lt;/span&gt;; &lt;span style=&#34;color:#75715e&#34;&gt;#指定接收 FastCGI 应答的超时时间&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    fastcgi_buffer_size &lt;span style=&#34;color:#ae81ff&#34;&gt;64&lt;/span&gt;k; &lt;span style=&#34;color:#75715e&#34;&gt;#指定读取 FastCGI 应答第一部分需要用多大的缓冲区&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    fastcgi_buffers &lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;64&lt;/span&gt;k; &lt;span style=&#34;color:#75715e&#34;&gt;#指定本地需要用多少和多大的缓冲区来缓冲 FastCGI 的应答请求&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    fastcgi_busy_buffers_size &lt;span style=&#34;color:#ae81ff&#34;&gt;128&lt;/span&gt;k; &lt;span style=&#34;color:#75715e&#34;&gt;#建议设置为 fastcgi_buffers 的两倍&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    fastcgi_temp_file_write_size &lt;span style=&#34;color:#ae81ff&#34;&gt;128&lt;/span&gt;k; &lt;span style=&#34;color:#75715e&#34;&gt;#在写入 fastcgi_temp_path 时将用多大的数据块,默认值是 fastcgi_buffers 的两倍&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    fastcgi_temp_path &lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;tmp; &lt;span style=&#34;color:#75715e&#34;&gt;#缓存临时目录&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    fastcgi_intercept_errors on; &lt;span style=&#34;color:#75715e&#34;&gt;#指定是否传递 4xx 和 5xx 错误信息到客户端&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    fastcgi_cache_path &lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;tmp&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;blog levels&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;:&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt; keys_zone&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;cache_fastcgi:&lt;span style=&#34;color:#ae81ff&#34;&gt;300&lt;/span&gt;m inactive&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;60&lt;/span&gt;m max_size&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;3584&lt;/span&gt;m; &lt;span style=&#34;color:#75715e&#34;&gt;#fastcgi_cache 缓存目录&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    fastcgi_cache cache_fastcgi; &lt;span style=&#34;color:#75715e&#34;&gt;#开启 FastCGI 缓存并为其指定一个名称&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    fastcgi_cache_valid &lt;span style=&#34;color:#ae81ff&#34;&gt;200&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;302&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;h; &lt;span style=&#34;color:#75715e&#34;&gt;#用来指定应答代码的缓存时间&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    fastcgi_cache_valid &lt;span style=&#34;color:#ae81ff&#34;&gt;301&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;d; &lt;span style=&#34;color:#75715e&#34;&gt;#将 301 应答缓存一天&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    fastcgi_cache_valid any &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;m; &lt;span style=&#34;color:#75715e&#34;&gt;#将其他应答缓存为1分钟&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    fastcgi_cache_min_uses &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;; &lt;span style=&#34;color:#75715e&#34;&gt;#设置经过多少次请求的相同 URL 将被缓存&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    fastcgi_cache_key http:&lt;span style=&#34;color:#f92672&#34;&gt;//$&lt;/span&gt;host&lt;span style=&#34;color:#f92672&#34;&gt;$&lt;/span&gt;request_uri; &lt;span style=&#34;color:#75715e&#34;&gt;#设置 web 缓存的 Key 值&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;#fastcgi_pass; #指定 FastCGI 服务器监听端口与地址&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    gzip  on; &lt;span style=&#34;color:#75715e&#34;&gt;#开启压缩&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    gzip_disable &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;msie6&amp;#34;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    gzip_min_length &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;k; &lt;span style=&#34;color:#75715e&#34;&gt;#允许压缩的页面最小字节数&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    gzip_buffers &lt;span style=&#34;color:#ae81ff&#34;&gt;32&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt;k; &lt;span style=&#34;color:#75715e&#34;&gt;#压缩缓冲区大小&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    gzip_http_version &lt;span style=&#34;color:#ae81ff&#34;&gt;1.1&lt;/span&gt;; &lt;span style=&#34;color:#75715e&#34;&gt;#压缩版本&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    gzip_comp_level &lt;span style=&#34;color:#ae81ff&#34;&gt;9&lt;/span&gt;; &lt;span style=&#34;color:#75715e&#34;&gt;#压缩比例（1-9）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    gzip_proxied any; &lt;span style=&#34;color:#75715e&#34;&gt;#对代理启用压缩&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    gzip_types text&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;plain text&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;css application&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;json application&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;x&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;javascript text&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;xml application&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;xml application&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;xml&lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt;rss text&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;javascript;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    gzip_vary on; &lt;span style=&#34;color:#75715e&#34;&gt;#varyheader 支持&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    map &lt;span style=&#34;color:#f92672&#34;&gt;$&lt;/span&gt;http_upgrade &lt;span style=&#34;color:#f92672&#34;&gt;$&lt;/span&gt;connection_upgrade {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        default upgrade;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&amp;#39;&lt;/span&gt;      close;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    include &lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;etc&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;nginx&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;conf&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;d&lt;span style=&#34;color:#f92672&#34;&gt;/*.&lt;/span&gt;conf;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;我的-confd-里面本站服务器配置&#34;&gt;我的 conf.d 里面本站服务器配置&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;server {    
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    listen 443 ssl;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    #listen [::]:443 ssl ipv6only=on;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    server_name  sixdian.com;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    root         /home/site/sixdian.com;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    ssl_certificate /etc/letsencrypt/live/sixdian.com-0001/fullchain.pem;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    ssl_certificate_key /etc/letsencrypt/live/sixdian.com-0001/privkey.pem;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    ssl_prefer_server_ciphers on;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    ssl_ciphers &amp;#39;ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:ECDHE-RSA-DES-CBC3-SHA:ECDHE-ECDSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA&amp;#39;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    # expires 缓存调优
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    location ~* \.(ico|jpeg|gif|png|bmp|swf|flv)$ {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        expires 30d;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        #log_not_found off;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        access_log off;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        location ~* \.(js|css)$ {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        expires 1d;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        log_not_found off;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        access_log off;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        # 防盗链(未成功)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        #location ~*^.+\.(jpg|gif|png|swf|flv|wma|wmv|asf|mp3|mmf|zip|rar)$ {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        #valid_referers sixdian.com;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        #if($invalid_referer) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        #return 404;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        #break;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        #}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        #access_log off;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        #}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;server {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    listen 80;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    #listen [::]:80 ipv6only=on;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    server_name  sixdian.com;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        return 301 https://sixdian.com$request_uri;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;server {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    listen 80;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    server_name  www.sixdian.com;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        return 301 https://sixdian.com$request_uri;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;我-confd-里面-nextcloud-服务器配置&#34;&gt;我 conf.d 里面 Nextcloud 服务器配置&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;server {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    listen 443 ssl;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    server_name  drive.sixdian.com;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    ssl_certificate /etc/letsencrypt/live/sixdian.com/fullchain.pem;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    ssl_certificate_key /etc/letsencrypt/live/sixdian.com/privkey.pem;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    ssl_prefer_server_ciphers on;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    ssl_ciphers &amp;#39;ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:ECDHE-RSA-DES-CBC3-SHA:ECDHE-ECDSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA&amp;#39;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    location / {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    proxy_pass http://s1.sixdian.com:****;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    location = /.well-known/carddav {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        return 301 $scheme://drive.sixdian.com/remote.php/dav/files/****/;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    location = /.well-known/caldav {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        return 301 $scheme://drive.sixdian.com/remote.php/dav/files/****/;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;server {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    listen 80;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    server_name  drive.sixdian.com;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        return   301 https://drive.sixdian.com$request_uri;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    location = /.well-known/carddav {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        return   301 $scheme://drive.sixdian.com/remote.php/dav/files/****/;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    location = /.well-known/caldav {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        return   301 $scheme://drive.sixdian.com/remote.php/dav/files/****/;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;我的-nextcloud-服务器-configphp-配置文件&#34;&gt;我的 NextCloud 服务器 config.php 配置文件&lt;/h2&gt;
&lt;p&gt;位置在：/var/snap/nextcloud/current/nextcloud/config/config.php&lt;/p&gt;</description>
    </item>
    <item>
      <title>Linux 系统的安全设置</title>
      <link>https://sixdian.com/post/linux-security/</link>
      <pubDate>Sat, 23 Apr 2022 14:13:18 +0800</pubDate>
      <guid>https://sixdian.com/post/linux-security/</guid>
      <description>&lt;p&gt;Root 是 Linux 系统的超级管理员账户，拥有整个系统的最高权限，可操作系统内的所有对象。一般情况下开放了对外服务的linux系统需要设置一些安全策略来保证服务器的安全，同时亦能防止系统管理员由于平时管理过程中的误操作而导致系统不可挽回的错误。&lt;/p&gt;
&lt;p&gt;SELinux 是 Linux 内核的安全模块，Root 账户的登录权限可由 SELinux 模块进行定义。&lt;/p&gt;
&lt;p&gt;下面就介绍如何对系统进行设定来规避一些潜在的安全风险。&lt;/p&gt;
&lt;h2 id=&#34;安全设置思路&#34;&gt;安全设置思路&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;禁用 root 登录权限&lt;/li&gt;
&lt;li&gt;修改 ssh 默认端口&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;root-用户的禁止登录设置&#34;&gt;Root 用户的禁止登录设置&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;useradd username #username 为你要添加的用户名称
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;passwd username #设置 username 的用户密码
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;vi /etc/ssh/sshd_config #打开 ssh 配置文件
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;PermitRootLogin no #在 ssh 配置文件中找到 PermitRootLogin 这项，把后面默认的 yes 修改为 no 禁止 root 用户登录
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;service sshd restart #重启 sshd 服务
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;ssh-默认端口的修改&#34;&gt;ssh 默认端口的修改&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-gdscript3&#34; data-lang=&#34;gdscript3&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;firewall&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;cmd &lt;span style=&#34;color:#f92672&#34;&gt;--&lt;/span&gt;zone&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;public &lt;span style=&#34;color:#f92672&#34;&gt;--&lt;/span&gt;add&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;port&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;xxxx&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;tcp &lt;span style=&#34;color:#f92672&#34;&gt;--&lt;/span&gt;permanent &lt;span style=&#34;color:#75715e&#34;&gt;#系统防火墙开放需要加入的端口，xxxx 为你需要加入的端口号&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;firewall&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;cmd &lt;span style=&#34;color:#f92672&#34;&gt;--&lt;/span&gt;reload &lt;span style=&#34;color:#75715e&#34;&gt;#重新加载系统防火墙设置，使刚才加入的端口生效&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;systemctl restart firewalld&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;service &lt;span style=&#34;color:#75715e&#34;&gt;#重启系统防火墙&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;firewall&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;cmd &lt;span style=&#34;color:#f92672&#34;&gt;--&lt;/span&gt;list&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;ports &lt;span style=&#34;color:#75715e&#34;&gt;#列出系统防火墙已开放端口，你会发现你刚才设置的端口号已经加入其中&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;vi &lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;etc&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;ssh&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;sshd_config &lt;span style=&#34;color:#75715e&#34;&gt;#打开 ssh 配置文件&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#Port 22 #默认 ssh 登录端口，前面加#号注释掉默认的22端口&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Port xxxx &lt;span style=&#34;color:#75715e&#34;&gt;#xxxx 为你需要添加 ssh 登录权限的端口号&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;semanage port &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;a &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;t ssh_port_t &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;p tcp xxxx &lt;span style=&#34;color:#75715e&#34;&gt;#xxxx 为你需要添加 ssh 登录权限的端口号,这一步是将端口加入到 SELinux 安全模块&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;semanage port &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;l&lt;span style=&#34;color:#f92672&#34;&gt;|&lt;/span&gt;grep ssh &lt;span style=&#34;color:#75715e&#34;&gt;#列出具有 ssh 权限的端口号，出现你设置的端口号证明向 SELinux 已经加入成功&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;systemctl reload sshd &lt;span style=&#34;color:#75715e&#34;&gt;#重新加载 ssh 服务使刚才的设置生效&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;systemctl restart sshd &lt;span style=&#34;color:#75715e&#34;&gt;#重启 ssh 服务&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;reboot &lt;span style=&#34;color:#75715e&#34;&gt;#重启&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ssh username&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;@&lt;/span&gt;ip:port &lt;span style=&#34;color:#75715e&#34;&gt;#尝试用新的端口号登录系统&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <title>利用 Docker 容器安装 Haproxy</title>
      <link>https://sixdian.com/post/docker-haproxy/</link>
      <pubDate>Fri, 22 Apr 2022 19:50:20 +0800</pubDate>
      <guid>https://sixdian.com/post/docker-haproxy/</guid>
      <description>&lt;p&gt;Docker 是一个开源软件平台。与虚拟机类似，准确的说是在操作系统层虚拟化，让软件成为标准化的单元。它可以使几乎任何软件部署到跨平台的操作系统上。&lt;/p&gt;
&lt;p&gt;Haproxy 是用 C 语言编写的开源 TCP/HTTP 代理、负载均衡应用程序。&lt;/p&gt;
&lt;p&gt;下面就介绍我在 Rocky Linux 平台下用 Docker 部署 Haproxy 实现代理后端网站的案例&lt;/p&gt;
&lt;h2 id=&#34;设置存储库&#34;&gt;设置存储库&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo yum install -y yum-utils
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-gdscript3&#34; data-lang=&#34;gdscript3&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo yum&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;config&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;manager \
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;--&lt;/span&gt;add&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;repo \
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    https:&lt;span style=&#34;color:#f92672&#34;&gt;//&lt;/span&gt;download&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;docker&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;com&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;linux&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;centos&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;docker&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;ce&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;repo
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;安装-docker-引擎&#34;&gt;安装 Docker 引擎&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo yum install docker-ce docker-ce-cli containerd.io
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;启动-docker-并设置开机启动&#34;&gt;启动 Docker 并设置开机启动&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo systemctl start docker
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo systemctl enable docker
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;拉取-haproxy-容器镜像并启动容器&#34;&gt;拉取 Haproxy 容器镜像并启动容器&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;docker run -d --name haproxy -v /etc/haproxy/haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg:ro -p 80:80 -p 443:443 -p 8500:8500  --restart always haproxy:2.3.19-alpine3.15
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Hugo 使用 Jane 主题常用的一些配置</title>
      <link>https://sixdian.com/post/jane-theme-config/</link>
      <pubDate>Thu, 21 Apr 2022 20:08:35 +0800</pubDate>
      <guid>https://sixdian.com/post/jane-theme-config/</guid>
      <description>&lt;p&gt;Hugo 下的 Jane 主题是基于 even 主题进行的重新改造，主要有以下特色：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;响应式设计&lt;/li&gt;
&lt;li&gt;多国语言支持&lt;/li&gt;
&lt;li&gt;支持多个 Shortcode&lt;/li&gt;
&lt;li&gt;单独设计的标签页和分类页&lt;/li&gt;
&lt;li&gt;支持社交网站链接&lt;/li&gt;
&lt;li&gt;优秀的分页、目录、注脚样式&lt;/li&gt;
&lt;li&gt;使用更快的 Chroma 代码高亮&lt;/li&gt;
&lt;li&gt;自定义 css、js、head&lt;/li&gt;
&lt;li&gt;支持子目录&lt;/li&gt;
&lt;li&gt;搜索引擎优化&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;初始化的样式展示的元素繁多可能不太符合每个人的实际需求，我们需要对需要显示的内容样式进行修改来增强站点整体的美感。下面就介绍如何改靠自己的独特主题：&lt;/p&gt;
&lt;p&gt;默认情况下生成的站点部署后我我们会发现在手机上点按菜单位置无效，无法正常显示下拉菜单。我们可以按照下面的方法让菜单能在移动端正常显示。&lt;/p&gt;
&lt;h2 id=&#34;jane-主题移动端无法显示下拉菜单的解决方法&#34;&gt;Jane 主题移动端无法显示下拉菜单的解决方法&lt;/h2&gt;
&lt;p&gt;themes\jane\layouts\partials\scripts.html #根据路径找到这个文件,删除其中的 integrity 属性&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;lt;script type=&amp;#34;text/javascript&amp;#34; src=&amp;#34;{{ $secureJS.RelPermalink }}&amp;#34; integrity=&amp;#34;{{ $secureJS.Data.Integrity }}&amp;#34; crossorigin=&amp;#34;anonymous&amp;#34;&amp;gt;&amp;lt;/script&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;另外现在人们通过 RSS 客户端阅读的方式已经越来越少，Jane 主题内的 RSS 订阅图标我个人觉得太过多余不符合我追求简洁的审美观，所以也要对它进行隐藏处理。具体处理方法如下：&lt;/p&gt;
&lt;h2 id=&#34;jane-主题底部-rss-订阅图标删除&#34;&gt;Jane 主题底部 RSS 订阅图标删除&lt;/h2&gt;
&lt;p&gt;./layouts/partials/social_links.html #在 themes 文件夹下根据路径找到这个文件，删除以下代码&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;lt;!--
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;{{/* RSS icon  */}}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;{{ with .Site.GetPage &amp;#34;home&amp;#34; -}}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  {{- with .OutputFormats.Get &amp;#34;RSS&amp;#34; -}}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &amp;lt;a href=&amp;#34;{{ .Permalink }}&amp;#34; rel=&amp;#34;noopener {{ .Rel }}&amp;#34; type=&amp;#34;{{ .MediaType.Type }}&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    class=&amp;#34;iconfont&amp;#34; title=&amp;#34;rss&amp;#34; target=&amp;#34;_blank&amp;#34;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    {{ partial &amp;#34;svg/rss.svg&amp;#34; }}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &amp;lt;/a&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  {{ end -}}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;{{- end -}}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;--&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;其它需要设置的细节内容过多，而且过于简单，下面统一做个总结：&lt;/p&gt;</description>
    </item>
    <item>
      <title>利用 Hugo 搭建 Blog</title>
      <link>https://sixdian.com/post/hugo-blog/</link>
      <pubDate>Wed, 20 Apr 2022 14:27:53 +0800</pubDate>
      <guid>https://sixdian.com/post/hugo-blog/</guid>
      <description>&lt;p&gt;Hugo 是一个用 Go 语言编写的开源静态网站生成器，只需几秒钟即可生成一个网站，被认为是目前世界上最快的网站构建框架（本站的搭建就是基于 Hugo）。下面就介绍如何利用 Hugo 建立自己的独立 Blog。&lt;/p&gt;
&lt;p&gt;本方案需具备以下条件：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;一台拥有 80 端口权限的 Linux 服务器或 VPS。（本教程是基于 Rocky Linux 操作系统的 VPS）&lt;/li&gt;
&lt;li&gt;拥有一个域名并解析到目标服务器IP。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;大致步骤：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;本地电脑利用 Hugo 生成静态网站。&lt;/li&gt;
&lt;li&gt;利用 Git（一个开源分布式版本控制工具）将本地生成的网站部署到服务器。&lt;/li&gt;
&lt;li&gt;服务器上使用 Nginx（一个异步框架的网页服务器）为网站提供代理服务。&lt;/li&gt;
&lt;li&gt;使用 Let&amp;rsquo;s Encrypt 的 TSL 证书为网页传输提供加密特性。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;安装-git&#34;&gt;安装 Git&lt;/h2&gt;
&lt;p&gt;本地&lt;a href=&#34;https://git-scm.com/downloads&#34;&gt;下载&lt;/a&gt;安装 Git 并设置环境变量&lt;/p&gt;
&lt;h2 id=&#34;安装-hugo&#34;&gt;安装 Hugo&lt;/h2&gt;
&lt;p&gt;本地&lt;a href=&#34;https://github.com/gohugoio/hugo/releases&#34;&gt;下载&lt;/a&gt;安装 Hugo&lt;/p&gt;
&lt;h2 id=&#34;利用-hugo-创建一个新站点&#34;&gt;利用 Hugo 创建一个新站点&lt;/h2&gt;
&lt;p&gt;终端下执行如下代码：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;hugo new site sitename #其中 sitename 为站点文件夹名。
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这样就在当前目录下生成一个名叫 &amp;ldquo;sitename&amp;rdquo; 的初始站点文件夹。&lt;/p&gt;
&lt;p&gt;进入站点目录：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cd sitename
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;你会看到站点目录结构：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;- archetypes
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;- content
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;- data
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;- layouts
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;- public
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;- resources
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;- static
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;- themes
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  * config.toml
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;添加主题&#34;&gt;添加主题&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cd themes
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git clone https://github.com/xianmin/hugo-theme-jane.git --depth=1 themes/jane
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;复制示例文件到站点内容目录：&lt;/p&gt;</description>
    </item>
    <item>
      <title>About</title>
      <link>https://sixdian.com/about/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://sixdian.com/about/</guid>
      <description>&lt;p&gt;&lt;strong&gt;本站诞生于 2022 年 4 月份上海疫情最为严重的时候。我被“静态管理”期间搭建起来的，用于记录我学习和生活的展示平台。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;我时常会运动，骑行是我主要的健身方式。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;IT 知识的学习有助于我消遣闲暇时光，顺便对学到的知识加以利用来提高日常工作效率。&lt;/strong&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&#34;我常去的地方&#34;&gt;我常去的地方：&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://google.com/ncr&#34;&gt;Google&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://v2ex.com/&#34;&gt;V2EX&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://segmentfault.com/&#34;&gt;SegmentFault&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.solidot.org/&#34;&gt;奇客 Solidot&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.zaobao.com/&#34;&gt;联合早报&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://theinitium.com/&#34;&gt;端传媒&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://t.me/tnews365&#34;&gt;竹新社&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://cn.nytimes.com/&#34;&gt;纽约时报&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://cn.wsj.com/zh-hant&#34;&gt;华尔街日报&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;del&gt;&lt;a href=&#34;https://sao.fm/&#34;&gt;思奥音乐&lt;/a&gt;&lt;/del&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.youtube.com/&#34;&gt;YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://tv.cctv.com/live/cctv13/?spm=C28340.P4hQlpYBT2vN.ExidtyEJcS5K.25&#34;&gt;CCTV-13 新闻&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://gemini.google.com/app&#34;&gt;Gemini&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com&#34;&gt;ChatGPT&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://grok.com/&#34;&gt;Grok&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.perplexity.ai/&#34;&gt;Perplexity&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://felo.ai/&#34;&gt;Felo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://huggingface.co/&#34;&gt;Hugging Face&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id=&#34;我使用的科学上网工具&#34;&gt;我使用的科学上网工具&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;del&gt;shadowsocks-libev&lt;/del&gt;&lt;/li&gt;
&lt;li&gt;&lt;del&gt;Hysteria&lt;/del&gt;&lt;/li&gt;
&lt;li&gt;Hysteria 2 ( Docker 部署 ) - 一个强大、快速、抗审查的服务端代理工具&lt;/li&gt;
&lt;li&gt;Clash Meta for Android - 基于规则的 Android 隧道代理客户端&lt;/li&gt;
&lt;li&gt;Clash Verge - 基于 Tauri 的现代 GUI 代理客户端&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;&lt;del&gt;我分别在 HostHatch 洛杉矶、狗云圣何塞和狗云 HK 搭建了三台科学上网服务器，并在家里的软路由上进行分流：境内数据不走代理，浏览境外网页走狗云HK，观看境外 YouTube、Netflix 等平台上的视频走狗云圣何塞，HostHatch 洛杉矶由于网络性能太差只作为备用。&lt;/del&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;del&gt;迫于特殊时期IP频繁遭屏蔽，已入坑机场&lt;/del&gt;&lt;/em&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&#34;我使用的私有云服务端工具&#34;&gt;我使用的私有云服务端工具&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;del&gt;Nextcloud Hub&lt;/del&gt; Nextcloud All-in-One&lt;/li&gt;
&lt;li&gt;&lt;del&gt;Seafile - 一个开源、跨平台的文件托管软件系统&lt;/del&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;我的个人数据位于 HostHatch 洛杉矶数据中心的 VPS 上，它拥有 750G 存储容量&lt;/em&gt;&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
