<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh_CN">
  <title>不旺の博客</title>
  <subtitle>梦想是吃麦当当不用看价格</subtitle>
  <link href="https://www.yisibuwang.top/" rel="alternate" type="text/html"/>
  <link href="https://www.yisibuwang.top/atom.xml" rel="self" type="application/atom+xml"/>
  <id>https://www.yisibuwang.top/</id>
  <updated>2026-08-31T00:00:00.000Z</updated>
  <entry>
    <title>快开学了，聊聊近况</title>
    <link href="https://www.yisibuwang.top/posts/2026-08-31-%E5%BF%AB%E6%94%B6%E5%81%87%E4%BA%86%E8%81%8A%E8%81%8A%E8%BF%91%E5%86%B5/" rel="alternate" type="text/html"/>
    <id>https://www.yisibuwang.top/posts/2026-08-31-%E5%BF%AB%E6%94%B6%E5%81%87%E4%BA%86%E8%81%8A%E8%81%8A%E8%BF%91%E5%86%B5/</id>
    <published>2026-08-31T00:00:00.000Z</published>
    <updated>2026-08-31T00:00:00.000Z</updated>
    <summary>马上收假了，过的真快，有可能这是我的最后一个暑假了；将近两个月没有写一篇文章了，事实上，这一整个假期我连电脑都很少碰</summary>
    <content type="html"><![CDATA[<h1>聊聊近况</h1>
<p>马上收假了，过的真快，有可能这是我的最后一个暑假了；将近两个月没有写一篇文章了，事实上，这一整个假期我连电脑都很少碰</p>
<h2>固定节目回老家</h2>
<p>每次放假都得回一趟老家，爷爷年纪上去了，不知道为什么死活不愿意搬到城里住，一大家子的脾气都是继承的倔说是，但乡下除了热一点其实还是住的蛮舒服的</p>
<p><img src="2026-08-31-web2.webp" alt="二爷爷家的猫猫" />
&lt;p style="text-align: center; color: gray;"&gt;二爷爷家的猫猫&lt;/p&gt;</p>
<p>哦对了，我已经有段时间没讲过有笨比一直开着1080p看视频导致3天吧流量看完欠费的故事了</p>
<p><img src="2026-08-31-web3.webp" alt="后面家里又断几次网，超套费干到100了我超威" />
&lt;p style="text-align: center; color: gray;"&gt;后面家里又断几次网，超套费干到100了我超威&lt;/p&gt;</p>
<h2>考驾照</h2>
<p>整个暑假都是围绕考驾照过的，大家一开始都是哪里哪里比较坑，实际考完了还挺轻松？但人黑了一圈是真的</p>
<p>虽然都是压线过，但好像都是一些乱七八糟的情况，过几天把科四考了拿证</p>
<p><img src="2026-08-31-web4.webp" alt="都是压线过" />
&lt;p style="text-align: center; color: gray;"&gt;都是压线过&lt;/p&gt;</p>
<p>说实话刚开始准备考科二的时候紧张的犹如高考了，尤其是第一圈挂了的时候脚都不受控制的抖了起来，后面科三反倒觉得很无所谓了，我这人就是这样做事一回生二回熟，所以向来很抗拒自己一个人去做一些没做过的事</p>
<p><img src="2026-08-31-web5.webp" alt="alt text" /></p>
<h2>还干了啥</h2>
<p>其实最近已经在准备考试了来着，想着把英语学一学，等开学了之前一起玩的一些同学都去实习甚至已经在不错的位置上了，知道后也难免焦虑</p>
<p>闲暇之余也玩了玩ai编程等之前接触不多的东西，后面应该会总结一下写篇文章分享</p>
]]></content>
    <author><name>不旺の博客</name></author>
    <category term="随手记录"/>
  </entry>
  <entry>
    <title>博客已升级并对所有文章链接进行的更改</title>
    <link href="https://www.yisibuwang.top/posts/2026-08-15-%E5%8D%9A%E5%AE%A2%E5%B7%B2%E5%8D%87%E7%BA%A7%E5%B9%B6%E5%AF%B9%E6%89%80%E6%9C%89%E6%96%87%E7%AB%A0%E9%93%BE%E6%8E%A5%E8%BF%9B%E8%A1%8C%E7%9A%84%E6%9B%B4%E6%94%B9/" rel="alternate" type="text/html"/>
    <id>https://www.yisibuwang.top/posts/2026-08-15-%E5%8D%9A%E5%AE%A2%E5%B7%B2%E5%8D%87%E7%BA%A7%E5%B9%B6%E5%AF%B9%E6%89%80%E6%9C%89%E6%96%87%E7%AB%A0%E9%93%BE%E6%8E%A5%E8%BF%9B%E8%A1%8C%E7%9A%84%E6%9B%B4%E6%94%B9/</id>
    <published>2026-08-15T00:00:00.000Z</published>
    <updated>2026-08-15T00:00:00.000Z</updated>
    <summary>博客已升级到mizuki V9.0，并进行了多项改动</summary>
    <content type="html"><![CDATA[<h1>博客已升级到mizuki V9.0，并进行了多项改动</h1>
<ul>
<li>已将现有的博客框架版本 V8.3 --&gt; V9.0，博客中一些诡异的样式问题也一同得到了修复</li>
<li>将评论系统升级为可在腾讯云edgeoen中部署的Twikoo，并将前后端版本升级至最新以保持一致，现在评论和回复可以正确的收到邮件回复了</li>
<li>更改了几乎所有文章的固定链接，因为博客先前的robots.txt导致文章均不会被搜索引擎编入索引</li>
<li>将侧边栏的目录滚动条进行了修改，现在它能够以符合整体风格的样式正确工作了</li>
<li>今后将博客相关的文章统一使用分类：博客更改记录 来统一存储，未来可能会考虑单独新加页面来存放</li>
</ul>
]]></content>
    <author><name>不旺の博客</name></author>
    <category term="博客更改记录"/>
  </entry>
  <entry>
    <title>关于笔记分类</title>
    <link href="https://www.yisibuwang.top/posts/note/" rel="alternate" type="text/html"/>
    <id>https://www.yisibuwang.top/posts/note/</id>
    <published>2026-07-06T00:00:00.000Z</published>
    <updated>2026-07-06T00:00:00.000Z</updated>
    <summary>我突然觉得自己写的一些笔记有些混乱且不好查找了，故此单独开一个笔记的分类，写给自己看的就全部丢里面，将一个单独的东西开一篇单独的文章，只需要随着学习的进度不断更新即可</summary>
    <content type="html"><![CDATA[<h1>笔记分类</h1>
<p>我突然觉得自己写的一些笔记有些混乱且不好查找了，故此单独开一个笔记的分类，写给自己看的就全部丢里面，将一个单独的东西开一篇单独的文章，只需要随着学习的进度不断更新即可</p>
<p>但又觉得这种事情放在第一篇文章的前言叭叭不太好，但我这破性格不说出来又觉得不舒服</p>
]]></content>
    <author><name>不旺の博客</name></author>
    <category term="笔记"/>
  </entry>
  <entry>
    <title>ansible学习笔记</title>
    <link href="https://www.yisibuwang.top/posts/note-ansible/" rel="alternate" type="text/html"/>
    <id>https://www.yisibuwang.top/posts/note-ansible/</id>
    <published>2026-07-06T00:00:00.000Z</published>
    <updated>2026-07-06T00:00:00.000Z</updated>
    <summary>ansible是一款开源的it自动化引擎，你可以把它理解成一个统一的指挥棒，用来管理成百上千台服务器。它的核心目标就是简单和易用，旨在消除重复性工作，简化复杂的工作流程，我会尽可能的记录学习到的功能并添加一些简单案例</summary>
    <content type="html"><![CDATA[<h1>1-关于ansible</h1>
<h2>介绍</h2>
<p>ansible是一款开源的it自动化引擎，你可以把它理解成一个统一的指挥棒，用来管理成百上千台服务器。它的核心目标就是简单和易用，旨在消除重复性工作，简化复杂的工作流程</p>
<h2>须知</h2>
<p>我会尽可能的记录学习到的功能并添加一些简单案例，不然没有案例我为什么不去看官方文档 :spoiler[骗你的官方文档也有案例]</p>
<p>本文所有内容运行在Centos7-2009版本</p>
<h1>2-安装部署</h1>
<h2>控制节点</h2>
<p>输入以下指令即可安装，这是我在centos的安装，如果涉及其他系统，可以查看<a href="https://docs.ansible.org.cn/projects/ansible/latest/installation_guide/installation_distros.html">官方文档</a>并使用相应的包管理器</p>
<pre><code>sudo yum install epel-release -y
sudo yum install ansible -y
</code></pre>
<h2>被管理节点</h2>
<p>不需要任何额外软件</p>
<h2>配置ssh</h2>
<p>ansible使用ssh连接对应的主机，配置ssh连接免密让我们方便些</p>
<pre><code>ssh-keygen
ssh-copy-id [主机ip]
</code></pre>
<h1>3-定义主机清单</h1>
<h2>增加主机</h2>
<p>Ansible需要知道自己管理的机器有哪些，默认的主机目录文件路径在**/etc/ansible/hosts**，可以直接修改，</p>
<p>例如</p>
<pre><code>127.0.0.1
server.text.com
</code></pre>
<p>这就是一个简单的hosts文件案例，里面包含了一个ip地址和一个域名</p>
<h2>增加主机组</h2>
<p>可以在使用方括号命名一个主机组并在下面写入主机</p>
<pre><code>[web]
127.0.0.1
server.text.com
</code></pre>
<p>这样执行的时候就可以直接使用主机组的名称对多个主机执行指令</p>
<p>ansible会默认为你创建两个父组</p>
<p>all(清单里出现的所有主机、所有分组，在底层都会自动成为 all 组的子成员)
ungrouped(清单中没有任何分组的主机)</p>
<h2>子父组</h2>
<p>在主机名后写入后缀:children，即可定义一个父组，支持多层嵌套</p>
<pre><code>[web]
127.0.0.1
server.text.com

[db]
127.0.0.2
server.text2.com

[dev:children]
web
db
</code></pre>
<p>需要注意的是，只要定义了:children，ansible就会默认其中的是子组名称，所以不能往其中写主机地址</p>
<h2>参数</h2>
<p>可以在主机清单中添加参数，更多的参数具体可以参考<a href="https://docs.ansible.org.cn/projects/ansible/latest/inventory_guide/intro_inventory.html#connecting-to-hosts-behavioral-inventory-parameters">官方文档</a></p>
<p>例如</p>
<pre><code>127.0.0.1 ansible_ssh_user='root' ansible_ssh_pass='000000' ansible_port="2222"
</code></pre>
<p>这条主机定义还定义了几个参数，分别是 ansible_ssh_user(连接到主机时使用的用户名) ansible_ssh_pass(用于对主机进行身份验证的密码) ansible_port(ssh连接的端口号)</p>
<h2>变量</h2>
<p>可以在主机清单中定义自定义变量</p>
<pre><code>192.168.1.10 max_connections=100 http_port=80
</code></pre>
<p>这样在后续对该主机进行操作时，都可以使用 {{max_connections}} 和 {{http_port}} 来使用其中的数据</p>
<h2>继承</h2>
<p>对于父组，可以使用后缀vars来继承变量和参数，并且可以单独对某一个主机定义变量或参数</p>
<pre><code>[web]
127.0.0.1 ansible_port=2222 ansible_ssh_user='deploy'       #单独定义
server.text.com

[db]
127.0.0.2
server.text2.com

[dev:children]
web
db

[dev:vars]
ansible_port=22     #组继承参数
ansible_user='root'
ansible_ssh_user='root'     #组继承变量
ansible_ssh_pass='666666'
</code></pre>
<p>这样做会让所有在dev这个组中的主机继承其中的变量和参数，而我们单独定义的主机 127.0.0.1 则会保持自己单独定义的部分，局部特例永远优先于通用规则</p>
<h2>别名</h2>
<p>在主机清单中，可以为主机定义别名</p>
<pre><code>[web]
web1 ansible_host=127.0.0.1
web2 ansible_host=server.text.com

[db]
db-a ansible_host=127.0.0.2
db-b ansible_host=server.text2.com

[dev:children]
web[1:2]        #主机范围[1:2]
db[a-b]         #主机范围[a-f]
</code></pre>
<p>添加别名后，可以直接输入对于的别名进行使用，还可以使用主机范围，如上面的案例所示，web[1-2]等价于web1与web2，db[a-b]等价于db-a与db-f</p>
<p>还支持自定义步长和数字填充，可以在<a href="https://docs.ansible.org.cn/projects/ansible/latest/inventory_guide/intro_inventory.html#inventory-basics-formats-hosts-and-groups">文档</a>中详细参考，这里不再赘述</p>
<p>别名与变量参数等功能一起使用，能极大方便管理，例如我们可以将同一台机器，定义不同的别名、连接端口或是变量</p>
<h1>ad hoc命令</h1>
<h2>关于该命令</h2>
<p>ad hoc命令一般使用在那些很少重复或是需要快速执行的任务</p>
<pre><code>ansible &lt;主机模式&gt; -i &lt;清单文件&gt; -m &lt;模块名&gt; -a "&lt;模块参数&gt;" [选项]
</code></pre>
<p>下面给出一些常用选项，可以在<a href="https://docs.ansible.org.cn/ansible/latest/cli/ansible.html">文档</a>中找到更加详细的选项</p>
<ul>
<li>&lt;主机模式&gt;: 在其中输入你想要运行的组或主机</li>
<li>-i：指定清单文件（你可以创建一个ini文件来定义主机清单并在此使用，否则ansible会使用/etc/ansible/hosts处的主机清单）</li>
<li>-m：指定要使用的模块（默认 command）</li>
<li>-a：传递给模块的参数</li>
<li>-f: 指定要使用的并行进程数（用于重复执行）</li>
</ul>
<h2>模块</h2>
<p>ansible命令的关键在于调用对应的模块来干对应的事，对于模块详情可以查询<a href="https://docs.ansible.org.cn/projects/ansible/latest/collections/index_module.html">官方文档</a>，记得善用ctrl+f，这里同样只介绍部分简单的模块</p>
<h3>shell</h3>
<pre><code>ansible dev -m shell -a 'hostname' -o
</code></pre>
<p>上面这条指令用于获取对应主机的主机名，下面来详细解释</p>
<ul>
<li>ansible：这是主命令，告诉系统我要使用即时模式。</li>
<li>dev：目标主机/主机组。这里调用的就是之前在 /etc/ansible/hosts 里配置的父分组。Ansible 会自动找到里面的子分组</li>
<li>-m shell：-m 代表 module（模块）。这里指定使用 shell 模块。</li>
<li>-a 'hostname'：-a 代表 arguments（参数）。这里输入你想让远程机器执行的真实 Linux 命令。</li>
</ul>
<h3>copy</h3>
<pre><code>ansible webservers -m copy -a "src=/root/project/nginx.conf dest=/etc/nginx/nginx.conf owner=root group=root mode=0644" -o
</code></pre>
<ul>
<li>src=/root/project/nginx.conf：Source（源路径）指控制机本地的配置文件路径</li>
<li>dest=/etc/nginx/nginx.conf：Destination（目标路径）指远程服务器上文件要保存的绝对路径</li>
<li>owner=root 和 group=root：文件传过去之后，自动把远程机上该文件的所有者和所属组修改为 root</li>
<li>mode=0644：修改文件权限。0644 代表 root 用户可读写（rw-），其他用户和组只能读取（r--）</li>
</ul>
<h3>yum</h3>
<pre><code>ansible dev -m yum -a "name=httpd state=present" -o
</code></pre>
<p>这条指令会在主机上安装apache，name值指定软件名，state值指定要进行什么操作</p>
<ul>
<li>state=present：安装软件。如果机器上没装，就下载安装，如果已经装了，就直接跳过（返回绿色 SUCCESS）</li>
<li>state=latest：确保是最新版本。如果没装就安装最新版；如果装了但有新版本，它会默默帮你在远程机上运行 yum update 升级到最新</li>
<li>state=absent：批量卸载/删除软件。相当于远程运行 yum remove 如果机器上本来就没装，它也会直接跳过</li>
</ul>
<h3>service</h3>
<pre><code>ansible dev -m service -a "name=httpd state=started enabled=yes" -o
</code></pre>
<p>这条指令指定了httpd服务为启动状态并开启了开机自启，service有三个参数</p>
<p>name：对其进行操作的服务名称
state：需要服务改变成什么状态
enabled：是否对服务启动开机自启</p>
<h1>playbooks</h1>
<p>这是ansible的核心功能，playbooks相当于一份自定义蓝图，告诉主机该怎么做，编写过程类似与jenkins和github action那样的自动任务</p>
<p>需要注意的是playbooks使用YAML格式编写，并且执行顺序是由上到下</p>
<h2>关于YAML</h2>
<p><a href="https://docs.ansible.org.cn/projects/ansible/latest/reference_appendices/YAMLSyntax.html#yaml-syntax">yaml</a>使用缩进表示层级关系，缩进的空格数不重要，只要相同层级的元素左对齐即可，冒号后面要加空格
在ansible中几乎每个YAML文件都以列表开始，列表中的每个项目都是一组键/值对</p>
<p>这是关于ansible的文章，有关它的详细语法不会赘述</p>
<h2>简单使用playbooks</h2>
<p>接下来，我们来尝试编写一个简单的playbooks，我们来新建一个yaml文件</p>
<pre><code>---
- hosts: web    #表示执行此脚本的对象为[web]主机组
  remote_user: root     #表示使用root用户执行此脚本
  tasks:        #下方定义了要执行的动作
    - name: Install httpd   #标注执行的操作，注意一个name里只能包含一个模块调用
      yum: name=httpd state=latest  #调用yum模块下载名称为httpd的包的latest版本
</code></pre>
<p>干的事情很简单，就是安装一个Apache，我们来一条条拆解看他都用了哪些东西</p>
<ul>
<li>hosts：用于指定运行此脚本的对象</li>
<li>remote_user：用来指定运行此脚本的用户</li>
<li>tasks：列表下定义了要执行的任务，可以使用的<a href="https://docs.ansible.org.cn/projects/ansible/latest/collections/index_module.html">模块</a>与ad hoc命令一样</li>
<li>name：用来给人类看的，标注执行的操作，执行时会输出正在执行的操作name，但要注意一个name里只能包含一个模块调用</li>
</ul>
<p>所以本质上，playbooks就是这样一个个关键字和模块构筑出一个完整的任务，所有有关的关键词依然可以查阅<a href="https://docs.ansible.org.cn/projects/ansible/latest/reference_appendices/playbooks_keywords.html#playbook-keywords">官方文档</a>，下面来按照不同的区块和功能来简单介绍一些其他功能</p>
<h2>变量</h2>
<h3>简单变量</h3>
<p>在playbooks中也可以定义变量，相关的<a href="https://docs.ansible.org.cn/projects/ansible/latest/playbook_guide/playbooks_variables.html#using-variables">文档</a></p>
<p>可以在playbooks中使用 vars 关键字来定义变量区块，并在其中定义变量</p>
<p>使用变量用两个大括号包起来的变量名即可</p>
<pre><code>---
- hosts: web
  vars:
    my_name: "shoulong"   #在这里定义变量（名字叫 my_name，值叫 shoulong）

  tasks:
    - name: 把变量写入远程文件
      copy:
        content: "Hello, my name is {{ my_name }}!"     #在这里用{{ }}使用变量
        dest: /tmp/name.txt
</code></pre>
<p>需要注意的是，变量名只能包含字母数字和下划线，且不能使用py与playbooks的关键词</p>
<h3>列表变量</h3>
<p>还可以使用yaml列表定义有多个值的变量</p>
<pre><code>var:
  user_list:
    - user1
    - user2
    - user3
</code></pre>
<p>使用确定元素即可，例如{{user_list[0]}}的值为"user1"</p>
<h3>字典变量</h3>
<p>还可以定义具有键值的变量</p>
<pre><code>var:
  user_list:
    - user1: tom
    - user2: jreey
    - user3: leo
</code></pre>
<p>user_list{{user1}}的值为"tom"</p>
<h2>循环</h2>
<h3>简单循环</h3>
<p>playbooks中可以使用<a href="https://docs.ansible.org.cn/projects/ansible/latest/playbook_guide/playbooks_loops.html#loops">循环</a>，可以避免很多重复的任务</p>
<pre><code>---
- name: 批量创建业务目录
  file:
    path: "{{ item }}"          #以此将下方的loop中的内容送入其中
    state: directory
  loop:                         #开始排队
    - /data/app
    - /data/logs
    - /data/configs
</code></pre>
<p>实际运行中，ansible会自动把loop列表中的内容与{{item}}相匹配，大大方方写</p>
<h3>字典列表循环</h3>
<p>循环自然也有稍微复杂的用法</p>
<pre><code>---
- name: 批量创建不同权限的用户
  ansible.builtin.user:
    name: "{{ item.uname }}" 
    group: "{{ item.ugroup }}" 
    state: present
  loop:
    - { uname: 'tom', ugroup: 'developer' }
    - { uname: 'jerry', ugroup: 'tester' }
    - { uname: 'shoulong', ugroup: 'admin' }
</code></pre>
<p>运行时，loop会找到相应的键值一一对应填入其中</p>
<h2>条件</h2>
<p>可以在playbooks中使用<a href="https://docs.ansible.org.cn/projects/ansible/latest/playbook_guide/playbooks_conditionals.html#conditionals">when</a>来进行条件判断，更好的控制任务的运行</p>
<pre><code>- name: 仅在centos系统上安装apache
  yum:
    name: httpd
    state: present
  when: ansible_distribution == "CentOS"    #如果远程机系统确实是CentOS才执行这个任务
</code></pre>
<p>when语句会在执行时对设置的语句进行判断，若条件通过则执行对应任务；when语句本质上就是py代码，所以你能想到的逻辑运算符、in关键字等都能使用</p>
<h2>触发器</h2>
<p>在playbooks中使用handlers以使用<a href="https://docs.ansible.org.cn/projects/ansible/latest/playbook_guide/playbooks_handlers.html#handlers-running-operations-on-change">触发器</a>，触发器的工作旨在指定的任务执行状态为 changed 时，执行计划好的代码，这在一些修改配置重启服务的场景很好用</p>
<pre><code>---
- hosts: webservers
  become: yes

  tasks:
    - name: 步骤 1：修改测试文件的内容
      copy:
        content: "配置文件内容已被修改"
        dest: /tmp/test_config.txt    #文件内容发生变化
      notify: click_me_to_run

  handlers:
    - name: click_me_to_run               #名字必须和notify完全一致
      debug:
        msg: "检测到文件被改动了Handler执行"
</code></pre>
<p>触发器在这里的工作是，当name：click_me_to_run对应的notify的任务状态为change时，输出信息 "检测到文件被改动了Handler执行"</p>
<h2>运行</h2>
<p><a href="https://docs.ansible.org.cn/projects/ansible/latest/command_guide/cheatsheet.html">运行playbooks</a>很简单</p>
<pre><code>ansible-playbook &lt;你的playbook文件.yml&gt;
</code></pre>
<h1>role</h1>
<p>role就像是把playbooks中的一个个任务打包成一个"积木包"，编写好后可以随时拿出来在其他地方复用，还可以针对不同的任务创建不同的变量以适应需求</p>
<h2>文件结构</h2>
<p>下面列出一个role的文件结构</p>
<pre><code>roles/
└── httpd/                # Role 的名字叫 httpd
    ├── defaults/         # 其中定义了默认变量 —— 优先级最低，最容易被覆盖
    ├── vars/             # 其中定义了强变量 —— 优先级高，不容易被覆盖
    ├── tasks/            # 核心：要做的每一步动作
    ├── handlers/         # 触发器
    ├── templates/        # 模板文件：里面有 {{变量}}，会动态生成真实文件
    ├── files/            # 普通文件：直接拷贝，不做变量替换
    └── meta/             # 元信息：作者、依赖关系等（可选）
</code></pre>
<h2>简单示例</h2>
<p>下面拿出上篇文章中安装http服务的案例，用role实现，结合之前的知识很容易看懂</p>
<p><strong>defaults/main.yml</strong></p>
<pre><code>httpd_port: 8080
student_name: "张三"
student_id: "20240001"
</code></pre>
<p><strong>tasks/main.yml</strong></p>
<pre><code>- name: 安装 httpd 软件包
  yum: name=httpd state=present

- name: 复制配置文件模板
  template: src=httpd.conf.j2 dest=/etc/httpd/conf/httpd.conf
  notify: restart httpd

- name: 复制首页模板
  template: src=index.html.j2 dest=/var/www/html/index.html

- name: 启动并开机自启
  service: name=httpd state=started enabled=yes
</code></pre>
<p><strong>handlers/main.yml</strong></p>
<pre><code>- name: restart httpd
  service: name=httpd state=restarted
</code></pre>
<p><strong>templates/httpd.conf.j2</strong> 默认配置，无需理解</p>
<pre><code># 全局环境
ServerRoot "/etc/httpd"
Listen {{ httpd_port }}
User apache
Group apache
ServerAdmin root@localhost
ServerName localhost:{{ httpd_port }}

# 加载 MPM 模块（通过主配置文件加载，不依赖 conf.modules.d）
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so

# 加载其他必需模块
LoadModule authz_core_module modules/mod_authz_core.so
LoadModule dir_module modules/mod_dir.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule mime_module modules/mod_mime.so
LoadModule unixd_module modules/mod_unixd.so

# 文档根目录
DocumentRoot "/var/www/html"
&lt;Directory "/var/www/html"&gt;
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
&lt;/Directory&gt;

# 默认首页
&lt;IfModule dir_module&gt;
    DirectoryIndex index.html
&lt;/IfModule&gt;

# 日志配置
ErrorLog "logs/error_log"
CustomLog "logs/access_log" combined

# MPM 配置（prefork 默认值）
&lt;IfModule mpm_prefork_module&gt;
    StartServers             5
    MinSpareServers          5
    MaxSpareServers         10
    MaxRequestWorkers      256
    MaxConnectionsPerChild 3000
&lt;/IfModule&gt;
</code></pre>
<p><strong>templates/index.html.j2</strong></p>
<pre><code>&lt;h1&gt;Welcome&lt;/h1&gt;
&lt;p&gt;Name: {{ student_name }}&lt;/p&gt;
&lt;p&gt;ID: {{ student_id }}&lt;/p&gt;
</code></pre>
<p>添加完以上文件后，这个role的文件结构应该是这样</p>
<pre><code>roles/
└── httpd/
    ├── defaults/
    │   └── main.yml
    ├── vars/
    │   └── main.yml
    ├── tasks/
    │   └── main.yml
    ├── handlers/
    │   └── main.yml
    ├── templates/
    │   ├── httpd.conf.j2
    │   └── index.html.j2
    └── meta/
</code></pre>
<p>如果调用这个role?
新疆一个playbook文件
<strong>text.yml</strong></p>
<pre><code>---
- name: 用role装httpd
  hosts: webservers #对其进行操作的组
  become: yes

  roles:
    - httpd        #这里就是调用 roles/httpd
</code></pre>
<p>运行指令</p>
<pre><code>ansible-playbook text.yml
</code></pre>
<p>这样就完成了role的编写与使用</p>
<h1>一些需要注意的事</h1>
<p>可以看到，通过roles，playbooks中的调用变得及其简单，需要注意的是，ansible一般会优先在playbooks文件的同级目录中寻找role文件夹，如果你看懂了他的文件结构，就会发现他其实本质就是把一个playbooks的不同区块拆成了不同的文件分开编写，</p>
<h2>关于变量优先级</h2>
<p>在ansible中，有很多地方都可以定义变量，为防止冲突，内部指定了很严格的变量<a href="https://docs.ansible.org.cn/projects/ansible/latest/playbook_guide/playbooks_variables.html#understanding-variable-precedence">优先级</a>，这点在role文件结构中的 defaults 和 vars 中也能看出来</p>
<table>
<thead>
<tr>
<th>优先级</th>
<th>变量定义位置</th>
<th>核心角色</th>
</tr>
</thead>
<tbody>
<tr>
<td>1（最低）</td>
<td>roles/x/defaults/main.yml</td>
<td>默认炮灰。专门用来给 Role 兜底的默认值，极易被外界覆盖。</td>
</tr>
<tr>
<td>2</td>
<td>Playbook 中的 vars: 区块</td>
<td>普通全局。你在主剧本最上面写死的变量。</td>
</tr>
<tr>
<td>3</td>
<td>roles/x/vars/main.yml</td>
<td>角色内定。Role 内部雷打不动的私有变量，一般不希望外界修改</td>
</tr>
<tr>
<td>4</td>
<td>Playbook 调用 Role 时传参</td>
<td>精准打击。在主剧本召唤角色时，当场传进去的临时变量</td>
</tr>
<tr>
<td>5</td>
<td>命令行 -e 参数</td>
<td>能强行覆盖以上所有人</td>
</tr>
</tbody>
</table>
<p>举个例子，在nginx的roles内部，有两个地方能写变量</p>
<p><em>roles/nginx/defaults/main.yml     nginx_port: 80</em></p>
<p><em>roles/nginx/vars/main.yml     nginx_port: 8080</em></p>
<p>如果直接运行这个 Role，最终生效的是 8080</p>
<p>那如果我们创建一个playbooks调用它并定义变量呢</p>
<pre><code>---
- hosts: web
  vars:
    nginx_port: 9000     #在Playbook里定义了9000
  roles:
    - nginx
</code></pre>
<p>它干不过role的 vars/main.yml 最终依然是 8080 生效</p>
<p>如果针对rolea传参呢</p>
<pre><code>- hosts: web
  roles:
    - { role: nginx, nginx_port: 9999 }
</code></pre>
<p>自然是9999赢了</p>
<h2>关于Jinja2</h2>
<p>在role中，可以注意到有个文件夹 templates ，里面存储了模板文件，ansibla所使用的引擎就是<a href="https://docs.ansible.org.cn/projects/ansible/latest/playbook_guide/playbooks_templating.html">Jinja2</a>，所以它的后缀是.j2</p>
<p>它十分强大，可以拼接、获取变量或是进行计算和if判断</p>
<p>具体相关知识你可以查阅有关<a href="https://docs.jinkan.org/docs/jinja2/">文档</a></p>
<p>如果只是简单使用，你只需要知道你可以在其中使用{{变量名}}即可</p>
]]></content>
    <author><name>不旺の博客</name></author>
    <category term="笔记"/>
  </entry>
  <entry>
    <title>在windows上安装并简单配置wsl</title>
    <link href="https://www.yisibuwang.top/posts/2026-07-05-%E5%9C%A8windows%E4%B8%8A%E5%AE%89%E8%A3%85%E5%B9%B6%E7%AE%80%E5%8D%95%E9%85%8D%E7%BD%AEwsl/" rel="alternate" type="text/html"/>
    <id>https://www.yisibuwang.top/posts/2026-07-05-%E5%9C%A8windows%E4%B8%8A%E5%AE%89%E8%A3%85%E5%B9%B6%E7%AE%80%E5%8D%95%E9%85%8D%E7%BD%AEwsl/</id>
    <published>2026-07-05T00:00:00.000Z</published>
    <updated>2026-07-05T00:00:00.000Z</updated>
    <summary>记得挺久之前微软在宣布更新windows11的时候，就说过wsa和wsl，分别是全程分别是 适用于android的windows子系统 和 适用于liunx的windows子系统，当时我也是因为wsa升级的win11，而wsl听说很垃圾就没有接触过，这几天在群里水群的时候看到有人在用这个，发现这个依旧更新到了2.0版本，据说是好用了很多，便试了试并记录</summary>
    <content type="html"><![CDATA[<h1>依旧前言</h1>
<p>记得挺久之前微软在宣布更新windows11的时候，就说过wsa和wsl，分别是全程分别是 适用于android的windows子系统 和 适用于liunx的windows子系统，当时我也是因为wsa升级的win11，而wsl听说很垃圾就没有接触过，这几天在群里水群的时候看到有人在用这个，发现这个依旧更新到了2.0版本，据说是好用了很多，便试了试并记录</p>
<p>:::note[提示]
要想安装wsl，需要windows版本至少是win10(内部版本19041)或更高版本
本文中的所有内容均参考至微软<a href="https://learn.microsoft.com/zh-cn/windows/wsl/">官方文档</a>
:::</p>
<h1>安装</h1>
<p>在安装前，需要确认主机开启了虚拟化，并且在添加windows功能中勾选了 适用于liunx的windows子系统，勾选虚拟化功能会与其他虚拟机软件的部分功能不兼容，谨慎选择</p>
<p><img src="2026-07-05-web1.webp" alt="" /></p>
<p>打开windows终端或cmd，输入以下指令安装wsl，一般默认都是下载最新的wsl2并且会下载Ubuntu作为liunx内核</p>
<pre><code>wsl --install
</code></pre>
<p><img src="2026-07-05-web2.webp" alt="" /></p>
<p>安装好后会有配置提示，正常填写即可</p>
<p><img src="2026-07-05-web3.webp" alt="" /></p>
<p>启动后，你能在你的资源管理器里找到liunx的文件夹，可以直接访问系统内的文件</p>
<p><img src="2026-07-05-web4.webp" alt="" /></p>
<p>如果想要下载其他的liunx发行版，可以输入以下命令查看</p>
<pre><code>wsl --list --online
</code></pre>
<p>要安装对应的版本在安装指令后接参数即可，例如我们要安装Debian，直接输入</p>
<pre><code>wsl --install Debian
</code></pre>
<p>安装完后你可以随时在终端的多选项卡窗口中点击加号开启liunx虚拟机的终端</p>
<h1>简单使用</h1>
<h2>如果想要查看已经安装的liunx发行版</h2>
<pre><code>wsl -l -v
</code></pre>
<h2>卸载对应的发行版</h2>
<pre><code>wsl --unregister &lt;Linux发行版名称&gt;
</code></pre>
<h2>关闭所有正在运行的虚拟机</h2>
<pre><code>wsl --shutdown
</code></pre>
<h2>导出已安装的虚拟机</h2>
<pre><code>wsl --export &lt;Linux发行版名称&gt; &lt;导出的文件名&gt;
</code></pre>
<p>运行指令后会以当前状态为导出为新的tar文件到终端运行的目录下</p>
<p><img src="2026-07-05-web5.webp" alt="" /></p>
<h2>导入其他发行版</h2>
<p>同样的，可以按照其他外部来源的tar包</p>
<pre><code>wsl --import &lt;Linux发行版名称&gt; &lt;安装路径&gt; &lt;导入的文件名&gt;
</code></pre>
<p>使用这个指令，只要有对应的.tar文件，我们可以做到安装没有默认提供的其他系统(例如centos)
也可以用来安装多个相同的系统(导入时更改Linux发行版名称即可)
或是用来更改虚拟机保存的位置(修改安装路径即可)</p>
<p><img src="2026-07-05-web6.webp" alt="一个简单的示例" /></p>
<p>对于用安装好的系统干什么，就不再这篇文章的讨论范围内了🐷</p>
<h1>一些看起来高级的高级配置</h1>
<p>大部分情况下，使用安装wsl时自带的wsl settings进行设置足够简单使用了，但是如果需要对多个虚拟机进行分别设置，就需要修改对应的文件</p>
<p><img src="2026-07-05-web7.webp" alt="" /></p>
<p>对此，有两个文件 .wslconfig，和wsl.conf</p>
<p>.wslconfig负责所有wsl的常规和默认配置</p>
<p>wsl.conf负责单个wsl的设置</p>
<p>需要注意的是wsl的配置更改有一个8秒规则，在对配置文件进行修改后需要重启子系统才会更新，输入指令后大概等待8秒，<s>其实不用8秒也行</s></p>
<p>这部分说明较多，可以直接看<a href="https://learn.microsoft.com/zh-cn/windows/wsl/wsl-config">文档</a>，要我来复述一遍估计和看wiki没啥区别</p>
<p>对于wsl.conf，他默认在虚拟机内的/etc/wsl.conf,如果是外部导入的tar包安装的其他发行版，有可能无法使用systemd管理服务，这时候就需要去配置文件中启用</p>
<pre><code>vi /etc/wsl.conf

[boot]
systemd=true
</code></pre>
]]></content>
    <author><name>不旺の博客</name></author>
    <category term="学习"/>
  </entry>
  <entry>
    <title>解决虚拟机无法共享宿主机Clash代理问题</title>
    <link href="https://www.yisibuwang.top/posts/2026-06-25-%E8%A7%A3%E5%86%B3%E8%99%9A%E6%8B%9F%E6%9C%BA%E6%97%A0%E6%B3%95%E5%85%B1%E4%BA%AB%E5%AE%BF%E4%B8%BB%E6%9C%BAclash%E4%BB%A3%E7%90%86%E9%97%AE%E9%A2%98/" rel="alternate" type="text/html"/>
    <id>https://www.yisibuwang.top/posts/2026-06-25-%E8%A7%A3%E5%86%B3%E8%99%9A%E6%8B%9F%E6%9C%BA%E6%97%A0%E6%B3%95%E5%85%B1%E4%BA%AB%E5%AE%BF%E4%B8%BB%E6%9C%BAclash%E4%BB%A3%E7%90%86%E9%97%AE%E9%A2%98/</id>
    <published>2026-06-25T00:00:00.000Z</published>
    <updated>2026-06-25T00:00:00.000Z</updated>
    <summary>最近我想要在我的虚拟机上运行docker，但运行时却出现镜像容器pull不下来的问题，明明宿主机上的Clash开启了局域网连接，虚拟机内的系统也正确的配置了地址，但就是无法连接</summary>
    <content type="html"><![CDATA[<h2>症状</h2>
<p>最近我想要在我的虚拟机上运行docker，但运行时却出现镜像容器pull不下来的问题，明明宿主机上的Clash开启了局域网连接，虚拟机内的系统也正确的配置了地址，但就是无法连接</p>
<p><img src="web1.webp" alt="alt text" /></p>
<p><img src="web2.webp" alt="alt text" /></p>
<p>双方能直接ping通代表通信局域网内通信没有大问题</p>
<h2>解决</h2>
<p>在代理软件的订阅配置文件中找到了如下一行</p>
<pre><code>allow-lan: false
bind-address: 127.0.0.1
</code></pre>
<p>这下解决方法就很简单了，将绑定中的回环地址改为*即可</p>
<pre><code>allow-lan: true
bind-address: "*"
</code></pre>
<p>因为是订阅链接那边自动更新的配置文件，手动修改后下次更新可能被重新覆盖回去，可以关闭自动更新或者在宿主机终端中输入以下指令</p>
<pre><code>netsh interface portproxy add v4tov4 listenaddress=10.10.10.1 listenport=7897 connectaddress=127.0.0.1 connectport=7897
</code></pre>
<p>这条命令将虚拟机出来的流量10.10.10.1导向了127.0.0.1:7897</p>
<h2>问题的根本</h2>
<p>简单比喻理解这个问题是如何发生的，但也只是我个人的理解</p>
<p>在正常情况下，勾选了 Clash Verge 上的局域网连接开关，底层内核就应该自动将监听地址从局域网隐身状态的 127.0.0.1:7897 切换为对全网开放的 0.0.0.0:7897</p>
<p>但是由于配置文件中写死了绑定地址为127.0.0.1，而配置文件优先级高于设置，所以导致明明开了局域网连接，但代理软件依然一直在127.0.0.1中</p>
<p>也就是说，本来流量的导向应该是这样，docker发出的请求——&gt;10.10.10.1——&gt;Clash</p>
<p>但由于这个配置文件导致Clash被锁死在127.0.0.1上，虽然有在监听，但完全不会接受来自虚拟机的请求</p>
]]></content>
    <author><name>不旺の博客</name></author>
    <category term="踩坑记录"/>
  </entry>
  <entry>
    <title>数字墓碑与时间胶囊：游戏如何承载我们的记忆</title>
    <link href="https://www.yisibuwang.top/posts/2026-06-16-%E6%95%B0%E5%AD%97%E5%A2%93%E7%A2%91%E4%B8%8E%E6%97%B6%E9%97%B4%E8%83%B6%E5%9B%8A%E6%B8%B8%E6%88%8F%E5%A6%82%E4%BD%95%E6%89%BF%E8%BD%BD%E6%88%91%E4%BB%AC%E7%9A%84%E8%AE%B0%E5%BF%86/" rel="alternate" type="text/html"/>
    <id>https://www.yisibuwang.top/posts/2026-06-16-%E6%95%B0%E5%AD%97%E5%A2%93%E7%A2%91%E4%B8%8E%E6%97%B6%E9%97%B4%E8%83%B6%E5%9B%8A%E6%B8%B8%E6%88%8F%E5%A6%82%E4%BD%95%E6%89%BF%E8%BD%BD%E6%88%91%E4%BB%AC%E7%9A%84%E8%AE%B0%E5%BF%86/</id>
    <published>2026-06-16T00:00:00.000Z</published>
    <updated>2026-06-16T00:00:00.000Z</updated>
    <summary>不知道看这篇文章的你会不会有过这种感觉，当看完一本长篇小说，或者玩过关了一个剧情不错的游戏时，心里总会升起一种空落落的惆怅感......</summary>
    <content type="html"><![CDATA[<h2>写在前面</h2>
<p>依旧是每篇文章都有的前言部分，倏忽之间，距上次更新已近两月，每当想写博客又不知道从哪下笔，笔记类型的却又觉得没啥必要写；今天晚上不知为何迟迟不想上床，百般无聊下在bing上一同乱搜，于是便有了这篇文章。但我既没有什么丰富的人生阅历，也没有什么大起大落的成功，就单独给这种文章开了个分类，叫无病呻呤</p>
<h2>儿时的我与现在的我重叠了</h2>
<p>不知道看这篇文章的你会不会有过这种感觉，当看完一本长篇小说，或者玩过关了一个剧情不错的游戏时，心里总会升起一种空落落的惆怅感；网络上的人管这种戒断反应叫做“电子失恋”</p>
<p>这种惆怅感就像是一场盛大宴席过后的杯盘狼藉，或者是一场美梦醒来后的无力感，我最近常常陷入这种感觉中</p>
<p>虽然上了大学，但我高中的舍友们仍然保持着相当热络的联系，大家常常聚在一起找游戏玩。不过，这个学期即将结束，我们这个小团体里的几个人都要开始准备寻找实习了。想到以后可能很难再凑齐一桌人一起打游戏，于是我们在最后这段时间，开启了一张很老的、2015年的《我的世界》RPG地图——《盘灵古域》</p>
<p><img src="web4.webp" alt="alt text" /></p>
<p>说真的，第一次看到这张地图的时候，我可能还没上初中。2015年听起来似乎并不遥远，但仔细一想，居然已经是11年前了。更让我感慨的是，直到现在，依然有很多人在游玩它，甚至出于热爱为它制作了许多扩展内容。</p>
<p>人的热爱真是很神奇的东西，以前看着电视上的博主玩这张地图时候，就想象过和周围的朋友一起玩，儿时的简单而幼稚的想法，却在不该幼稚的时候实现了</p>
<p>我们将能玩的种族都分别选了，把能玩的职业也都选了，在一起打怪刷级做任务，啃着两三年，甚至五六年前的攻略慢慢推进着游戏</p>
<p><img src="web2.webp" alt="alt text" />
&lt;p style="text-align: center; color: gray;"&gt;熬夜给服务器改东西睡过头了&lt;/p&gt;</p>
<p>我们过剧情刷练度，古早RPG的屎都被我们一路吃了过来</p>
<p>但当剧情结束，弹出制作者感谢时，戛然而止的剧情却让我有了前所未有的空虚或失重感</p>
<p>当故事结局、主线任务清空的那一瞬间，那种高强度的情感联结被猝然切断，刚刚还在剧情中的我就像是失去了一个朋友，又或是丧失了一个目标，我不知道该怎么用语言来表达，因为我的大脑直至现在其实还是有些混乱</p>
<h2>数字空间的“物是人非”</h2>
<p>封档的那晚上，我一个人在群聊的语音频道里熬夜，一句话没讲，只是装了个小地图模组，绕着一个个自己涉足过的地方跑图，想要保存下什么</p>
<p><img src="web3.webp" alt="alt text" />
&lt;p style="text-align: center; color: gray;"&gt;我把整张地图跑了一遍保存成了图片，左边的大圆球是地图的大世界&lt;/p&gt;</p>
<p>就像是一种地点依恋，在现实生活中，如果我们搬家了、毕业了，我们很难再回到当年的教室或老房子，即使回去，那些地方也会随着岁月变迁而折旧、拆迁。现实的空间是流动的，会和我们一起变老</p>
<p>但游戏世界不一样，他永远在那里等你，11年前作者留下的恶趣味，能被11年后的我们接受；前几天一群人还在互相打趣攻略的副本，现在它还是一点不差的在那，门口的npc依旧重复着烦人的台词，哪怕10年、20年后都是如此，但人却不是陪着你的那些人了</p>
<p>这种永恒不变让它成为了一个时间胶囊。当独自一人再次站在那个传送点时，游戏画面越是熟悉、越是完好无损，就越发衬托出一起玩的人再也凑不齐的现实。</p>
<p>看着导出来的地图全景，注视着上面的每一个坐标点，我都能清晰地想象出当时我们开着玩笑、打着怪物一路前进的熬夜时光</p>
<h2>人生地图上的一个个彩蛋</h2>
<p>在保存地图的时候，我还能发现一些当年地图作者的小彩蛋</p>
<p>这种感觉极其奇妙，感觉就像是超越了空间，甚至穿越了时间。如果说和朋友刷过的副本是空间的怀旧，那么在十几年前的老地图里发现创作者留下的彩蛋，就是一场跨越时空的浪漫共振</p>
<p>那些低像素的贴图、过时的机制、或者隐藏在墙壁后面的小房间，在当年可能只是创作者的一个灵光一现。但当这些东西经历了十几年的岁月洗礼，被今天的我发现时，它就具有了时间的厚度</p>
<p>但当我一个人发现这些的时候，我会突然想象，这个现在可能空无一人的服务器或单机地图，在十几年前曾是一片热火朝天的“建筑工地”。你踩下的每一个坐标，当年都有人无数次地测试、调整、为之通宵达旦。这种厚重感会让一个原本冰冷的游戏世界，瞬间变得立体和温热</p>
<p>在地图中能找到他们游戏地图的工作室办公室彩蛋，也有隐藏在空气墙的隐藏通道，通往作者的办公室，能偷吃皇帝的小零食，能绕着巨大的人族皇城跑酷拿到奖励</p>
<p>也许他们当年纯粹是因为好玩、热爱、想给玩家一个惊喜，就像是一种“不知道哪个倒霉蛋/幸运儿会发现这里，但我不管，我先藏在这儿”的顽童心态。</p>
<p>我跨越了十几年，和当年的创作者在同一个坐标点撞了个满怀，极其孤独但也极其浪漫</p>
<p>而如今，当年做地图的那群人大多已不再互联网上活跃。现实中，他们或许已经娶妻生子、转行做着完全无关的工作，甚至早已不再玩游戏。就连他们的官网都已落后时代，在那个许久没人维护的网页里，有一股浓浓的、物是人非的味道。</p>
<p><img src="web5.webp" alt="alt text" /></p>
<h2>结语</h2>
<p>窗外的天已经有点泛白了，早早结束这场无病呻你吧，这篇文章断断续续写了快五个小时，脑子一片浆糊，估计写的很乱，什么都想写又不知能写出什么，光是这些内容被那几个家伙看见说不准还要笑我一顿，这张地图当年的制作者们，当年团队慢慢解散时又是怎么想的呢，最后，通关的合照收尾吧</p>
<p><img src="web1.webp" alt="alt text" /></p>
]]></content>
    <author><name>不旺の博客</name></author>
    <category term="无病呻呤"/>
  </entry>
  <entry>
    <title>Ansible学习笔记（2）</title>
    <link href="https://www.yisibuwang.top/posts/2026-04-21-ansible%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B02/" rel="alternate" type="text/html"/>
    <id>https://www.yisibuwang.top/posts/2026-04-21-ansible%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B02/</id>
    <published>2026-04-21T00:00:00.000Z</published>
    <updated>2026-04-21T00:00:00.000Z</updated>
    <summary>关于Role，用我的理解来说，你写了一个安装和配置 httpd 的 Playbook，里面有一堆任务、变量和模板，Role 就是把这些东西打包成一个“积木包”。以后想装 httpd，直接拿来用就行，还可以灵活向里面修改添加变量以适应需求</summary>
    <content type="html"><![CDATA[<h2>关于Role</h2>
<p>用我的理解来说，你写了一个安装和配置 httpd 的 Playbook，里面有一堆任务、变量和模板，Role 就是把这些东西打包成一个“积木包”。以后想装 httpd，直接拿来用就行，还可以灵活向里面修改添加变量以适应需求</p>
<p>下面列出一个role的文件结构</p>
<pre><code>roles/
└── httpd/                # Role 的名字叫 httpd
    ├── defaults/         # 默认变量 —— 优先级最低，最容易被覆盖
    ├── vars/             # 强变量 —— 优先级高，不容易被覆盖
    ├── tasks/            # 核心：要做的每一步动作
    ├── handlers/         # 触发器
    ├── templates/        # 模板文件：里面有 {{变量}}，会动态生成真实文件
    ├── files/            # 普通文件：直接拷贝，不做变量替换
    └── meta/             # 元信息：作者、依赖关系等（可选）
</code></pre>
<p>下面拿出上篇文章中安装http服务的案例，用role实现</p>
<p><strong>defaults/main.yml</strong></p>
<pre><code>httpd_port: 8080
student_name: "张三"
student_id: "20240001"
</code></pre>
<p><strong>tasks/main.yml</strong></p>
<pre><code>- name: 安装 httpd 软件包
  yum: name=httpd state=present

- name: 复制配置文件模板
  template: src=httpd.conf.j2 dest=/etc/httpd/conf/httpd.conf
  notify: restart httpd

- name: 复制首页模板
  template: src=index.html.j2 dest=/var/www/html/index.html

- name: 启动并开机自启
  service: name=httpd state=started enabled=yes
</code></pre>
<p><strong>handlers/main.yml</strong></p>
<pre><code>- name: restart httpd
  service: name=httpd state=restarted
</code></pre>
<p><strong>templates/httpd.conf.j2</strong></p>
<pre><code># 全局环境
ServerRoot "/etc/httpd"
Listen {{ httpd_port }}
User apache
Group apache
ServerAdmin root@localhost
ServerName localhost:{{ httpd_port }}

# 加载 MPM 模块（通过主配置文件加载，不依赖 conf.modules.d）
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so

# 加载其他必需模块
LoadModule authz_core_module modules/mod_authz_core.so
LoadModule dir_module modules/mod_dir.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule mime_module modules/mod_mime.so
LoadModule unixd_module modules/mod_unixd.so

# 文档根目录
DocumentRoot "/var/www/html"
&lt;Directory "/var/www/html"&gt;
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
&lt;/Directory&gt;

# 默认首页
&lt;IfModule dir_module&gt;
    DirectoryIndex index.html
&lt;/IfModule&gt;

# 日志配置
ErrorLog "logs/error_log"
CustomLog "logs/access_log" combined

# MPM 配置（prefork 默认值）
&lt;IfModule mpm_prefork_module&gt;
    StartServers             5
    MinSpareServers          5
    MaxSpareServers         10
    MaxRequestWorkers      256
    MaxConnectionsPerChild 3000
&lt;/IfModule&gt;
</code></pre>
<p><strong>templates/index.html.j2</strong></p>
<pre><code>&lt;h1&gt;Welcome&lt;/h1&gt;
&lt;p&gt;Name: {{ student_name }}&lt;/p&gt;
&lt;p&gt;ID: {{ student_id }}&lt;/p&gt;
</code></pre>
<p>添加完以上文件后，这个role的文件结构应该是这样</p>
<pre><code>roles/
└── httpd/
    ├── defaults/
    │   └── main.yml
    ├── vars/
    │   └── main.yml
    ├── tasks/
    │   └── main.yml
    ├── handlers/
    │   └── main.yml
    ├── templates/
    │   ├── httpd.conf.j2
    │   └── index.html.j2
    └── meta/
</code></pre>
<p>如果调用这个role?
新疆一个playbook文件
<strong>text.yml</strong></p>
<pre><code>---
- name: 用role装httpd
  hosts: webservers #对其进行操作的组
  become: yes

  roles:
    - httpd        #这里就是调用 roles/httpd
</code></pre>
<p>运行指令</p>
<pre><code>ansible-playbook text.yml
</code></pre>
<p>这样就完成了role的编写与使用</p>
]]></content>
    <author><name>不旺の博客</name></author>
    <category term="学习"/>
  </entry>
  <entry>
    <title>去东湖玩了一圈，2026-4-19近况</title>
    <link href="https://www.yisibuwang.top/posts/2026-04-20-%E5%8E%BB%E4%B8%9C%E6%B9%96%E7%8E%A9%E4%BA%86%E4%B8%80%E5%9C%882026-4-19%E8%BF%91%E5%86%B5/" rel="alternate" type="text/html"/>
    <id>https://www.yisibuwang.top/posts/2026-04-20-%E5%8E%BB%E4%B8%9C%E6%B9%96%E7%8E%A9%E4%BA%86%E4%B8%80%E5%9C%882026-4-19%E8%BF%91%E5%86%B5/</id>
    <published>2026-04-20T00:00:00.000Z</published>
    <updated>2026-04-20T00:00:00.000Z</updated>
    <summary>难得和高中的好兄弟出门玩了一圈，这东湖，我平常总是路过这边，却总是没有进去真正溜达一圈；在我的印象里，提到内地的湖想到的总是西湖，东湖虽然周围全是大学，本身貌似并没有什么流传下来广为人知故事吸引游客</summary>
    <content type="html"><![CDATA[<h2>游东湖</h2>
<p>马上就要五一了，估计不太可能出去玩了，不过这周末倒是难得和高中的好兄弟出门玩了一圈</p>
<p><img src="./2026-04-19-web2.webp" alt="" title="有笨比" /></p>
<p>&lt;p style="text-align: center; color: gray;"&gt;说要绕东湖骑行结果一车面包人里面有两铸币不会自行车&lt;/p&gt;</p>
<p>这东湖，我平常总是路过这边，却总是没有进去真正溜达一圈；在我的印象里，提到内地的湖想到的总是西湖，东湖虽然周围全是大学，本身貌似并没有什么流传下来广为人知故事吸引游客</p>
<p><img src="2026-04-19-web3.webp" alt="" title="一万个人" /></p>
<p>&lt;p style="text-align: center; color: gray;"&gt;真的好多人啊&lt;/p&gt;</p>
<p>说是绕湖骑行，但全是草台班子，就连导游都不知道终点在哪，骑到哪累了就吃吃东西准备回去，队里更是有两不会自行车的，教着他们磕磕绊绊骑，半程下来居然还学会了些，我都怕他们突然把路边露营的人给创到了</p>
<p>一群人一边吹着牛逼一边互怼笑骂，谈以前谈现在，某某以前干什么蠢事，最近遇到了什么奇葩事，人还是那些人，事是说不尽的，我以前的担忧纯纯是瞎想罢了</p>
<p><img src="2026-04-19-web5.webp" alt="" title="小众路线说是" /></p>
<p>&lt;p style="text-align: center; color: gray;"&gt;东湖随手拍&lt;/p&gt;</p>
<p><img src="2026-04-19-web4.webp" alt="" /></p>
<p>&lt;p style="text-align: center; color: gray;"&gt;有笨比只能骑双座车后面被带着走&lt;/p&gt;</p>
<p>虽然还没完全到夏天，但武汉的天气已经初具威力了，一群人骑着筋疲力尽的正准备休息的时候发现附件还不了车，只能骑到最近的大学旁边找个停车点还车</p>
<p><img src="2026-04-19-web9.webp" alt="" /></p>
<p>&lt;p style="text-align: center; color: gray;"&gt;最后大概骑了这么远&lt;/p&gt;</p>
<p>来都来了，吃点东西休息休息，吃完后发现地铁站里这边2km，周围又没车，只能纯走路了</p>
<p><img src="2026-04-19-web6.webp" alt="" /></p>
<p>&lt;p style="text-align: center; color: gray;"&gt;这煎饼果子不赖&lt;/p&gt;</p>
<p><img src="2026-04-19-web7.webp" alt="" /></p>
<p>&lt;p style="text-align: center; color: gray;"&gt;很累，但落日前的云好看&lt;/p&gt;</p>
<p>最后光是运动相机的路线就录了100多G</p>
<p><img src="2026-04-19-web8.webp" alt="" title="给我电脑高兴坏了，传输传了半年" /></p>
]]></content>
    <author><name>不旺の博客</name></author>
    <category term="随手记录"/>
  </entry>
  <entry>
    <title>Ansible学习笔记（1）</title>
    <link href="https://www.yisibuwang.top/posts/2026-03-25-ansible%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B01/" rel="alternate" type="text/html"/>
    <id>https://www.yisibuwang.top/posts/2026-03-25-ansible%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B01/</id>
    <published>2026-03-25T00:00:00.000Z</published>
    <updated>2026-03-25T00:00:00.000Z</updated>
    <summary>Ansible是一款通过ssh来实现批量自动化的工具，理论上，只要能使用ssh完成的操作，Ansible都能做到，支持多类型主机且部署方便这里记录下自己学习此软件的笔记，会随学习进度更新</summary>
    <content type="html"><![CDATA[<h2>写在前面</h2>
<p>Ansible是一款通过ssh来实现批量自动化的工具，理论上，只要能使用ssh完成的操作，Ansible都能做到，支持多类型主机且部署方便，这里记录下自己学习此软件的笔记，会随学习进度更新</p>
<p>附上Ansible的文档：<a href="https://docs.ansible.org.cn/ansible/latest/index.html">链接</a></p>
<p>:::note[提示]
本文所有内容运行基于Centos7-2009版本
管理机ip为：192.168.255.130
被管理机ip为：192.168.255.131
:::</p>
<h2>部署</h2>
<p>1.安装Ansible软件</p>
<pre><code>sudo yum install epel-release -y
sudo yum install ansible -y
</code></pre>
<p>被管理机只需要启动ssh服务且py版本大于2.4即可</p>
<p>2.配置ssh</p>
<p>为管理机添加免密登录</p>
<pre><code>ssh-keygen
ssh-copy-id 192.168.255.131
</code></pre>
<p>3.修改主机目录</p>
<p>Ansible需要知道自己管理的机器有哪些，默认的主机目录文件路径在**/etc/ansible/hosts**，可以直接修改</p>
<ul>
<li>最基本的hosts文件样式</li>
</ul>
<pre><code>192.168.255.131
server.text.com
</code></pre>
<ul>
<li>带分组的hosts文件样式</li>
</ul>
<pre><code>[web]
192.168.255.131
server.text.com
</code></pre>
<h2>管理</h2>
<p>Ansible可以使用命令，也可以脚本来管理主机</p>
<p>1.命令</p>
<p>ansible 是最基本的命令，用于在远程主机上一次性执行模块</p>
<pre><code>ansible &lt;主机模式&gt; -i &lt;清单文件&gt; -m &lt;模块名&gt; -a "&lt;模块参数&gt;" [选项]
</code></pre>
<p>一些常用选项，可以在<a href="https://docs.ansible.org.cn/ansible/latest/cli/ansible.html">文档</a>中找到更加详细的选项</p>
<ul>
<li>-i 或 --inventory：指定清单文件（默认 /etc/ansible/hosts）</li>
<li>-m：指定要使用的模块（默认 command）</li>
<li>-a：传递给模块的参数</li>
<li>-f: 指定要使用的并行进程数（用于重复执行）</li>
</ul>
<p>2.脚本</p>
<p>Ansible使用了格式为YAML的脚本playbook,能够方便的管理主机</p>
<p>要执行脚本的指令如下</p>
<pre><code>ansible-palybook [文件名]
</code></pre>
<p>playbook内包含了以下关键词</p>
<ul>
<li>hosts：执行主机的ip、域名或主机组，也可以使用all</li>
<li>remote_user：以指定用户身份执行</li>
<li>vars ：用于创建变量</li>
<li>tasks：定义顺序执行的动作，每一个动作调用一个模块</li>
</ul>
<p>下面贴一个为主机组web简单部署Apache服务的yml文件</p>
<p>:::note[提示]
yaml使用缩进表示层级关系，缩进的空格数不重要，只要相同层级的元素左对齐即可，冒号后面要加空格
如果有语法报错可以丢到<a href="https://www.bejson.com/validators/yaml_editor/">在线校验器</a>中或者使用ide来编写:spoiler[或者直接写json文件再转换]
:::</p>
<pre><code>---
- hosts: web    #表示执行此脚本的对象为[web]主机组
  remote_user: root     #表示使用root用户执行此脚本
  tasks:        #下方定义了要执行的动作
    - name: Install httpd   #标注执行的操作，注意一个name里只能包含一个模块调用
      yum: name=httpd state=latest  #调用yum模块下载名称为httpd的包的latest版本
</code></pre>
<p>tasks的一些常用模块，可以在<a href="https://docs.ansible.org.cn/ansible/latest/collections/index_module.html">文档</a>中找到更加详细的说明</p>
<ul>
<li>Ping：ping指定远程主机，如果连接成功，则返回pong</li>
<li>debug：用于调试的模块，作用类似于echo命令</li>
<li>copy：从本地复制文件到远程主机</li>
<li>template：从本地复制文件到远程主机，但可以使用变量进行替换其中的内容</li>
<li>file：设置文件属性</li>
<li>user：管理用户账户</li>
<li>yum：使用包管理器</li>
<li>service：管理远程主机中的服务</li>
<li>firewalld：管理防火墙中的服务和端口</li>
<li>shell：在远程主机上执行shell命令</li>
</ul>
<p>下面来升级一下上面的案例，让我们在安装Apache服务并使用template模块读取脚本中的变量来更改默认的index.html，我会在代码中标注详细的执行流程</p>
<pre><code>---
- hosts: web    #表示执行此脚本的对象为[web]主机组
  vars:
    textname: "buwang"      #此处使用了vars创建了变量textname
  remote_user: root
  tasks:
    - name: Install httpd       #和上方案例中的安装指令稍稍有些不一样，但表达的功能是一样的
      yum:
        name: httpd
        state: latest

    - name: Deploy custom index page    #使用template渲染httpd.html.j2模板并替换远程主机中的内容
      template:
        src: httpd.html.j2
        dest: /var/www/html/index.html

    - name: Restart httpd service       #做完全部工作后使用service重启httpd服务
      service:
        name: httpd
        state: restarted
</code></pre>
<p>httpd.html.j2的内容如下，这个文件是py的jinja2模板引擎，目前只需要知道变量在其中使用{{}}表达就行了</p>
<pre><code>&lt;html&gt;
&lt;body&gt;
  &lt;h1&gt;欢迎来到 {{ ansible_facts['hostname'] }}&lt;/h1&gt;
  &lt;p&gt;IP地址：{{ ansible_facts['default_ipv4']['address'] }}&lt;/p&gt;
  &lt;p&gt;变量内容为{{textname}}&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;
</code></pre>
]]></content>
    <author><name>不旺の博客</name></author>
    <category term="学习"/>
  </entry>
  <entry>
    <title>那些年我在MC服务器管理里踩过的坑————管理、平衡与长久运营</title>
    <link href="https://www.yisibuwang.top/posts/2026-03-21-%E9%82%A3%E4%BA%9B%E5%B9%B4%E6%88%91%E5%9C%A8mc%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%AE%A1%E7%90%86%E9%87%8C%E8%B8%A9%E8%BF%87%E7%9A%84%E5%9D%91/" rel="alternate" type="text/html"/>
    <id>https://www.yisibuwang.top/posts/2026-03-21-%E9%82%A3%E4%BA%9B%E5%B9%B4%E6%88%91%E5%9C%A8mc%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%AE%A1%E7%90%86%E9%87%8C%E8%B8%A9%E8%BF%87%E7%9A%84%E5%9D%91/</id>
    <published>2026-03-21T00:00:00.000Z</published>
    <updated>2026-03-21T00:00:00.000Z</updated>
    <summary>都2026年了，现如今开设一个简单的我的世界服务器已经不算什么困难的事情了，Bing哔哩哔哩一搜就有大把教程，现成的开服包、只是和朋友玩玩开个免费的内网穿透也完全能满足要求，但如果想要开设一个长期运营的服务器，那就是完全不同的两回事了</summary>
    <content type="html"><![CDATA[<h2>写在前面</h2>
<p>都2026年了，现如今开设一个简单的我的世界服务器已经不算什么困难的事情了，Bing哔哩哔哩一搜就有大把教程，现成的开服包、只是和朋友玩玩开个免费的内网穿透也完全能满足要求，但如果想要开设一个长期运营的服务器，那就是完全不同的两回事了</p>
<p><img src="./web1.webp" alt="" /></p>
<p>:::note[提示]
此文仅为我一些小小经验之谈，不同类型的服务器运营的难度与方向不能一概而论
:::</p>
<h2>玩家社群带来的持续游玩动力</h2>
<p>一个服务器持续不断的吸引新鲜血液来游玩是很重要的事情，但在这个服务器同质化严重的现在，大家其实都差不多，要么就是卷玩法，要么就是卷服务器配置；玩家对于服务器的粘性其实并没有那么高，很多人都是通关了游戏的流程就不怎么上线了，能够支撑大部分玩家持续游玩的就是社交，加入了某个玩家群组，在一起做建筑，做利于大家的事情一起发展</p>
<p>因此，我认为服务器内社区的发展是很有必要的，但一定要给新加入服务器的玩家们一个能主动寻找玩家社群的方法，例如在出生点建立社群，在群内给不同社群的人头衔，或者将社群列表方便新玩家加入</p>
<p>:::note[提示]
看着大家一起发展壮大会很开心
:::</p>
<h2>吸引新鲜血液很重要</h2>
<p>一个服务器有不断的涌入新人才是良性发展，可以经常在哔哩哔哩、qq、微博、小红书、苦力怕论坛等社交与视频平台宣传自己的服务器；也可以发布一些活动鼓励玩家自发宣传服务器，只要能吸引玩家加入，就不是无用功，当服务器最早的那一批老玩家都发展的差不多的时候，带新玩家也是能很好的游玩方法</p>
<p>我当初宣传服务器就只在开服时候宣传一次，后续都懒得继续宣传，导致服务器内逐渐缺少新人，大家都发展的差不多了后群内日常一潭死水</p>
<p>:::note[提示]
新玩家能让服内充满活力
:::</p>
<h2>小心别有用心的破坏者</h2>
<p>我看过有很多腐竹为了防熊或者筛选出适合自己服务器类型的受众，会让新人填写一些审核问卷，但说实话，这些并不能防住什么————别有用心的人完全可以顺着你的问卷来回答那些道德题:spoiler[不会真的有人会往坏的方向选吧]，很多看上去很硬核的游戏内特性更是上网搜搜，问问ai的事；这种审核问卷形同虚设且耗费精力</p>
<p>面对恶意的熊服行为，限制较低的qq等级账号入群，做好服务器内的记录与存档备份即可断绝大部分的恶意破坏行为，可以使用**<a href="https://www.mcmod.cn/class/5389.html">Ledger</a>**等记录模组，将查询破坏的权限给玩家们，让他们自行查找，回档权限则在管理身上防止恶意局部回档</p>
<p>全服访问的存档备份也尽量使用上避免一些意外情况</p>
<p>:::note[提示]
熊服还算是众多威胁里最简单的了
:::</p>
<h2>对于管理，要舍得放权</h2>
<p>如标题所述，可以为自愿且你信任的玩家管理权限，你可以直接给op，甚至可以把你服务器后台也给他，这取决于你的管理能帮助你哪些内容，但我推荐使用权限插件进行精细化的分配，如果只是任命管理却舍不得放权，那管理也只是空有名号没有实权罢了，服里很多大大小小的事情还是得你来处理；哪怕是几十人的小服，断断续续来些事情也是很磨人时间的</p>
<p>:::note[提示]
一个人管所有事会累死的（；´д｀）ゞ
:::</p>
<h2>不要在道中随意更改服务器的玩法架构</h2>
<p>不管是面向玩家的玩法类型，还是支撑这些玩法的技术架构，在服务器真是开启后就已定下；如果已经有稳定的玩家，除非你确定这种破坏性的改动能让玩家们的游戏体验变好，否则不要随意更改服务器的玩法架构，有些新手服主在运营一段时间后，看到其他类型的服务器很火，或者觉得当前玩法有点“腻”，就动了大改的念头，但往往因此导致服务器“凉”得更快</p>
<p>不同玩法吸引的玩家群体特质截然不同，有些喜欢慢节奏和平，有些喜欢快节奏对抗，胡乱更改的话很多玩家可能受限与设备或者玩法，直接失去在服务器内游玩的兴趣</p>
<p>就我自己的生存服务器来说，目前开过五个周目，每次都是新的玩法类型，从一开始的基岩版+java共存，到后面的小游戏和生存，再到后面的模组整合包，每一次巨大的更新我都会提前通知并把服务器存档留档备份，开放给玩家们下载留念</p>
<h2>确保玩家游玩体验为第一位，日志能发现绝大多少问题</h2>
<p>在我的服务器开启一周目的时候，很多玩家反映服务器在游玩过程中出现卡顿、闪现的问题；但我当初一开始并没有对服务器进行完善的测试，一直以为是服务器配置过低，慢慢加配置，直到后面才发现，是我为服务器添加的基础插件有问题，和多个插件有冲突；我还没法无痛与插件断舍离（服务器内有很多传送点等信息都是存到插件内的，一个个迁移太麻烦），当初是为了方便玩家看上插件的图形化登录，到头来居然成为了影响玩家游玩体验的元凶，在这期间，我合并生物、限制生物行为与红石、还有区块渲染距离，都收效甚微；如果当时早点去日志中寻找答案，肯定会有更多朋友留下游玩</p>
<p>其实还有点对不起那些从一周目玩到现在的老登们，居然能忍住一直吃这口😭</p>
<p>现在有了Ai,服务器排错更轮椅了，懒得毒或者读不懂丢给ai加点提示词完事，所以说服务器进入生产前一定要测试啊</p>
<h2>不懂的事情大大方方问</h2>
<p>不懂的事情大大方方问，不管是搜索引擎还是ai还是群友</p>
<p>有很多新人腐竹可能会进一些腐竹交流群，在里面问一些问题，但问之前请一定要说清楚前因后果或者直接附上报错的log，并且态度诚恳虚心请教；见过有很多人明明是问问题却说话拽拽，话也说不清楚，这样没人愿意回答你的问题</p>
<p><img src="web2.webp" alt="" /></p>
<p>还有一些人，可能问了一些特别基础的问题，去搜索引擎一搜就能知道答案，被群友们冷嘲热讽或者辱骂，这只能说有些圈内某些老资历貌似有厌蠢症，面对这种只要开服自然就知道的问题自然一顿冷嘲热讽，但还是建议去学习清楚相关的知识再继续，不然后面更加寸步难行</p>
<h2>开设活动</h2>
<ul>
<li>可以在服内主导开展一些活动，就拿我自己的服务器来说，每次周年庆与跨年都会在服内举行小型活动!</li>
</ul>
<p><img src="web3.webp" alt="" />
&lt;p style="text-align: center; color: gray;"&gt;当时跨年建筑完工后与建筑师们的合影&lt;/p&gt;</p>
<p><img src="web4.webp" alt="" /></p>
<p><img src="web6.webp" alt="" /></p>
<p><img src="web7.webp" alt="" />
&lt;p style="text-align: center; color: gray;"&gt;神秘男子地图画&lt;/p&gt;</p>
<ul>
<li>
<p>服务器周目结束后，我会将存档备份，为服内所有玩家开启短时间的创造权限，简称炸服活动
<img src="web5.webp" alt="" />
&lt;p style="text-align: center; color: gray;"&gt;看得出来大家很爱服务器了&lt;/p&gt;</p>
</li>
<li>
<p>还有服务器周年时候所有人都能来追杀我，而我只能逃跑
<img src="web8.webp" alt="" />
&lt;p style="text-align: center; color: gray;"&gt;我拿的道具还是太多了&lt;/p&gt;</p>
</li>
</ul>
<h2>写在最后</h2>
<p>此文仅为我一些小小经验之谈，且只限于生存服，想到哪写到哪的随笔，如果以后想起来了就再添几笔，那段时间确实是很快乐的一段日子</p>
]]></content>
    <author><name>不旺の博客</name></author>
    <category term="防老年痴呆作"/>
  </entry>
  <entry>
    <title>对于博客的思考，以及站点的发展方向</title>
    <link href="https://www.yisibuwang.top/posts/2026-03-16-%E5%AF%B9%E4%BA%8E%E5%8D%9A%E5%AE%A2%E7%9A%84%E6%80%9D%E8%80%83%E4%BB%A5%E5%8F%8A%E7%AB%99%E7%82%B9%E7%9A%84%E5%8F%91%E5%B1%95%E6%96%B9%E5%90%91/" rel="alternate" type="text/html"/>
    <id>https://www.yisibuwang.top/posts/2026-03-16-%E5%AF%B9%E4%BA%8E%E5%8D%9A%E5%AE%A2%E7%9A%84%E6%80%9D%E8%80%83%E4%BB%A5%E5%8F%8A%E7%AB%99%E7%82%B9%E7%9A%84%E5%8F%91%E5%B1%95%E6%96%B9%E5%90%91/</id>
    <published>2026-03-16T00:00:00.000Z</published>
    <updated>2026-03-16T00:00:00.000Z</updated>
    <summary>自把博客从动态迁移至静态后，博客完全没有了维护服务器那边的烦恼，我开始思考有关这个站点的发展方向...</summary>
    <content type="html"><![CDATA[<h2>写在前面</h2>
<p>自把博客从动态迁移至静态后，博客完全没有了维护服务器那边的压力，我有时候会思考有关这个站点的发展方向，还有他的内容；如果去翻翻之前的内容，很容易就能看出来，我写的内容并不多，分享技术、或者分享状态的频率都很低</p>
<h2>该写些什么，什么值得写</h2>
<p>我经常能看到其他朋友的博客中，技术性的内容都是自己解决某个问题的过程或者方法，或者一个新学技术的基本知识；这对我来说都是比较难以记录的</p>
<p>我研究新东西来解决问题时，通常也不会边做比截图，但有些内容都是第一次配置的时候才好截图，后面去补充是挺麻烦的，前面创建网站的流程就全都是我补截的；</p>
<p>我学习新技术时，也不会有想有把最基础的那些内容写下来的欲望，因为这些东西其实百度一下都能找到，不过后面我对此有所改观，从后面我写了两篇很基础的centos内容也看得出来</p>
<p><img src="web3.webp" alt="" /></p>
<h2>表达欲望的缺乏与变化</h2>
<p>我是一个不太喜欢什么都记录下来的人，哪怕翻翻我的个人空间，根本看不到我在上面发表什么除了生日以外的东西；哪怕我当时觉得这个事情很印象深刻，很有意思，我也不会专门写个文章去记录它</p>
<p>但看了很多优秀的博客后，有时候我会想，也许以后就没有现在这些能在一起经历这些事情的机会了，也许我只是记录下当下的心情，哪怕只是随便写写，给以后留个回忆都行</p>
<p><img src="web1.webp" alt="" /></p>
<h2>恰同学少年，风华正茂</h2>
<p>刚上大学时我隔三差五就和自己高中时候的同学们一起玩，说句不好听的，都是一起吃过高中那口大芬的；互相借过裤子、骂过学校的交情。虽然不在一个学校，但在同一个城市，约在一起玩是很正常的，前面的欢乐谷博物馆之类的帖子都是那时候的事情，但随着学业都开始繁忙起来，参加活动最活跃的活宝同学都跑去当兵了，现在连聚在一起都有些难度了，往日到处发言的群里现在一片寂静，还是有些难受的；毕竟大家都有自己的生活</p>
<p><img src="web2.webp" alt="" />
&lt;p style="text-align: center; color: gray;"&gt;高考完一起去吃饭的随手拍&lt;/p&gt;</p>
<h2>博客对我的意义</h2>
<p>我其实非常喜欢去其他人的博客到处乱跑，看完后又跑到博主的友链里找更多的博客接着看，我深夜时非常放松，经常放着音乐一看就是四五点，我也不咋敢去交换友链，毕竟大家要么技术更了很久文章，要么都是我都没碰过的技术栈，属实让我望而生畏，我的学习向来都是兴趣为主，杂七杂八纯靠一时兴起；就算去申请了，被拒绝估计也会很尴尬，以后没准我能鼓起勇气吧</p>
<p>对我而言博客更像是个连身边关系都抛弃掉的一个属于我自己的发言平台，能看到这些乱七八糟的胡话的估计全是纯缘分，就连身边那些朋友家人都不一定知道我在写这个，写起来更没有心理的负担，以后我会尽量每个月都回顾一遍干了什么，有些学的基础有空也会写写</p>
<p><img src="web4.webp" alt="" /></p>
<h2>关于我对于博客的主题选择</h2>
<p>其实我还处于那些嘉豪期😂过于简洁的主题反倒不是我喜欢的，但过于繁杂的博客看的也是会惹读者厌烦的，例如自动更换标签页，会搞得历史记录里都是一样的文字，如果我回头想找那个博主的博客，只搜关键词就完全找不到，还有文字和主题背景色重合严重，完全影响阅读的</p>
<p>还有很多内容我觉得这个博主说的很对，如果有想要了解的可以去看看这篇文章</p>
<p><a href="https://blog.zhilu.site/2025/unpopular-blog-tech">谈谈不受欢迎的博客技术特征</a></p>
<p>透过博客，能学到很多前辈的总结和知识，还能窥探到其他人的丰富生活，多看看总能找到感兴趣的，但也要明辨是非，带着脑子看</p>
<p>电脑要没电了，也没什么先说的了，那么就写到这里吧</p>
]]></content>
    <author><name>不旺の博客</name></author>
    <category term="随手记录"/>
  </entry>
  <entry>
    <title>寒假与爷爷，一些胡思乱想</title>
    <link href="https://www.yisibuwang.top/posts/2026-03-15-%E4%B8%80%E4%BA%9B%E8%83%A1%E6%80%9D%E4%B9%B1%E6%83%B32026-03-15%E8%BF%91%E5%86%B5/" rel="alternate" type="text/html"/>
    <id>https://www.yisibuwang.top/posts/2026-03-15-%E4%B8%80%E4%BA%9B%E8%83%A1%E6%80%9D%E4%B9%B1%E6%83%B32026-03-15%E8%BF%91%E5%86%B5/</id>
    <published>2026-03-15T00:00:00.000Z</published>
    <updated>2026-03-15T00:00:00.000Z</updated>
    <summary>寒假与爷爷，一些胡思乱想，日子就这么过着，有些东西变了，有些好像还在</summary>
    <content type="html"><![CDATA[<h2>开学了，又开始胡思乱想了</h2>
<p>开学了，其实也不算突然————明明别的学校比我早放一个月假，结果就比我晚开学八天。想想还真是，放假的时候慢悠悠，开学的时候却赶得紧，这时间流过的速度明明是恒定的，但总感觉这日子过的好像有人在背后撵着似的</p>
<p><img src="./web1.webp" alt="" /></p>
<p>好久没回学校，在家里吃的太健康反倒有点不适应了；回顾寒假，貌似自己除了考驾照和迁移网站也没干啥特别有意义的事情，说不上充实，也说不上虚度</p>
<p>有时候半夜躺在床上翻来覆去睡不着，心理想睡，却越想越清醒，仔细想想，我自高三后就再也没有11点后睡着了，哪怕生病也是如此，回头得去医院瞧瞧了</p>
<h2>寒假那些事</h2>
<p>寒假并没有太多闲散时间，只是越发觉得过年越来越没意思了，完全没有小时候的味道，小时候过年，我能守到半夜十二点对着满城的烟花看得入神，爸妈喊了好几遍才肯去睡，今年一家人连春晚都坐不到一起看了，以前觉得是寻常的事情，现在竟然都很难有了</p>
<p>不过，今年我家住进了新房，一家人都住进了新房子；一整个房子的装修全是老爸做的，讲真在我的记忆里他很少笑的那样频繁，这个年，过的也是个好年啊</p>
<p>我还年轻，说那些怀念以前显着很老资历的话感觉还是太装了，但有些东西，不写下来，怕以后就忘了。我想写写我回乡下的事情</p>
<h2>我的老家，我的倔爷爷</h2>
<p>今年过年相当的晚，往年的那时候我都准备返校了，时间充裕，回老家陪着爷爷住一段时间。</p>
<p>老家在深山老林里，虽然通了车有水泥路，但从城坐车到村里还是得坐两个多小时，甚至还有一片地方没有信号</p>
<p>山高路远，颠簸起来磨着累人，但村里的空气貌似确实清新一些？村里住的都是些老人，晚上那是真的伸手不见五指————村里没路灯，老人家睡的都早，大多4点吃饭6点睡觉；晚上上个厕所起床不开手电眼前纯黑啥都看不见，甚至能直接肉眼看到天上的星星，这种景色，在城市里可是很难得的。</p>
<p>爷爷他真的太关心我了，生怕我在他这住几天饿瘦了，每天都是一碗满的冒尖的大米饭加上一碗肉和肉汤，一连吃了几天，以至于到过年我都不想在碰肉了</p>
<p><img src="./web2.webp" alt="" /></p>
<p>顺带一提，屋里的炭火虽然暖和，但没烤习惯的我是真有点受不了那个味道</p>
<h3>神秘白猫</h3>
<p>爷爷家附近有只神秘的白猫，看起来是野猫，也有可能是我二奶奶家养的那一堆猫里生出来的；乡下的猫，都是一天到晚出去浪，田里到处跑，偶尔回来吃两口留的剩饭，管不住的</p>
<p><img src="web3.webp" alt="" /></p>
<p>它大概知道自己是猫，至少和我们不一样，只在门口讨食，绝不进屋闹人；每日到了饭点，它就准时跑到我家旁边望着我，不停的叫向我讨食；有时候给爷爷叫烦了，上前赶它，便飞一般的逃远了，过会又不知道从哪个角落蹦出来；爷爷对我笑道：“这猫天天不抓老鼠，不务正业到处讨饭吃”</p>
<p><img src="web4.webp" alt="" /></p>
<p>看这小家伙的警戒程度，应该没少干这事，没准这小家伙平常就是到处讨食为生</p>
<h3>山高路远，爷爷认得这看了一辈子的风景</h3>
<p>有时候我会和爷爷出去走走，没有什么目的地，就瞎走，纯乱走；走到哪里看到了啥他就指给我看，在我看来很平常的事物，他都能说出些什么</p>
<p>路边的杉树，是我另一个爷爷种的，他种了一辈子树，把眼前这几座山头种满；大路旁山体的小山洞，外面看着很小，里面其实有很大，十几年前抓赌博还是啥的时候，很多人躲在里面打牌；路边上山的小土堆，上面有野猪的脚印，两三米落差，那大家伙居然一口气直接登了上去</p>
<p>这里虽然远离城市，甚至还有些路段没有信号，但居然有这么多故事，越是与世隔绝的地方，人间烟火气反而越浓；这里的信号传递不到手机，但是却传递的到前人留下的传说</p>
<h2>新的一年和新的屋子</h2>
<p>在老家住了几天就带着爷爷一起回了新家，外婆家就在旁边，不知道何时来了只新的小土狗，黝黑的小鼻子看到人就蹦上去一顿嗅，这真是我见过最活泼的狗了————粘人、不乱叫、好养活、精力旺盛，每次打开笼子就往外到处疯玩，还会去隔壁邻居家找那边的小狗一起玩；要我说这哪是狗，简直就是一个贪玩的人类小孩</p>
<p><img src="./web5.webp" alt="" /></p>
<p>回到家后的生活有些千篇一律，爷爷貌似不太习惯离开村里的生活，经常接一杯热水坐在楼下一个人晒太阳，偶尔翻翻老黄历，一看就是一整天；又或许这就是老人家喜欢的安静吗</p>
<p><img src="web6.webp" alt="" /></p>
]]></content>
    <author><name>不旺の博客</name></author>
    <category term="随手记录"/>
  </entry>
  <entry>
    <title>辞退WordPress，拥抱Astro：从wordpress迁移至Astro的记录</title>
    <link href="https://www.yisibuwang.top/posts/2026-02-20-%E8%BE%9E%E9%80%80wordpress%E6%8B%A5%E6%8A%B1astro%E4%BB%8Ewordpress%E8%BF%81%E7%A7%BB%E8%87%B3astro%E7%9A%84%E8%AE%B0%E5%BD%95/" rel="alternate" type="text/html"/>
    <id>https://www.yisibuwang.top/posts/2026-02-20-%E8%BE%9E%E9%80%80wordpress%E6%8B%A5%E6%8A%B1astro%E4%BB%8Ewordpress%E8%BF%81%E7%A7%BB%E8%87%B3astro%E7%9A%84%E8%AE%B0%E5%BD%95/</id>
    <published>2026-02-21T00:00:00.000Z</published>
    <updated>2026-02-21T00:00:00.000Z</updated>
    <summary>最近我将自己的博客从 wordpress 迁移到 Astro ，对于我和我的博客来说都是一次很大的改变。这意味着我不再需要去考虑服务器相关的维护，可以专注于自己的文章...</summary>
    <content type="html"><![CDATA[<h2>写在前面</h2>
<p>最近我将自己的博客从 wordpress 迁移到 Astro ，对于我和我的博客来说都是一次很大的改变。这意味着我不再需要去考虑服务器相关的维护，可以专注于自己的文章</p>
<p>Astro 是一个静态站点生成器，没有数据库、没有后台，所有文章都以 Markdown 的形式存储，对于我来说，这其实放到比动态更具优势，因为我只是想要一个简单耐用，想写就写的站点，动态博客给我的实在是太多了，大部分功能其实我都用不上。而且Markdown的泛用性让我在未来需要修改或再次迁移博客时有着更好的灵活性</p>
<h2>关于部署</h2>
<p>我使用了 Mizuki 作为静态博客模板，它基于 Astro 构建，我会把地址贴在下面，还有关于这个项目的<a href="https://docs.mizuki.mysqil.com/guide/intro/">文档</a></p>
<p>::github{repo="matsuzaka-yuki/Mizuki"}</p>
<p>在wiki中能找到很详细的部署方法</p>
<p>因为我之前的站点就是 edgeone 配置的 cdn 和部分安全功能，而 edgeone Pages 可以实现静态网站托管服务，并且与 GitHub 集成良好，并且提供免费服务，但是目前好像会默认绑定到我的免费套餐上且无法切换到个人版,但免费版也完全够用了</p>
<p><img src="./1.webp" alt="" /></p>
<p>首先按照文档中的内容在自己的新开的文件夹中克隆仓库并上传至 Github 仓库</p>
<pre><code>git clone https://github.com/matsuzaka-yuki/mizuki.git  //克隆仓库
</code></pre>
<p>在腾讯云的 Edgeone Pages 中绑定自己的 Github 账号，创建项目并选择自己刚刚上传的仓库</p>
<p><img src="./2.webp" alt="" /></p>
<p>关于构建设置</p>
<ol>
<li>框架预设：选择 "Astro"</li>
<li>构建命令：修改为 pnpm i &amp;&amp; pnpm build</li>
<li>输出目录：设置为 dist</li>
<li>Node.js 版本：建议选择 18.x 或更高版本</li>
</ol>
<p>稍等片刻网站便能成功部署，你可以点击预览获取到临时链接；项目中，你还可以在域名管理中添加自己的自定义域名</p>
<p>现在可以切换到自己本地的仓库中按照文档更改 config.ts 等配置文件，配置完后直接推送到Github，Edgeone会自动使用最新的仓库来重新构建</p>
<h2>关于迁移</h2>
<h3>文章迁移</h3>
<p>wordpress的文章可以通过后台内置的工具导出，会得到一份.xml文件，还需要将.xml文件转换格式为.md</p>
<p>这里使用网上搜到的<a href="https://zhuanlan.zhihu.com/p/601887246">脚本</a>来批量转换文章</p>
<p>缺点就是部分地方可能会有些无意义或者乱七八糟的格式，需要手动去校对文章，还要把原文中的图片迁移至新博客下存储并修改md文件中的链接为本地链接，补上文章的frontmatter</p>
<h3>评论迁移</h3>
<p>我并没有找到什么非常好的方法来把两个博客的评论系统之间迁移，因此只能把之前评论的人们在wordpress中留下的信息手动copy到相应的文章和页面中</p>
<p>Mizuki使用的是 Twikoo 评论系统，我同样会贴上这个项目的<a href="https://twikoo.js.org/intro.html">文档</a></p>
<p>需要注意的是，这个项目的文档似乎有段时间没更新了，其中有关腾讯云部署的教程已经和现在平台上选项已经对不上且说明模糊不清，而且现在腾讯云的云函数功能是需要收费的，这就有点不符合我当初转移博客省点钱的理由了</p>
<p>但我在项目的pr中看到了其他开发者修改的Edgeone Pages版本</p>
<p>::github{repo="Mintimate/twikoo-eo"}</p>
<p>具体部署流程在项目中也有说明，同样可以绑定自定义域名，将地址填写到博客相应配置文件中即可</p>
<p><img src="./3.webp" alt="" title="如果可以可以去给项目作者一个start" /></p>
<blockquote>
<p><code>如果可以可以去给项目作者一个start</code></p>
</blockquote>
<h3>音乐api</h3>
<p>就是你现在能看见的右下角的音乐播放器，在我调整博客的时候发现项目自带的演示用api失效了，于是便去找了其他人搭建的api，非常感谢</p>
<p><a href="https://elysium-stack.cn/archives/elysium-meting">我会将那位博主的文章链接贴在这</a></p>
<h2>总结</h2>
<p>断断续续花了我大过年2、3天时间将博客迁移完，这次迁移也是下定了决心来迁移的，毕竟从woredpress等动态博客迁移到静态容易，如果以后想要迁移回去可没这么简单，希望我以后能慢慢写下去吧</p>
]]></content>
    <author><name>不旺の博客</name></author>
    <category term="防老年痴呆作"/>
  </entry>
  <entry>
    <title>博客已迁移至Astro</title>
    <link href="https://www.yisibuwang.top/posts/2026-02-19-%E5%8D%9A%E5%AE%A2%E5%B7%B2%E8%BF%81%E7%A7%BB%E8%87%B3astro/" rel="alternate" type="text/html"/>
    <id>https://www.yisibuwang.top/posts/2026-02-19-%E5%8D%9A%E5%AE%A2%E5%B7%B2%E8%BF%81%E7%A7%BB%E8%87%B3astro/</id>
    <published>2026-02-19T00:00:00.000Z</published>
    <updated>2026-02-19T00:00:00.000Z</updated>
    <summary>就像上篇近况所说，我这个博客重启的时候选用的是wordpress，wordpress确实很强大，但使用的这一年中浮现的很多问题也折腾了我不少精力...</summary>
    <content type="html"><![CDATA[<h2>为什么要迁移博客</h2>
<p>就像上篇近况所说，我这个博客重启的时候选用的是wordpress，wordpress确实很强大，但使用的这一年中浮现的很多问题也折腾了我不少精力</p>
<h3>每月固定支出的费用</h3>
<p>在使用的这一年中，每月固定要支出 服务器费用(40)+edgeone(9.4)，每个月吃掉我50；加上乱七八糟的其他东西，积少成多，过去一年已经吃掉了我四位数出头，毕竟还是学生，都是花的自己的生活费，这种额外支出能剩下再好不过</p>
<h3>让人心焦的维护问题</h3>
<p>只要使用服务器就不可避免安全问题，我对于这块的经验相当欠缺，防住了ssh爆破，还有针对网站的注入、攻击，但还是被钻了几次空子，被人种了木马。遇到这种也没有办法，只能查日志找方法慢慢解决，虽然积累了经验，但头上顶着作业的时候突然被这样搞一下也很难受</p>
<h2>选择静态博客的理由</h2>
<p>静态博客的优势很简单，加载速度快、托管成本低，不怕动态博客那些安全问题，对于一个个人网站来说，长期的生命力才是做下去的关键，如果我不迁移博客，没准以后第一个想让我关掉网站的原因就是因为每月的运行费用，将文章内容全部修改成Markdown文件对于我来说是更方便备份保存和未来其他的迁移的</p>
<h2>未来的路</h2>
<p>现在本站使用的是Astro的Mizuki主题，主题的仓库我放在下面</p>
<p>::github{repo="matsuzaka-yuki/Mizuki"}</p>
<p>在迁移的过程中，我也遇到了一些问题，未来我会写成文章记录</p>
<p>那么，就这样</p>
]]></content>
    <author><name>不旺の博客</name></author>
    <category term="博客更改记录"/>
  </entry>
  <entry>
    <title>2026-1-27近况</title>
    <link href="https://www.yisibuwang.top/posts/2026-01-26-2026-1-27%E8%BF%91%E5%86%B5/" rel="alternate" type="text/html"/>
    <id>https://www.yisibuwang.top/posts/2026-01-26-2026-1-27%E8%BF%91%E5%86%B5/</id>
    <published>2026-01-26T00:00:00.000Z</published>
    <updated>2026-01-26T00:00:00.000Z</updated>
    <summary>总算是放假了，为啥学校放假总是会比其他学校慢这么多，放假了偶尔就写写新东西.....这是我第三次这么说了</summary>
    <content type="html"><![CDATA[<p>1、关于近况</p>
<p>总算是放假了，为啥学校放假总是会比其他学校慢这么多，放假了偶尔就写写新东西.....这是我第三次这么说了</p>
<p>前段时间写了一个自动替换ssl证书的py脚本，实际写出来后发现还是想的太简单了，用不了，能实现下载替换和使用，但宝塔面板上没法正常显示，这不是我想要的效果，以后再试试吧。</p>
<p><img src="./image-4-1024x552.webp" alt="" /></p>
<p>一个人写了6人份的小组作业，时间不够写完完整功能给我写力竭了</p>
<p><img src="./image-5.png" alt="" /></p>
<p>结果到头来拿的分还不如上学期摆烂考的多</p>
<p><img src="./45ff34b19d2917f5dfc332e1263c9f88-1.jpg" alt="" /></p>
<p>昨天刚报名考驾照，不知道能不能考过，本来打算寒假学点其他的东西的，再不济把之前的模型做完也行</p>
<p>&lt;figure&gt;</p>
<p><img src="./00deb9f210d5ba4fe3a8e7aceb75027a-2-1024x540.webp" alt="" /></p>
<p>&lt;figcaption&gt;</p>
<p>做一半没做了，太耗时间了</p>
<p>&lt;/figcaption&gt;</p>
<p>&lt;/figure&gt;</p>
<p>年末的时候看了眼服务器费用细明，发现这大爹一年快烧我一千了，维护起来还搞的心焦，回头可能打算迁移到静态框架上丢cdn里随他</p>
<p><img src="./image-7.png" alt="" /></p>
<p>放个寒假过个年事情一堆，心烦。</p>
]]></content>
    <author><name>不旺の博客</name></author>
    <category term="随手记录"/>
  </entry>
  <entry>
    <title>在Centos7中配置本地或阿里云yum源</title>
    <link href="https://www.yisibuwang.top/posts/2026-01-05-%E5%9C%A8centos7%E4%B8%AD%E9%85%8D%E7%BD%AE%E6%9C%AC%E5%9C%B0%E6%88%96%E9%98%BF%E9%87%8C%E4%BA%91yum%E6%BA%90/" rel="alternate" type="text/html"/>
    <id>https://www.yisibuwang.top/posts/2026-01-05-%E5%9C%A8centos7%E4%B8%AD%E9%85%8D%E7%BD%AE%E6%9C%AC%E5%9C%B0%E6%88%96%E9%98%BF%E9%87%8C%E4%BA%91yum%E6%BA%90/</id>
    <published>2026-01-05T00:00:00.000Z</published>
    <updated>2026-01-05T00:00:00.000Z</updated>
    <summary>在Centos7中配置本地或阿里云yum源,与上篇docker文章一样，都是懒得每次去网上查资料记录的产物</summary>
    <content type="html"><![CDATA[<h2>写在前面</h2>
<p>与上篇docker文章一样，都是懒得每次去网上查资料记录的产物</p>
<h2>通过挂载本地镜像配置yum源</h2>
<p>首先你得先拥有你所用系统的iso镜像，如果使用的是虚拟机，则不需要下载，一般虚拟机会连接着镜像文件，你只需要查询下镜像的位置就行</p>
<p>输入df -HT可以查看挂载情况</p>
<p><img src="./image-2.webp" alt="" /></p>
<p>将镜像挂载，前面的参数是镜像文件的设备文件名，后面的是挂载点。如果使用iso镜像，则修改前面为路径即可</p>
<pre><code>mount /dev/sr0 /opt/centos
</code></pre>
<p>[alert]提示：请根据自己的情况更换后面的挂载地址！[/alert]</p>
<p>yum配置文件的目录在/etc/yum.repos.d/下，我们需要修改目录下的文件</p>
<pre><code>cd /etc/yum.repos.d/
</code></pre>
<p>可以使用rm *全部删除，求稳可以新建个文件夹全丢进去</p>
<p>创建配置文件</p>
<pre><code>vim local.repo
</code></pre>
<pre><code>[local]
name=Local Repository
baseurl=file:////opt/centos
enabled=1
gpgcheck=0
</code></pre>
<p>更新yum缓存</p>
<pre><code>yum clean all
yum makecache
</code></pre>
<h2>通过阿里云修改本地yum源</h2>
<p>更加简单直接，首先前往yum配置文件目录下</p>
<pre><code>cd /etc/yum.repos.d/
</code></pre>
<p>可以使用rm *全部删除，求稳可以新建个文件夹全丢进去</p>
<p>下载阿里云yum源配置文件</p>
<pre><code>curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
</code></pre>
<p>更新yum缓存</p>
<pre><code>yum clean all
yum makecache
</code></pre>
]]></content>
    <author><name>不旺の博客</name></author>
    <category term="防老年痴呆作"/>
  </entry>
  <entry>
    <title>在Centos7中快速安装docker</title>
    <link href="https://www.yisibuwang.top/posts/2026-01-05-%E5%9C%A8centos%E4%B8%AD%E5%BF%AB%E9%80%9F%E5%AE%89%E8%A3%85docker/" rel="alternate" type="text/html"/>
    <id>https://www.yisibuwang.top/posts/2026-01-05-%E5%9C%A8centos%E4%B8%AD%E5%BF%AB%E9%80%9F%E5%AE%89%E8%A3%85docker/</id>
    <published>2026-01-05T00:00:00.000Z</published>
    <updated>2026-01-05T00:00:00.000Z</updated>
    <summary>在Centos7中快速安装docker,因为我每次上课都需要安装docker,老师又不发安装文件，每次都去查镜像地址太麻烦，因此写下此篇记录</summary>
    <content type="html"><![CDATA[<h2>写在前面</h2>
<p>因为我每次上课都需要安装docker,老师又不发安装文件，每次都去查镜像地址太麻烦，因此写下此篇记录</p>
<p><img src="./image-1.png" alt="" /></p>
<h2>安装</h2>
<p>首先确保系统已经成功配置好yum镜像源</p>
<p>安装docker必要的yum包</p>
<pre><code>sudo yum install -y yum-utils device-mapper-persistent-data lvm2
</code></pre>
<p>设置docker的源为阿里云</p>
<pre><code>sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
</code></pre>
<p>安装docker</p>
<pre><code>sudo yum install -y docker-ce
</code></pre>
<pre><code>sudo yum install docker-compose-plugin
</code></pre>
<p>配置docker的国内镜像地址</p>
<pre><code>sudo mkdir -p /etc/docker
</code></pre>
<pre><code>sudo vi /etc/docker/daemon.json
</code></pre>
<pre><code>{
  "registry-mirrors": [
    "https://docker.m.daocloud.io",
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com",
    "https://registry.docker-cn.com",
        "https://docker.1panel.live",
        "https://docker-0.unsee.tech",
        "https://docker.1panel.live",
        "https://registry.dockermirror.com",
        "https://docker.imgdb.de",
        "https://docker.m.daocloud.io",
        "https://hub.firefly.store",
        "https://hub.littlediary.cn",
        "https://hub.rat.dev",
        "https://dhub.kubesre.xyz",
        "https://cjie.eu.org",
        "https://docker.kejilion.pro",
        "https://docker.1panelproxy.com",
        "https://docker.hlmirror.com",
        "https://hub.fast360.xyz",
        "https://ghcr.io"
  ],
  "dns": ["8.8.8.8", "8.8.4.4"]
}
</code></pre>
<p>重启docker服务</p>
<pre><code>sudo systemctl daemon-reload
</code></pre>
<pre><code>sudo systemctl restart docker
</code></pre>
<p>基本安装工作完成</p>
<p>输入docker -v 如有输出代表安装成功</p>
]]></content>
    <author><name>不旺の博客</name></author>
    <category term="防老年痴呆作"/>
  </entry>
  <entry>
    <title>在Fabric服务器中使用Fuji制作玩家每日登录奖励</title>
    <link href="https://www.yisibuwang.top/posts/2025-09-11-%E5%9C%A8fabric%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%AD%E4%BD%BF%E7%94%A8fuji%E5%88%B6%E4%BD%9C%E7%8E%A9%E5%AE%B6%E6%AF%8F%E6%97%A5%E7%99%BB%E5%BD%95%E5%A5%96%E5%8A%B1/" rel="alternate" type="text/html"/>
    <id>https://www.yisibuwang.top/posts/2025-09-11-%E5%9C%A8fabric%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%AD%E4%BD%BF%E7%94%A8fuji%E5%88%B6%E4%BD%9C%E7%8E%A9%E5%AE%B6%E6%AF%8F%E6%97%A5%E7%99%BB%E5%BD%95%E5%A5%96%E5%8A%B1/</id>
    <published>2025-09-11T00:00:00.000Z</published>
    <updated>2025-09-11T00:00:00.000Z</updated>
    <summary>上一篇关于Fabric服务器的模组推荐中推荐的这个名叫Fuji的模组，由于全英文文档和模块化功能可能会导致一些功能配合起来比较难理解（其实是我自己），这里仅做分享如何使用这个模组为服务器内的玩家制作每日登录奖励</summary>
    <content type="html"><![CDATA[<h2>写在前面：关于Fuji</h2>
<p>上一篇关于Fabric服务器的模组推荐中推荐的这个名叫Fuji的模组，由于全英文文档和模块化功能可能会导致一些功能配合起来比较难理解（其实是我自己），这里仅做分享如何使用这个模组为服务器内的玩家制作每日登录奖励</p>
<p>重新介绍一下这个模组：这是一个尝试把 EssentialsX 移植到 fabric 平台上的模组模组里包括了很多有意思的功能，而且都是模块化的可以选择开启或关闭</p>
<h2>制作每日奖励</h2>
<p>如果需要下载模组可以点击这里：<a href="https://modrinth.com/mod/fuji">下载</a></p>
<p>模组的文档是以pdf形式上传的：<a href="https://github.com/sakurawald/fuji/raw/dev/docs/release/fuji.pdf">下载</a></p>
<p>那么开始吧！</p>
<p>首先为了方便以后更改每日奖励部分的内容物，我们创建一个kit，通过kit give指令来为玩家领取奖励</p>
<p>在游戏中以op身份输入**/kit editor**，此模组有着方便的礼物编辑界面，可以很好的管理这些礼物包，以后如果需要修改每日奖励的内容也可以直接修改</p>
<p><img src="./image-18-1024x552.webp" alt="" /></p>
<p>我们点中间下方的添加来添加一个新的礼物包，命名为daykit，并在里面放些东西作为我们的每日奖励，编辑完后退出，回到你的服务端的界面</p>
<p>在这里我们来看看接下来需要用到的模块化功能，这些功能记得在config/fuji/config.json中开启，即把false改为true</p>
<h4>command_bundle</h4>
<p>此功能提供了将多条命令集中成一起执行的自定义指令，并且可以以管理员权限执行，意味着我们可以使用这个让没有权限执行/kit give的玩家来间接执行此命令</p>
<p><img src="./image-20.webp" alt="" /></p>
<h4>command_cooldown</h4>
<p>此功能提供了指令的冷却时间，可以设定一条指令的最大执行次数和执行冷却，并提供了占位符来显示剩余的时间</p>
<p><img src="./image-19.webp" alt="" /></p>
<h4>command_scheduler</h4>
<p>此功能提供了定时的任务触发器，用于每日0点将玩家的领取冷却刷新</p>
<p><img src="./image-21.webp" alt="" /></p>
<p>首先使用command-cooldown的功能来编写一条领取每日奖励的指令</p>
<pre><code>command-cooldown test daykit %player:name% --onFailed 'send-message %player:name% &lt;green&gt;你今天已经领取过奖励了' kit give %player:name% daykit
</code></pre>
<p>这里的send-message是给玩家发送一条消息，这条语句的含义是，如果玩家词条命令能够正常执行（即没有触发领取冷却，则执行”kit give %player:name% daykit“以领取奖励，如果执行失败，则为玩家发送“你今天已经领取过奖励了”）</p>
<p>我们来为这条指令绑定一条便捷指令，打开路径为fuji/modules/command——bundle中的config.json</p>
<p>在下方添加一条配置文件：</p>
<pre><code>      "requirement": {
        "level": 0,
        "string": null
      },
      "pattern": "daykit",
      "bundle": [
        "command-cooldown test daykit %player:name% --onFailed 'send-message %player:name% &lt;green&gt;你今天已经领取过奖励了' kit give %player:name% daykit"
      ]
    }
  ]
}
</code></pre>
<p>这样便将这么一大串指令整合成了一条简单的/daykit</p>
<p>进入游戏中，为我们的/daykit指令设置一个执行冷却，以管理员身份输入指令</p>
<pre><code>/command-cooldown create daykit 86400000 --maxUsage 114514
</code></pre>
<p>create代表创建一个指令冷却，后面跟着的就是需要冷却的指令，86400000就是代表了时间（1000为一秒，此数字代表一天24个小时，即玩家领取了奖励后，指令即进入24小时冷却），--maxUsage 114514代表此命令能使用的次数，因为是每日奖励，给个大的数字即可</p>
<p>现在来为指令添加一个每日0点自动刷新冷却的功能</p>
<p>进入fuji\modules\command_scheduler中的scheduler.json配置文件中，在其添加以下代码</p>
<pre><code>{
  "jobs": [
    {
      "name": "daykit",
      "enable": true,
      "left_times": -1,     // 无限次执行
      "crons": [
        "0 0 0 * * ? *"     // 每天0点执行
      ],
      "commands_list": [
        [
          "command-cooldown reset daykit *"  //重置daykit指令的冷却
        ]
      ]
    }
  ]
}
</code></pre>
<p>至此，完成了每日奖励的所有工作</p>
]]></content>
    <author><name>不旺の博客</name></author>
    <category term="防老年痴呆作"/>
  </entry>
  <entry>
    <title>MCFabric模组服开设探索与管理模组尝试</title>
    <link href="https://www.yisibuwang.top/posts/2025-09-10-mcfabric%E6%A8%A1%E7%BB%84%E6%9C%8D%E5%BC%80%E8%AE%BE%E6%8E%A2%E7%B4%A2%E4%B8%8E%E7%AE%A1%E7%90%86%E6%A8%A1%E7%BB%84%E5%B0%9D%E8%AF%95/" rel="alternate" type="text/html"/>
    <id>https://www.yisibuwang.top/posts/2025-09-10-mcfabric%E6%A8%A1%E7%BB%84%E6%9C%8D%E5%BC%80%E8%AE%BE%E6%8E%A2%E7%B4%A2%E4%B8%8E%E7%AE%A1%E7%90%86%E6%A8%A1%E7%BB%84%E5%B0%9D%E8%AF%95/</id>
    <published>2025-09-10T00:00:00.000Z</published>
    <updated>2025-09-10T00:00:00.000Z</updated>
    <summary>暑假放假前，服务器的群U们由来催了我一波开服，但哥们暑假一堆事情堆着要做，于是我就想着整着能够尽量逻辑自洽能一直运行的服务器，部署完后靠管理员的部分权限也能进行维护不需要我去后台找问题....</summary>
    <content type="html"><![CDATA[<p>暑假放假前，服务器的群U们由来催了我一波开服</p>
<p><img src="./40b7f5a43bb5780a9f7e554e8bd1d554-1024x518.webp" alt="" /></p>
<p>但哥们暑假一堆事情堆着要做，于是我就想着整着能够尽量逻辑自洽能一直运行的服务器，部署完后靠管理员的部分权限也能进行维护不需要我去后台找问题</p>
<p>于是便有了这篇博客（悲）</p>
<p>:::tip
本篇内容仅为作者个人的探索与解决方法，仅供参考，本篇文章所使用的服务器版本为Fabric1.20.1
:::</p>
<h2>起步</h2>
<p>一开始的设想是去找个地形设计师设计好的地图来做地图，这样大家玩到后期长草或者自己发展的时候可以找到自己喜欢的地形建建筑（虽然后面发现还是把大家想的太理想了）</p>
<p><img src="./image-1.webp" alt="" /></p>
<p>&lt;figure&gt;</p>
<p><img src="./f9f18203387a8be9bc3e1337372a1a2d-1024x427.webp" alt="" /></p>
<p>&lt;figcaption&gt;</p>
<p>于是花了52买地图(哎呀我操歪果仁怎么这么会挣钱啊😭😭😭)</p>
<p>&lt;/figcaption&gt;</p>
<p>&lt;/figure&gt;</p>
<p>花了147买了三个月服务器（感谢沙糖桔赞助🙏）</p>
<p><img src="./7aa4b0bbb268b03afc90e3a69c053aff-1024x101.webp" alt="" /></p>
<p><img src="./image-2-1024x401.webp" alt="" /></p>
<p>至此开始了我的服务器探索</p>
<h2>很多很多有意思的模组</h2>
<p>这是我目前服务器所用的所有模组，没有付费（没钱）和乱七八糟的无用模组</p>
<p><img src="./image-3-1024x744.webp" alt="" /></p>
<p>具体说说一些我觉得很有用的模组</p>
<h3><strong><a href="https://www.mcmod.cn/class/5389.html">Ledger</a></strong></h3>
<p>查熊记录模组，可以记录放置方块、破坏方块、生物死亡、容器拿取放入等行为的记录。支持方块检索、范围检索、回滚等功能。还可以通过附属模组使其支持mysql等其他数据库；建议添加接入mysql，模组自带的记录数据库的大小有点大了</p>
<p><img src="./image-4-1024x592.webp" alt="" /></p>
<h3><strong><a href="https://www.mcmod.cn/class/5192.html">LuckPerms</a></strong></h3>
<p>老生常谈的权限管理模组，有着非常方便理解和使用的图形化网页界面，后面应该也会写一篇文章记录一下使用这个模组遇到的问题和解决方法，当然如果只是和朋友玩玩不需要这么多弯弯绕绕的还是不用加</p>
<p><img src="./7bae5a4129667eea03d4b75bf7fa7535-1024x642.webp" alt="" /></p>
<h3><a href="https://www.mcmod.cn/class/12645.html">Fuji</a></h3>
<p>这是一个类似于EssentialsX的管理模组；准确来说，这就是一个尝试把EssentialsX移植到fabric平台上的模组模组里包括了很多有意思的功能，而且都是模块化的可以选择开启或关闭，但很抽象的是模组是国人开发但它的文档居然是全英文的，让我肯起来有些痛苦，还有一些功能的使用逻辑比较奇怪，后面应该也会写一篇关于这个模组的文章</p>
<p><img src="./image-5-1024x663.webp" alt="" /></p>
<h3><a href="https://www.mcmod.cn/class/11485.html">Multiworld (Fabric &amp; Forge)</a></h3>
<p>本模组是多世界插件的模组版本，但功能实在是太少了，只有最基础的功能</p>
<p><img src="./image-6-1024x662.webp" alt="" /></p>
<h3><a href="https://www.mcmod.cn/class/2361.html">地毯+元素周期表</a></h3>
<p>也都是老生常谈的优化天王了，可以说Fabric服务器的半边天都是这几个撑着的，需要注意的是，前面的Fuji模组里已经自带了地毯的部分功能，但实现性能不佳甚至有些bug，建议关闭Fuji的假人等相关功能</p>
<p><img src="./image-7-1024x662.webp" alt="" /></p>
<h3><strong><a href="https://www.mcmod.cn/class/10848.html#google_vignette">Melius Vanish / Vanish</a></strong></h3>
<p>一个超级隐身模组哈哈，可以让你真正意义上的隐身（开tab都看不见的那种），狠狠视奸你的服成员吧😋😋😋</p>
<p><img src="./image-8-1024x679.webp" alt="" /></p>
<h3><strong><a href="https://www.mcmod.cn/class/3461.html">BlueMap</a></strong></h3>
<p>一个地图模组，加入是为了方便玩家找到自己喜欢的地形建筑，但这个地图和普通的不一样的是</p>
<p><img src="./image-9-1024x677.webp" alt="" /></p>
<p>它支持3D的放大预览哦，
太几把帅了有没有</p>
<p><img src="./ec49da60d03c28b50c2dda7ce549a22f.webp" alt="" /></p>
<h3><a href="https://www.mcmod.cn/class/5193.html">Inv View</a></h3>
<p>原版的开启玩家背包指令只允许开启在线玩家的背包，而这个模组可以让你打开离线和在线玩家的背包和末影箱</p>
<p><img src="./image-10-1024x681.webp" alt="" /></p>
<h3><a href="https://www.mcmod.cn/class/13809.html">styledplayerlist</a></h3>
<p>修改服务器的tab列表</p>
<p><img src="./image-11-1024x708.webp" alt="" /></p>
<h3><strong><a href="https://www.mcmod.cn/class/12964.html">Styled Sidebars</a></strong></h3>
<p>一个右侧计分板模组，而且是动态的</p>
<p><img src="./image-12-1024x670.webp" alt="" /></p>
<h3><a href="https://www.mcmod.cn/class/3314.html">textile backup</a></h3>
<p>一个轻量化的备份模组，可以自己设定自动备份，执行热备份回档等操作</p>
<p><img src="./image-13-1024x695.webp" alt="" /></p>
<h3><a href="https://modrinth.com/mod/world-border">World Border</a></h3>
<p>一个可以设计世界边界的模组，但有意思的是你可以自己设定穿过世界边界后把玩家传送到另一边，以完成环绕世界操作</p>
<p>&lt;figure&gt;</p>
<p><img src="./image-15-1024x693.webp" alt="" /></p>
<p>&lt;figcaption&gt;</p>
<p>这个模组没有mc百科的链接，因此贴上modrinth的链接与图片</p>
<p>&lt;/figcaption&gt;</p>
<p>&lt;/figure&gt;</p>
<p><img src="./image-16-1024x756.webp" alt="" /></p>
<p>这些就是我的服务器所用到的模组，之后只要再合理配置模组的文件就能搞定了，需要注意部分模组的文档不全、全英文甚至没有文档。</p>
<h2>写在结尾</h2>
<p>这个服务器始于2021年，来源是我的一拍脑门，我是看着他一点一点一个人一个人发展起来的，虽然现在的我没有时间管理，服务器没有新鲜血液也开始变得衰落；但我曾经为它的付出和折腾也是历历在目，为此我甚至放弃了一场比赛的学习，现在想想自己还是太蠢了，沉迷这种东西而失去改变自己人生的机会，只当是自己的青春乱几把放纵吧</p>
<p><img src="./2022-08-20_14.20.35.webp" alt="" /></p>
<p><img src="./2023-01-30_20.42.26-1-1024x540.webp" alt="" /></p>
<p>那么就这样，Ciallo～(∠・ω&lt; )⌒★</p>
]]></content>
    <author><name>不旺の博客</name></author>
    <category term="防老年痴呆作"/>
  </entry>
  <entry>
    <title>2025-9-7随记</title>
    <link href="https://www.yisibuwang.top/posts/2025-09-07-2025-9-7%E9%9A%8F%E8%AE%B0/" rel="alternate" type="text/html"/>
    <id>https://www.yisibuwang.top/posts/2025-09-07-2025-9-7%E9%9A%8F%E8%AE%B0/</id>
    <published>2025-09-07T00:00:00.000Z</published>
    <updated>2025-09-07T00:00:00.000Z</updated>
    <summary>很久没更新博客了，续费还是月月续，暑假在塔斯汀打工天天忙成傻逼了，干了以后真佩服那些上班还能写技术博客的前辈，光是回家都不想动了哪有心思写这些东西.....</summary>
    <content type="html"><![CDATA[<h2>1、关于近况</h2>
<p>很久没更新博客了，续费还是月月续，暑假在塔斯汀打工天天忙成傻逼了，干了以后真佩服那些上班还能写技术博客的前辈，光是回家都不想动了哪有心思写这些东西。。。。。</p>
<p>&lt;figure&gt;</p>
<p><img src="./cb0a3928aa69675ee0145a0371a63024-1024x768.webp" alt="" /></p>
<p>&lt;figcaption&gt;</p>
<p>最后一个晚班拍的照片，深夜的街道真的很适合思考</p>
<p>&lt;/figcaption&gt;</p>
<p>&lt;/figure&gt;</p>
<p>而正在写文的现在，我已经开学了，最近应该会随便写写自己之前学到的基础东西，会把最近学到的新玩意也上传上来，毕竟博客不写可没啥意义了</p>
<p><img src="./f4fc6a854e671f0991f6c2dcb74d3c07-1-1024x1017.webp" alt="" /></p>
<h2>2、目前想干的事</h2>
<p>之前整理之前的照片的时候找到了高中毕业前夜和朋友们的聊天，明明时隔没多久，却有种恍若隔世的感觉，因此我想要用打工的工资买一台运动相机，希望能记录以后出去玩的录像，毕竟有假期的时间可不多了。</p>
<p><img src="./3607158bcb4442d506e57c4a171bdb28-461x1024.webp" alt="" /></p>
<p>然后最近在看这个漫画，一上头一晚上追完了，想做个视频玩玩</p>
<p><img src="./image-1024x640.webp" alt="" /></p>
<p>那么就这样</p>
]]></content>
    <author><name>不旺の博客</name></author>
    <category term="随手记录"/>
  </entry>
  <entry>
    <title>关于使用Maibot项目期间的探索和解决方法</title>
    <link href="https://www.yisibuwang.top/posts/2025-05-20-%E5%85%B3%E4%BA%8E%E4%BD%BF%E7%94%A8maibot%E9%A1%B9%E7%9B%AE%E6%9C%9F%E9%97%B4%E7%9A%84%E6%8E%A2%E7%B4%A2%E5%92%8C%E8%A7%A3%E5%86%B3%E6%96%B9%E6%B3%95/" rel="alternate" type="text/html"/>
    <id>https://www.yisibuwang.top/posts/2025-05-20-%E5%85%B3%E4%BA%8E%E4%BD%BF%E7%94%A8maibot%E9%A1%B9%E7%9B%AE%E6%9C%9F%E9%97%B4%E7%9A%84%E6%8E%A2%E7%B4%A2%E5%92%8C%E8%A7%A3%E5%86%B3%E6%96%B9%E6%B3%95/</id>
    <published>2025-05-20T00:00:00.000Z</published>
    <updated>2025-05-20T00:00:00.000Z</updated>
    <summary>上篇博客已经走过了一遍关于使用Maibot来部署aiQQ机器人的方法，但在完成相关安装后我很快发现，机器人似乎太容易被“封杀”了，冻结和踢出登录问题接连不断，不胜其烦的我开始了本篇内容的相关探索，最后我也会写一些此项目的不尽人意的地方....</summary>
    <content type="html"><![CDATA[<h2>赛博群友才聊几天就坠机？</h2>
<p>上篇博客已经走过了一遍关于使用Maibot来部署aiQQ机器人的方法，但在完成相关安装后我很快发现，机器人似乎太容易被“封杀”了，冻结和踢出登录问题接连不断，不胜其烦的我开始了本篇内容的相关探索，最后我也会写一些此项目的不尽人意的地方。</p>
<p>:::important
本篇内容仅为作者个人的探索与解决方法，并非深层次代码层面的探索，每个人的账号条件或软件环境都有可能产生变数，仅供参考
:::</p>
<h2>冻结账号和踢出登录</h2>
<p>Maibot 这个项目使用了 NapCatQQ 作为Bot的协议端，目前使用该方法进行QQ机器人的部署会导致以下问题</p>
<p>我是使用的账号是一个注册时间为两年但并不活跃的低等级QQ账号，毕竟谁都不一定能随时随地掏出一个高活跃长时间使用的QQ账号拿来专门部署机器人的</p>
<p>使用无头版：特点是黑框扫码登录，但此方法在我尝试多个账号后皆有大概率被冻结账号，无非只是时间问题</p>
<p>使用有头版：特点其是拥有QQ的软件进行登录，可以正常使用其中的软件，但NapCatQQ是以插件形态运行在QQ上的，而QQ注入了插件修改器会导致被检测强制下线</p>
<h2>机缘巧合</h2>
<p>使用无头版直接会被检测冻结，而检测修改客户端只是踢出，探索方向便向着有头版的修改客户端+插件的形式，插件修改器的项目名叫<a href="https://liteloaderqqnt.github.io/guide/introduction.html">LiteLoaderQQNT</a>，目前已经在他们的项目文档中贴出了可能会导致的下线原因，而且尚未解决</p>
<p><img src="./image-8-1024x787.webp" alt="" /></p>
<p>QQ不知从什么版本开始加入了对针对此插件修改器的检测，如果检测到，就会将账号主动下线</p>
<p>但很巧的是</p>
<p>我在很久之前就在使用这个插件，并且从未更新QQ和插件版本，到现在依然是正常使用</p>
<p><img src="./image-9-1024x1018.webp" alt="" /></p>
<p>这就很巧了，QQ版本为9.9.15-26909，LiteLoader版本为1.2.1的环境并不会主动踢出登录，这是我长期日常使用了很久的，而踢出登录的原因来自QQ检测到了来自LiteLoader的注入修改操作，而不是小号机器人操作，所以不会冻结只会下线账号</p>
<p>那么我把相同的软件环境部署到服务器上，是不是就能实现不被下线和冻结了呢</p>
<p>我将相同的环境安装在了服务器上，但有很快遇到了新问题，MaiBot文档中说使用的napcat，与此版本的LiteLoader不兼容，且但我试图去寻找老版本的插件包时发现已经是很久之前的包了，所以便换了个兼容的插件</p>
<p>::github{repo="LLOneBot/LLOneBot"}</p>
<p><a href="https://github.com/LLOneBot">LLOneBot</a>这个插件可以在我的老版本环境中运行并且实现与napcat相同的功能，经过测试，服务端稳定运行3个星期没被藤子拿下😋😋😋可算是解决了日常使用的踢出问题</p>
<h2>止不住的人机味</h2>
<p>使用一段时间后，我逐渐发现了MaiBot的一些问题，人机味太重，本质上是DeepSeek，但是不能联网导致它对当下甚至前段时间的一些话题完全不知道，问他游戏话题会出现很多错误的攻略，由于MaiBot有着日程表的功能，让Ai模拟真人的作息(实际上你大半夜at它还是会蹦出来回你)，所以当你问它一些它不知道的问题或者让它去做一些行为的时候(例如让它上号)它就会反复和你打太极，让人出戏</p>
<p>目前也没法从参数或者提示词上消除这些东西，作为一个群友可能不及格，但是做个群吉祥物时不时让群U们玩玩还是相当不错的😋😋</p>
<h2>收费啊收费啊</h2>
<p>并不是MaiBot的问题，只是当初我觉得收费是在不够可持续发展，把这家伙吃着自己服务器的资源，还要隔段时间就给硅基流动交钱来让他的大脑保持运转，三分钟热度过去后很难再有动力持续维护这么个小东西了，图一乐吧就(其实他当各种动物娘相当合格🤓👍)</p>
]]></content>
    <author><name>不旺の博客</name></author>
    <category term="防老年痴呆作"/>
  </entry>
  <entry>
    <title>MaiBot(麦麦)，赛博群友QQ机器人部署指南</title>
    <link href="https://www.yisibuwang.top/posts/2025-04-28-maibot%E9%BA%A6%E9%BA%A6%E8%B5%9B%E5%8D%9A%E7%BE%A4%E5%8F%8Bqq%E6%9C%BA%E5%99%A8%E4%BA%BA%E9%83%A8%E7%BD%B2%E6%8C%87%E5%8D%97/" rel="alternate" type="text/html"/>
    <id>https://www.yisibuwang.top/posts/2025-04-28-maibot%E9%BA%A6%E9%BA%A6%E8%B5%9B%E5%8D%9A%E7%BE%A4%E5%8F%8Bqq%E6%9C%BA%E5%99%A8%E4%BA%BA%E9%83%A8%E7%BD%B2%E6%8C%87%E5%8D%97/</id>
    <published>2025-04-28T00:00:00.000Z</published>
    <updated>2025-04-28T00:00:00.000Z</updated>
    <summary>近段时间deepseek相当流行，可以说把叭叭了那么久的所谓ai终于给大家伙们端上来了，实现了全民玩ai，毕竟之前的openai还是有门槛，而这只赛博鲸鱼除了经常红温不回答也没啥缺点，聪明那是一等一的聪明....</summary>
    <content type="html"><![CDATA[<p>近段时间deepseek相当流行，可以说把叭叭了那么久的所谓ai终于给大家伙们端上来了，实现了全民玩ai，毕竟之前的openai还是有门槛，而这只赛博鲸鱼除了经常红温不回答也没啥缺点，聪明那是一等一的聪明</p>
<p>ai虽然聪明，可以学习纠错偷懒，但还是很快玩腻了；主播主播，有没有更平民方便一点的玩法</p>
<p>有的兄弟，有的</p>
<p>&lt;iframe src="//player.bilibili.com/player.html?isOutside=true&amp;aid=114035643125893&amp;bvid=BV1amAneGE3P&amp;cid=28488172827&amp;p=1" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"&gt;&lt;/iframe&gt;</p>
<p>闲来无事，我刷到了这个视频，这篇博客，就是关于接入deepseek的qq机器人的部署方法
:::important 此项目仍在积极更新，本教程内容可能会有部分失效，当前教程所使用的版本为0.6.2-alpha，参考本教程前，请确认自己使用的版本是否有差别，教程中的所有代码都需要一条一条运行 :::</p>
<h2>安装前的准备工作</h2>
<p><strong>在这里贴出项目以及软件环境的链接</strong></p>
<p>主要项目：</p>
<p>::github{repo="MaiM-with-u/MaiBot"}</p>
<p>::github{repo="MaiM-with-u/MaiBot-Napcat-Adapter"}</p>
<p>Python官网：<a href="https://www.python.org/">www.python.org</a></p>
<p>MongoDB官网：<a href="https://www.mongodb.com/">www.mongodb.com</a></p>
<p>项目wiki：<a href="https://docs.mai-mai.org/manual/">https://docs.mai-mai.org/manual/</a></p>
<p>::github{repo="NapNeko/NapCatQQ"}</p>
<p><strong>在安装之前，你需要准备：</strong></p>
<ol>
<li><strong>QQ小号</strong>：用于 Bot 登录（使用新号可能会被tx风控，导致频繁踢下线甚至冻结）</li>
<li><strong>大模型API及密钥</strong>：用于机器人回复消息调用（相当于bot的大脑）</li>
<li><strong>Python</strong>：用于整个项目的运行（请下载3.10—3.12之间的版本）</li>
<li><strong>MongoDB</strong>：数据库服务（相当于bot的记忆）</li>
<li><strong>Napcat</strong>：QQ框架（请下载有头版）</li>
<li><strong>MaiBot</strong>：项目主体</li>
</ol>
<p>but！しかし！ 但是！</p>
<p>其实这玩意有官方轮椅一键包来着：<a href="https://github.com/MaiM-with-u/MaiBot/releases/tag/EasyInstall-windows">https://github.com/MaiM-with-u/MaiBot/releases/tag/EasyInstall-windows</a></p>
<p>如果不想坐轮椅想自己一步步配置的那就接着走吧😋👍</p>
<h2>开始安装</h2>
<p>运行下载好的“python”安装程序，勾选 <strong>"Add Python to PATH"</strong>（一定要勾选），然后点击 <strong>"Install Now"</strong>。等待安装</p>
<p>运行下载好的“MongoDB”安装程序，无脑下一步即可，如果中途卡住很久，重新安装并将<strong>MongoDB Compass</strong>这个选项取消勾选即可，这是MongoDB的图形化软件，下载可能较慢，没有这个也不影响使用</p>
<p>将主项目中下载下来的两个压缩包文件解压并放到一个你找得到的地方，注意要放在同一个文件夹中，尽量不要有其他无关的文件，在空白处按住shift+右键，在此处打开powershell窗口</p>
<p>请输入下方的代码创建一个python虚拟环境</p>
<pre><code>python -m venv MaiBot\venv.\MaiBot\venv\Scripts\activate
</code></pre>
<p>进入maibot的文件夹，下载所需依赖</p>
<p>命令“cd 文件夹名称”以进入文件夹，下方的代码为实例，记得根据实际情况更改cd后的内容</p>
<pre><code>cd MaiBot
pip install -i https://mirrors.aliyun.com/pypi/simple -r .\requirements.txt --upgrade
</code></pre>
<p>随后回到上一级文件夹，再进入MaiBot-NapCat-Adapter文件夹，安装依赖</p>
<p>cd ..
cd MaiBot-Napcat-Adapter
pip install -i https://mirrors.aliyun.com/pypi/simple -r .\requirements.txt --upgrade</p>
<p>回到图形化界面打开MaiBot-Napcat-Adapter文件夹找到<code>template</code>下的<code>template_config.toml</code>复制到MaiBot-Napcat-Adapter文件夹的根目录，改名为<code>config.toml</code></p>
<p>回到根目录，进入<code>MaiBot</code>文件夹，在其中新建一个<code>config</code>文件夹，手动复制<code>template</code>文件夹中的<code>bot_config_template.toml</code>到<code>config</code>目录下并改名为<code>bot_config.toml</code></p>
<p>复制<code>template</code>文件夹中的<code>template.env</code>到根目录并重命名为<code>.env</code></p>
<p>解压之前下载的Napcat有头版，运行 <code>NapCatWinBootMain.exe</code>（注意不要直接运行QQ），正常情况下，你看到的应该是一个QQ电脑版的正常登录界面，登录上需要作为QQ机器人的小号，登录成功后进入设置，你能在左侧边栏看到NapcatQQ的选项卡，点击进入，并选择在QQ内打开配置页面</p>
<p>[admonition title="注意！" color="red"] 由于腾讯的检测机制，为有头版qq提供环境的liteloaderQQNT会被腾讯检测并强制退出账户，目前没有很好的解决方法，如需解决参考，可以查看作者有关qq机器人的探索文章[/admonition]</p>
<p><img src="./image-1-1024x521.webp" alt="" /></p>
<p>选择左侧的网络配置，在其中新建WebSocket 客户端，名称可以随便填写，URL输入：ws://localhost:8095/，勾选启用并保存</p>
<p><img src="./image-2.webp" alt="" /></p>
<p>如果想要更改相关的设置可以去官方wiki查找相关文档</p>
<p>至此，你的机器人已经可以运行了！让我们接下来进行一些必要的配置</p>
<p>打开maibot文件夹内的文件.env</p>
<p><img src="./fa488f1ec13f3b57f65313b2e54fa62c-1024x512.webp" alt="" /></p>
<p>正常情况下你应该看到的是一个这样的文件</p>
<p>接下来我们去获取api，也就是机器人的大脑</p>
<p>点击这个链接前往硅基流动注册账户：<a href="https://cloud.siliconflow.cn/i/z2vU6Rrm">https://cloud.siliconflow.cn/i/z2vU6Rrm</a>（这是我的邀请码，用这个链接注册你和我都能获得14元试用余额）</p>
<p><img src="./image-5-1024x485.webp" alt="" /></p>
<p>在api密钥栏中，选择新建Api密钥，名字随便取；将生成的密钥复制下来填写到.env文件中的SILICONFLOW_KEY=后面</p>
<p><img src="./image-7-1024x485.webp" alt="" /></p>
<p>接下来进入config文件夹中的bot_config.toml文件，这里是有关机器人性格，行为等配置文件，根据自己的情况更改即可</p>
<p>回到根目录再次进入powershell，进入虚拟环境并启动机器人</p>
<pre><code>.\venv\Scripts\activate
python .\bot.py
</code></pre>
<p>然后打开一个新的窗口，进入Adapter的文件夹，运行</p>
<pre><code>..\Maibot\venv\Scripts\activatepython .\main.py
</code></pre>
<p>以后每次启动机器人都是这个步骤</p>
]]></content>
    <author><name>不旺の博客</name></author>
    <category term="防老年痴呆作"/>
  </entry>
  <entry>
    <title>免费？VMware Workstation虚拟机最新版安装教程</title>
    <link href="https://www.yisibuwang.top/posts/2024-11-24-%E8%BD%AC%E5%85%8D%E8%B4%B9%E4%BA%86vmware-workstation%E8%99%9A%E6%8B%9F%E6%9C%BA%E6%9C%80%E6%96%B0%E7%89%88%E5%AE%89%E8%A3%85%E6%95%99%E7%A8%8B/" rel="alternate" type="text/html"/>
    <id>https://www.yisibuwang.top/posts/2024-11-24-%E8%BD%AC%E5%85%8D%E8%B4%B9%E4%BA%86vmware-workstation%E8%99%9A%E6%8B%9F%E6%9C%BA%E6%9C%80%E6%96%B0%E7%89%88%E5%AE%89%E8%A3%85%E6%95%99%E7%A8%8B/</id>
    <published>2024-11-24T00:00:00.000Z</published>
    <updated>2024-11-24T00:00:00.000Z</updated>
    <summary>这应该算这个网站重启后的第一篇博客了，这篇姑且算是一个不成熟的教程</summary>
    <content type="html"><![CDATA[<p>最近因为帮朋友装VMware Workstation虚拟机的时候意外发现，这款虚拟机的最新版本居然已经对个人用户免费了，便探索了下最新版本的安装过程并在此分享</p>
<p><img src="./fusion-ws-heroes-1024x410-1.png" alt="" /></p>
<h2>个人使用完全免费</h2>
<p>值此25周年之际，VMware 于5月14日推出了桌面虚拟化平台的最新版本 Workstation Pro 17.5.2 和 Fusion Pro 13.5.2，并且宣布这两个产品对个人使用完全免费</p>
<p>需要注意的是，Workstation Pro 和 Fusion Pro 的免费仅适用于非商业用途，VMware 对于个人使用和商业用途的定义如下：</p>
<ul>
<li>
<p><strong>个人使用</strong>： Workstation 或 Fusion 安装到电脑后，被用于运行非商业目的的虚拟机。个人使用明确排除将产品用于商业目的，包括经营或运营企业、组织、政府组织或教育机构等。</p>
</li>
<li>
<p><strong>商业用途</strong>：企业许可允许将产品用于商业目的，包括经营或运营企业、组织、政府组织或教育机构等。</p>
</li>
</ul>
<p>具体的可以查看官方博客：<a href="https://blogs.vmware.com/china/2024/05/16/workstation-%E5%92%8C-fusion-%E5%AF%B9%E4%B8%AA%E4%BA%BA%E4%BD%BF%E7%94%A8%E5%AE%8C%E5%85%A8%E5%85%8D%E8%B4%B9%EF%BC%8C%E4%BC%81%E4%B8%9A%E8%AE%B8%E5%8F%AF%E8%BD%AC%E5%90%91%E8%AE%A2%E9%98%85/">链接</a></p>
<h2>如何安装</h2>
<p>首先我们进入<a href="https://support.broadcom.com/group/ecx/productdownloads?subfamily=VMware%20Workstation%20Pro">下载链接</a>，这里会需要注册一个博通账户，注册后登录再返回此界面就会进入下载页</p>
<p><img src="./cafa99cc3d3c40aa85c399cdf73e47f9-1-1024x494.webp" alt="" /></p>
<p>点开版本详情，这边我们选择最新版</p>
<p><img src="./0a2f09519a4e56d2f8b9275a1c4dc06c-1-1024x492.webp" alt="" /></p>
<p>点进去后如果右边的按钮无法点击，就点击左上的I agree to the Terms and Conditions</p>
<p><img src="./32ba4a3d9df44728baa85ed5778d8786-1-1024x494.webp" alt="" /></p>
<p>这边下载可能缓慢，这边贴出个百度网盘链接给不方便的人使用：<a href="https://pan.baidu.com/s/1m5KFGIrWjF4JaVXYtRyZPg?pwd=ky2s">下载链接</a></p>
<p>下载完成后安装就可以使用了，安装时选择作为个人用户使用</p>
<p>在关于中，我们就可以查询自己的个人用途软件，且激活时间是永久</p>
<p><img src="./image-1.png" alt="" /></p>
<p>这也意味着使用VMware Workstation可以彻底脱离注册机注册码的时代了</p>
]]></content>
    <author><name>不旺の博客</name></author>
    <category term="学习"/>
  </entry>
  <entry>
    <title>2024-11-19随记</title>
    <link href="https://www.yisibuwang.top/posts/2024-11-19-2024-11-19%E9%9A%8F%E8%AE%B0/" rel="alternate" type="text/html"/>
    <id>https://www.yisibuwang.top/posts/2024-11-19-2024-11-19%E9%9A%8F%E8%AE%B0/</id>
    <published>2024-11-19T00:00:00.000Z</published>
    <updated>2024-11-19T00:00:00.000Z</updated>
    <summary>自上月重建博客之后，却是天天摆烂，今日晚自习无聊，遂随记摆烂</summary>
    <content type="html"><![CDATA[<h2>摆烂</h2>
<p>自上月重建博客之后，却是天天摆烂，今日晚自习无聊，遂随记摆烂。</p>
<h2>显示器支架</h2>
<p>为寝室的桌子装了个显示器支架，想提升效率，事实是效率的确提升了，打游戏，和干正事半路摸鱼的机会也大大增加了。</p>
<p><img src="./IMG_20241105_131550-1024x768.webp" alt="" /></p>
<h2>春秋在战国时期就灭亡了</h2>
<p>犹如一夜起来全世界温度下降几十度般的震撼感，被冷成傻逼。湖北的气候是这样的，人们只需要考虑温差加衣服，而我天气文化考虑的就多了。</p>
<p>明天要体测，估计会跑成狗，打个脚先。</p>
]]></content>
    <author><name>不旺の博客</name></author>
    <category term="随手记录"/>
  </entry>
  <entry>
    <title>草履虫都能看懂的博客建站教学（4）CDN</title>
    <link href="https://www.yisibuwang.top/posts/2024-10-26-%E8%8D%89%E5%B1%A5%E8%99%AB%E9%83%BD%E8%83%BD%E7%9C%8B%E6%87%82%E7%9A%84%E5%8D%9A%E5%AE%A2%E5%BB%BA%E7%AB%99%E6%95%99%E5%AD%A64cdn/" rel="alternate" type="text/html"/>
    <id>https://www.yisibuwang.top/posts/2024-10-26-%E8%8D%89%E5%B1%A5%E8%99%AB%E9%83%BD%E8%83%BD%E7%9C%8B%E6%87%82%E7%9A%84%E5%8D%9A%E5%AE%A2%E5%BB%BA%E7%AB%99%E6%95%99%E5%AD%A64cdn/</id>
    <published>2024-10-26T00:00:00.000Z</published>
    <updated>2024-10-26T00:00:00.000Z</updated>
    <summary>上篇文章我们一同美化和为站点添加了插件，本篇我们将为站点配置CDN</summary>
    <content type="html"><![CDATA[<h2>书接上文</h2>
<p>上篇文章我们一同美化和为站点添加了插件，本篇我们将为站点配置CDN</p>
<h2>关于CDN</h2>
<p>CDN的全称是Content Delivery Network，即内容分发网络。CDN是构建在现有网络基础之上的智能虚拟网络，依靠部署在各地的边缘服务器，通过中心平台的负载均衡、内容分发、调度等功能模块，使用户就近获取所需内容，降低网络拥塞，提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。</p>
<p>人话：<br />
通过IP访问实际资源时，如果CDN上并没有缓存资源，则会到源站请求资源，并缓存到CDN节点上，这样，用户下一次访问时，该CDN节点就会有对应资源的缓存了。</p>
<p>作用：降低负载、延迟，提升网站打开速度</p>
<h2>为站点部署CDN</h2>
<p>这边我们照样以腾讯云来举例，我们使用EdgeOne作为网站的cdn业务。</p>
<p>:::important
EdgeOne为腾讯云新业务，其中集成了CDN业务，笔者在此也是作为测试和探索，如不放心也可以使用CDN服务
:::</p>
<p>首先让我们在控制台中找到边缘安全加速平台 EO，点击后即可进入EdgeOne相关业务界面</p>
<p><img src="./image-39-1024x463.webp" alt="" /></p>
<p>如果是第一次进入，应该会赠送你14天的新人试用包，记得领取</p>
<p>在左侧栏中选择站点列表——添加站点</p>
<p><img src="./image-41-1024x412.webp" alt="" /></p>
<p>在选择套餐中，选择刚刚领取的试用包</p>
<p>加速模式按照自己需要的进行选择，注意中国大陆和全球加速需要网站经过备案才能使用</p>
<p><img src="./image-42.png" alt="" /></p>
<p>之后我们回到站点列表，选择我们刚刚所添加的<strong>站点</strong>，进入站点详情管理。</p>
<p>单击<strong>域名服务</strong> &gt; <strong>域名管理</strong> 进入域名管理详情页，单击**添加域名，**新增加速域名。</p>
<p>3填写需添加的加速域名以及对应的源站信息，配置完成后单击<strong>下一步。</strong></p>
<p><img src="./image-45.webp" alt="" /></p>
<p>至此我们成功为站点添加了CDN，这个EdgeOne还有许多能够优化网站速度的能力，例如压缩资源等</p>
<p>如果感兴趣可以前往<a href="https://cloud.tencent.com/document/product/1552/87601">官方文档</a>做了解</p>
<h2>结语</h2>
<p>至此我们所有的站点主要配置暂时完成了，还有很多东西需要不断学习探索，这篇教程只是单纯的小白向且是我个人的学习记录，建立一个网站最难的永远不是将他创造出来，而是维护他，就这样结束吧。</p>
]]></content>
    <author><name>不旺の博客</name></author>
    <category term="学习"/>
  </entry>
  <entry>
    <title>2024-10-24近况</title>
    <link href="https://www.yisibuwang.top/posts/2024-10-24-2024-10-24%E8%BF%91%E5%86%B5/" rel="alternate" type="text/html"/>
    <id>https://www.yisibuwang.top/posts/2024-10-24-2024-10-24%E8%BF%91%E5%86%B5/</id>
    <published>2024-10-24T00:00:00.000Z</published>
    <updated>2024-10-24T00:00:00.000Z</updated>
    <summary>建立好网站后便休息了许久，这么一看却是几日都未曾更新，那么就写写近况吧</summary>
    <content type="html"><![CDATA[<p>建立好网站后便休息了许久，这么一看却是几日都未曾更新，那么就写写近况吧</p>
<p>&lt;figure&gt;</p>
<p><img src="./Image_317052926382646-1-1001x1024.webp" alt="" /></p>
<p>&lt;figcaption&gt;</p>
<p>这是娜娜奇</p>
<p>&lt;/figcaption&gt;</p>
<p>&lt;/figure&gt;</p>
<h2>武汉欢乐谷</h2>
<p>10/19，与朋友们一同前去了武汉欢乐谷，虽然排队排几年，人暴多还一堆项目没玩，但总体还是快乐的:spoiler[有人快11点了才冲回宿舍差点没打上卡被请去喝茶我不说是谁]！</p>
<p>&lt;figure&gt;</p>
<p><img src="./MVIMG_20241019_172044-1-scaled.jpg" alt="欢乐谷大门" /></p>
<p>&lt;figcaption&gt;</p>
<p>欢乐谷大门</p>
<p>&lt;/figcaption&gt;</p>
<p>&lt;/figure&gt;</p>
<p>&lt;figure&gt;</p>
<p><img src="./MVIMG_20241019_202725-1-768x1024.webp" alt="一个仿民国的拍照打卡地" /></p>
<p>&lt;figcaption&gt;</p>
<p>一个仿民国的拍照打卡地</p>
<p>&lt;/figcaption&gt;</p>
<p>&lt;/figure&gt;</p>
<p><img src="./MVIMG_20241019_202428-1-1024x768.webp" alt="" /></p>
<p>&lt;figure&gt;</p>
<p><img src="./mmexport1729351327334-3-scaled.jpg" alt="" /></p>
<p>&lt;figcaption&gt;</p>
<p>离开前的合照</p>
<p>&lt;/figcaption&gt;</p>
<p>&lt;/figure&gt;</p>
<h2>湖北博物馆</h2>
<p>次日10/20，便再次去了湖北博物馆，说实话我很早之前就想去博物馆看看了:spoiler[而且免费门票不去白不去]！，这次的门票却意外的一点也不难抢</p>
<p>&lt;figure&gt;</p>
<p><img src="./MVIMG_20241020_153151-1-1024x768.webp" alt="芝士大门" /></p>
<p>&lt;figcaption&gt;</p>
<p>芝士大门</p>
<p>&lt;/figcaption&gt;</p>
<p>&lt;/figure&gt;</p>
<p><img src="./MVIMG_20241020_154304-1-768x1024.webp" alt="" /></p>
<p><img src="./IMG_20241020_162747-768x1024.webp" alt="" /></p>
<p>&lt;figure&gt;</p>
<p><img src="./IMG_20241020_155329-1-1024x769.webp" alt="现场看真的很震撼的棺材" /></p>
<p>&lt;figcaption&gt;</p>
<p>现场看真的很震撼的棺材</p>
<p>&lt;/figcaption&gt;</p>
<p>&lt;/figure&gt;</p>
<p>&lt;figure&gt;</p>
<p><img src="./IMG_20241020_162349-scaled.jpg" alt="传说中的越王勾践剑" /></p>
<p>&lt;figcaption&gt;</p>
<p>传说中的越王勾践剑</p>
<p>&lt;/figcaption&gt;</p>
<p>&lt;/figure&gt;</p>
]]></content>
    <author><name>不旺の博客</name></author>
    <category term="随手记录"/>
  </entry>
  <entry>
    <title>草履虫都能看懂的博客建站教学（2）域名</title>
    <link href="https://www.yisibuwang.top/posts/2024-10-18-%E8%8D%89%E5%B1%A5%E8%99%AB%E9%83%BD%E8%83%BD%E7%9C%8B%E6%87%82%E7%9A%84%E5%8D%9A%E5%AE%A2%E5%BB%BA%E7%AB%99%E6%95%99%E5%AD%A62%E5%9F%9F%E5%90%8D/" rel="alternate" type="text/html"/>
    <id>https://www.yisibuwang.top/posts/2024-10-18-%E8%8D%89%E5%B1%A5%E8%99%AB%E9%83%BD%E8%83%BD%E7%9C%8B%E6%87%82%E7%9A%84%E5%8D%9A%E5%AE%A2%E5%BB%BA%E7%AB%99%E6%95%99%E5%AD%A62%E5%9F%9F%E5%90%8D/</id>
    <published>2024-10-18T00:00:00.000Z</published>
    <updated>2024-10-18T00:00:00.000Z</updated>
    <summary>上篇文章我们初步建立了一个简单的站点，虽然教程十分简单甚至说无脑，当然也有从零开始配置环境并安装的方法，但此系列教程主要面向极端小白，所以优先以简单实现效果为主</summary>
    <content type="html"><![CDATA[<h2>书接上文</h2>
<p>上篇文章我们初步建立了一个简单的站点，虽然教程十分简单甚至说无脑，当然也有从零开始配置环境并安装的方法，但此系列教程主要面向极端小白，所以优先以简单实现效果为主</p>
<h2>域名</h2>
<p>建立完站点后，其实我们就可以访问并编写自己的博客了。但是你抬头看向地址栏会发现，“欸？怎么我的和别人的不太一样？”</p>
<p>别人的网站都是英文字母的网址，而我的是数字</p>
<p>接下来会简单科普一个网络基本概念，已经学会或者理解的同学可以在左侧的文章目录直接跳过。</p>
<p>我们在互联网上冲浪时，每个人都有一串独一无二的用来标识其设备的逻辑地址，只要是连接互联网的，你的电脑、手机、乃至路边的自动贩卖机，都有IP地址，你可以理解为全世界都在同一个小区里，而ip地址就是我们的门牌号，这就是IP地址（Internet Protocol Address）</p>
<p>你可以在windows的cmd中输入ipconfig来查询自己的ip地址</p>
<p><img src="./d5bba914efc90d3705a39dd2b9a17abf.png" alt="" /></p>
<p>所以，我们如果想要在这个“小区”中拜访别人，访问他人的服务器，首先就得拥有他的ip地址，但相信你也看的出来，这么长长~~的一串，难记且没有特征，我想要访问别人的网站，还得输入又臭又长的一大串数字，未免太过麻烦</p>
<p>懒惰毕竟是促进社会进步的动因:spoiler[确实如此]！，于是人民变发明出了域名系统（Domain Name）</p>
<p>如果一个一个记数字麻烦，那我们用字符来表示不就好了，域名和IP地址相互映射，使人更方便地访问互联网，而不用去记住能够被机器直接读取的IP地址</p>
<p>IP地址和域名是一一对应的，这份域名地址的信息存放在一个叫域名服务器（Domain name server）的主机内，使用者只需了解易记的域名地址，其对应转换工作就留给了域名服务器。域名服务器就是提供IP地址和域名之间的转换服务的服务器，相当于一个翻译官的工作</p>
<p>举个例子，之前其他人访问我的网站需要输入192.168.0.1，为其添加了名为”yisibuwang.top“域名后，其他人只需要在地址栏输入yisibuwang.top就可以实现输入ip地址一样的效果且更方便记忆</p>
<h2>为网站绑定一个域名</h2>
<p>理解了二者之间的关系后，我们就开始为服务器添加一个属于自己的域名</p>
<p>依旧是选择任意一家云服务厂商，进入其中的域名模块，这里以腾讯云举例</p>
<p>:::important
开始会让你填写信息模板，一定要如实填写
:::</p>
<p><img src="./image-1.png" alt="" /></p>
<p>填写完成后需要审核，需要稍等，我们先开始选择自己喜欢的域名</p>
<p><img src="./image-2.png" alt="" /></p>
<p>在概览界面上方搜索自己喜欢的域名是否被注册，注意域名需用英文和数字组成，如果已经被注册了那就只能更换了</p>
<p><img src="./image-3.png" alt="" /></p>
<p>如果没被注册或者下方还有域名留存，那就可以选择一个自己喜欢的后缀购买</p>
<p>:::important
这边尤其注意第一和第二年续费的价格，有些域名第一年很便宜但第二年就涨的很离谱，建议货比三家
:::</p>
<p>让我们回到服务器详情页，点击域名解析——添加域名解析——在其中填写自己的域名并勾上</p>
<p><img src="./image-4.png" alt="" /></p>
<p>至此，我们的域名就成功添加了，在地址栏输入我们的域名就可以访问了</p>
<h2>https</h2>
<p>但是你会发现，怎么浏览器弹出了不安全的站点警告</p>
<p><img src="./image-7.png" alt="" /></p>
<p>虽然不影响访问但看着总有种被鄙视的感觉（？）</p>
<p>这里就需要https了</p>
<p><strong>HTTPS是一种基于SSL协议的网站加密传输协议</strong>，网站安装SSL证书后，使用HTTPS加密协议访问，可激活客户端浏览器到网站服务器之间的SSL加密通道（SSL协议），实现高强度双向加密传输，防止传输数据被泄露或篡改。 简单讲，HTTPS=HTTP+SSL，即HTTPS是HTTP的安全版</p>
<p>我们只需要知道这玩意比http更安全，浏览器也更认可这个就可以了</p>
<p>接下来就让我们为网站添加ssl证书以实现https</p>
<p>我们在腾讯云上方的搜索框中搜索SSL证书并进入，在我的证书中，选择申请免费证书</p>
<p><img src="./image-8.png" alt="" /></p>
<p>按照提示输入并完善相应信息</p>
<p><img src="./image-10.png" alt="" /></p>
<p>申请后等待就可以了</p>
<p>为了后面的部分操作，我们这边不使用腾讯云的快捷https操作，而使用宝塔面板导入；回到我的证书，在界面找到自己刚刚申请的证书，在右边选择下载，这边选择Nginx的相关文件</p>
<p><img src="./image-12.png" alt="" /></p>
<p>下载后我们会得到一个压缩包，先解压后保存好</p>
<p>之后我们回到服务器详情，在应用管理中找到<strong>宝塔Linux面板 8.1.0 腾讯云专享版</strong>,复制下方的面板首页地址并访问，注意首次使用需将面板端口的文字改为8888，账号密码的获取方式和上篇一样需要连接SSH并输入指令</p>
<p><img src="./cb5c0a4196c8e0d65f7c383d2acb24e6-1024x575.webp" alt="" /></p>
<p>宝塔面板是一个图形化方便管理服务器的工具，接下来我们将在这里添加ssl证书，点击左侧侧边栏的“网站”</p>
<p>在这里我们能看到当前服务器所开设的站点，目前只有一个，也就是我们的博客网站，点击SSL证书以添加</p>
<p>在其中类型选择其他证书，打开我们之前在腾讯云上下载的证书压缩包，找到其中文件后缀为.key和.pem的文件，使用文本编辑器打开并复制进相应的密钥(.key)和证书(.pem)中</p>
<p>勾选签证HTTPS并保存</p>
<p><img src="./image-13.png" alt="" /></p>
<p>完成后，再访问网站，我们能发现，我们的网站已经有了小锁并且不会弹出安全警告了</p>
<p><img src="./image-15.png" alt="" /></p>
<p>到此网站的域名和https算是完成了，下篇我们将对我们的博客进行美化以及优化</p>
]]></content>
    <author><name>不旺の博客</name></author>
    <category term="学习"/>
  </entry>
  <entry>
    <title>草履虫都能看懂的博客建站教学（3）美化与插件</title>
    <link href="https://www.yisibuwang.top/posts/2024-10-18-%E8%8D%89%E5%B1%A5%E8%99%AB%E9%83%BD%E8%83%BD%E7%9C%8B%E6%87%82%E7%9A%84%E5%8D%9A%E5%AE%A2%E5%BB%BA%E7%AB%99%E6%95%99%E5%AD%A63%E7%BE%8E%E5%8C%96%E7%AB%99%E7%82%B9/" rel="alternate" type="text/html"/>
    <id>https://www.yisibuwang.top/posts/2024-10-18-%E8%8D%89%E5%B1%A5%E8%99%AB%E9%83%BD%E8%83%BD%E7%9C%8B%E6%87%82%E7%9A%84%E5%8D%9A%E5%AE%A2%E5%BB%BA%E7%AB%99%E6%95%99%E5%AD%A63%E7%BE%8E%E5%8C%96%E7%AB%99%E7%82%B9/</id>
    <published>2024-10-18T00:00:00.000Z</published>
    <updated>2024-10-18T00:00:00.000Z</updated>
    <summary>上篇文章我们一起为网站绑定了域名与证书完成了网站的基本访问工作，但博客是否有些过于简陋了，本篇文章就来解决这些问题</summary>
    <content type="html"><![CDATA[<h2>书接上文</h2>
<p>上篇文章我们一起为网站绑定了域名与证书完成了网站的基本访问工作，但博客是否有些过于简陋了呢，本篇文章就来解决这些问题</p>
<p>本篇文章参考的文章如下：</p>
<p><a href="https://pidanxia.ink/beautify/">https://pandax.wiki/257/</a></p>
<p><a href="https://pidanxia.ink/beautify/">https://pidanxia.ink/beautify/</a></p>
<p><a href="https://www.liveout.cn/25/">Argon主题博客美化 – Echo小窝 (liveout.cn)</a></p>
<p><a href="https://blog.csdn.net/weixin_46479685/article/details/131784853">https://blog.csdn.net/weixin_46479685/article/details/131784853</a></p>
<p>主题的官方文档</p>
<p><a href="https://argon-docs.solstice23.top/#/README">https://argon-docs.solstice23.top/#/README</a></p>
<h2>关于主题</h2>
<p><strong>WordPress</strong>有着丰富的主题功能，用户可以在网络上寻找自己喜爱的主题下载并安装使用，这边我们简单介绍几个主题，同学可以点进链接自行选择</p>
<p><a href="https://github.com/solstice23/argon-theme">Argon</a></p>
<p>这是一款轻盈、简洁、美观的 WordPress 主题</p>
<ul>
<li><strong>轻盈美观</strong> - 使用 Argon Design System 前端框架，细节精致，轻盈美观</li>
<li><strong>高度可定制化</strong> - 可自定义主题色、布局(双栏/单栏/三栏)、顶栏、侧栏、Banner、背景图、日夜间模式不同背景、背景沉浸、浮动操作按钮等，提供了丰富的自定义选项</li>
<li><strong>夜间模式</strong> - 支持日间、夜间、纯黑三种模式，并可以根据时间自动切换或跟随系统夜间模式</li>
<li><strong>功能繁多</strong> - Tag 和分类统计、作者链接、额外链接、文章字数和预计阅读时间、文章过时信息显示</li>
<li><strong>Pjax</strong> - 支持 Pjax 无刷新加载，提高浏览体验</li>
<li><strong>友情链接</strong> - 支持使用 Wordpress 自带的链接管理器进行友链管理，支持多种友链样式</li>
<li><strong>"说说" 功能</strong> - 随时发表想法，并在专门的 "说说" 页面展示，也支持说说和首页文章穿插</li>
<li><strong>评论功能扩展</strong> - Ajax 评论，评论支持 Markdown、验证码、再次编辑、显示 UA、悄悄话模式、回复时邮件通知、查看编辑记录、无限加载等功能</li>
<li><strong>诸多功能</strong> - 文章目录、阅读进度、Mathjax 或 Katex 公式解析、图片放大预览、Pangu.js 文本格式化、平滑滚动等</li>
<li><strong>丰富的短代码</strong> - 支持通过短代码在文章中插入 TODO、标签、警告、提示、折叠区块、Github 信息卡、时间线、隐藏文本、视频等模块</li>
<li><strong>适配 Gutenberg 编辑器</strong> - 支持使用 Gutenberg 编辑器可视化插入区块</li>
<li><strong>多语言</strong> - 支持中文、英文、俄文等语言</li>
<li><strong>其他</strong> - 自适应、精心优化的文章阅读界面 CSS、可切换衬线/非衬线字体、可自定义 CSS 和 JS、支持使用 CDN 加速静态文件访问、SEO 友好、Banner 打字动画、留言板页面、文章脚注等</li>
</ul>
<p><img src="./image-24-1024x576.webp" alt="" /></p>
<p><strong><a href="https://github.com/mashirozx/sakura">Sakura</a></strong></p>
<p>在 Louie 基于 Fuzzz 的 <a href="http://www.akina.pw/themeakina">Akina</a> 主题修改的主题 <a href="https://github.com/louie-senpai/Siren">Siren</a> 基础上三次修改 =.=</p>
<p><img src="./image-16.png" alt="" /></p>
<p><a href="https://github.com/Licoy/wordpress-theme-puock">Puock</a></p>
<p>一款基于WordPress开发的高颜值的自适应主题，支持白天与黑夜模式。</p>
<ul>
<li>支持白天与暗黑模式</li>
<li>全局无刷新加载</li>
<li>支持博客、CMS、企业三种布局</li>
<li>内置WP优化策略</li>
<li>内置前台用户中心</li>
<li>支持QQ / Github / Gitee / 微博登录</li>
<li>支持缩略图伪静态</li>
<li>全局顶部滚动公告</li>
<li>图形及极验验证码支持</li>
<li>自定义SMTP支持</li>
<li>一键全站变灰</li>
<li>网页压缩成一行</li>
<li>后台防恶意登录</li>
<li>内置出色的SEO功能</li>
<li>评论ajax加载</li>
<li>文章点赞、打赏、海报生成、分享</li>
<li>Twemoji集成</li>
<li>丰富的广告位</li>
<li>丰富的小工具</li>
<li>自动百度链接提交</li>
<li>众多页面模板（读者墙 / 归档 / 书籍推荐/ 站点导航 / 标签 / 站点地图等）</li>
<li>众多短代码支持（下载 / 评论后可见 / 登录后可见 / 登录且验证邮箱可见 / 多种提示框 / Github卡片等）</li>
<li>支持Dplayer播放器</li>
<li>仿MacOS的代码风格及拷贝代码</li>
<li>Vue3+NaiveUI集成的高颜值后台配置</li>
<li>文章多级目录生成</li>
<li>侧边栏粘性滚动</li>
<li>WP缓存支持</li>
<li>自定义主色调</li>
<li>LOGO扫光动画</li>
<li>ChatGPT及AI绘画支持</li>
</ul>
<p><img src="./image-22-1024x559.webp" alt="" /></p>
<p>[alert color="blue"]这里我们选择Argon作为主题继续教程[/alert]</p>
<h2>下载并安装</h2>
<p>在 <a href="https://github.com/solstice23/argon-theme/releases">Release</a> 页面下载 .zip 文件，在 WordPress 后台 "主题" 页面上传并安装。</p>
<p><img src="./image-20.png" alt="" /></p>
<p>安装成功后便能在左下角看见主题设置</p>
<h2>主题设置</h2>
<p>[alert color="blue"]注意：一下设置仅作参考，具体请以自身爱好以及实际情况操作[/alert]</p>
<p>沉浸式主题色开启、夜间模式切换设置为根据时间、颜色方案为灰黑、卡片圆角大小为15px</p>
<p><img src="./image-26.png" alt="沉浸式主题色开启、夜间模式切换设置为根据时间、颜色方案为灰黑、卡片圆角大小为15px" /></p>
<p>顶栏状态始终固定悬浮、顶栏毛玻璃效果开启</p>
<p><img src="./image-28.png" alt="顶栏状态始终固定悬浮、顶栏毛玻璃效果开启" /></p>
<p>Banner标题和副标题填写自己的内容，透明化开启、添加浅色遮罩、下方打字动画启用</p>
<p><img src="./image-30-1024x694.webp" alt="Banner标题和副标题填写自己的内容，透明化开启、添加浅色遮罩、下方打字动画启用" /></p>
<p>左侧栏同样按照个人情况填写</p>
<p><img src="./image-32-1024x375.webp" alt="左侧栏同样按照个人情况填写" /></p>
<p>文章信息标签信息</p>
<p><img src="./image-33.png" alt="文章信息标签信息" /></p>
<p>评论相关设置</p>
<p><img src="./image-35.png" alt="评论相关设置" /></p>
<p><img src="./image-36.png" alt="评论相关设置" /></p>
<p>接下来就是一些特殊效果，可以按需添加</p>
<h2>背景透明</h2>
<p>进入后台——外观——自定义——额外 css</p>
<pre><code>/*日间模式背景透明*/
.card{
	background-color:rgba(255, 255, 255, 0.8) !important;
 
	-webkit-backdrop-filter:blur(6px);
}
 
/*夜间模式背景透明*/
html.darkmode.bg-white,html.darkmode .card,html.darkmode #footer{
	background:rgba(66, 66, 66, 0.9) !important;
}
html.darkmode #fabtn_blog_settings_popup{
	background:rgba(66, 66, 66, 0.95) !important;
}
 
/*小工具栏背景透明*/
.card .widget,.darkmode .card .widget,#post_content &gt; div &gt; div &gt; div.argon-timeline-card.card.bg-gradient-secondary.archive-timeline-title{
	background-color:#ffffff00 !important;
	backdrop-filter:none;
	-webkit-backdrop-filter:none;
}
.emotion-keyboard,#fabtn_blog_settings_popup{
	background-color:rgba(255, 255, 255, 0.95) !important;
}
</code></pre>
<h2>年度倒计时</h2>
<p>在侧栏或站点概览额外内容中插入代码</p>
<pre><code>&lt;div class="progress-wrapper" style="padding: 0"&gt;
&lt;div class="progress-info"&gt;
&lt;div class="progress-label"&gt;
&lt;span id="yearprogress_yearname"&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;div id="yearprogress_text_container" class="progress-percentage"&gt;
&lt;span id="yearprogress_progresstext"&gt;&lt;/span&gt;
&lt;span id="yearprogress_progresstext_full"&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="progress"&gt;
&lt;div id="yearprogress_progressbar" class="progress-bar bg-primary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;script no-pjax=""&gt;
function yearprogress_refresh() {
let year = new Date().getFullYear();
$("#yearprogress_yearname").text(year);
let from = new Date(year, 0, 1, 0, 0, 0);
let to = new Date(year, 11, 31, 23, 59, 59);
let now = new Date();
let progress = (((now - from) / (to - from + 1)) * 100).toFixed(7);
let progressshort = (((now - from) / (to - from + 1)) * 100).toFixed(2);
$("#yearprogress_progresstext").text(progressshort + "%");
$("#yearprogress_progresstext_full").text(progress + "%");
$("#yearprogress_progressbar").css("width", progress + "%");
}
yearprogress_refresh();
if (typeof yearProgressIntervalHasSet == "undefined") {
var yearProgressIntervalHasSet = true;
setInterval(function () {
yearprogress_refresh();
}, 500);
}
&lt;/script&gt;
&lt;style&gt;
#yearprogress_text_container {
width: 100%;
height: 22px;
overflow: hidden;
user-select: none;
}
#yearprogress_text_container &gt; span {
transition: all 0.3s ease;
display: block;
}
#yearprogress_text_container:hover &gt; span {
transform: translateY(-20px);
}
&lt;/style&gt;
</code></pre>
<h2>日夜切换动态背景</h2>
<p>将代码添加至主题设置——页头脚本中，请记得更换其中的视频链接</p>
<p>视频链接可以将视频添加至后台——媒体库，点开后复制链接获取</p>
<pre><code>&lt;video
src="将这段文本替换成视频链接" /*白天动态视频链接*/
class="bg-video bg-video-day"
autoplay=""
loop="loop"
muted=""
&gt;&lt;/video&gt;
&lt;video
src="将这段文本替换成视频链接" /*夜间动态视频链接*/
class="bg-video bg-video-night"
autoplay=""
loop="loop"
muted=""
&gt;&lt;/video&gt;
&lt;style&gt;
video.bg-video {
position: fixed;
z-index: -1;
left: 0;
right: 0;
top: 0;
bottom: 0;
width: 100vw;
height: 100vh;
object-fit: cover;
pointer-events: none;
}
html.darkmode video.bg-video.bg-video-day {
opacity: 0;
}
html.darkmode video.bg-video.bg-video-night {
opacity: 1;
}
video.bg-video.bg-video-day {
opacity: 1;
}
video.bg-video.bg-video-night {
opacity: 0;
}
#banner,
#banner .shape {
background: transparent !important;
}
 
&lt;/style&gt;
&lt;script
src="https://api.gcxstudio.cn/odometer/odometer.min.js"
integrity="sha256-65R1G5irU1VT+k8L4coqgd3saSvO/Wufson/w+v2Idw="
crossorigin="anonymous"
&gt;&lt;/script&gt;
 
 
&lt;link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/aplayer/dist/APlayer.min.css"&gt;
&lt;script src="https://cdn.jsdelivr.net/npm/aplayer/dist/APlayer.min.js"&gt;&lt;/script&gt;
 
&lt;div id='aplayer'&gt;&lt;/div&gt;
</code></pre>
<h2>页脚内容</h2>
<p>记得替换为自己的信息</p>
<pre><code>&lt;div class="github-badge-big"&gt;
        &lt;span class="badge-subject"&gt;&lt;i class="fa fa-id-card"&gt;&lt;/i&gt; 备案号 &lt;/span&gt;
        &lt;span class="badge-value bg-orange"&gt;
            &lt;!-- 备案链接 --&gt;
            &lt;a href="https://beian.miit.gov.cn/" target="_blank" one-link-mark="yes"&gt;  这里填写备案号  &lt;/a&gt;
    &lt;/div&gt;
 
    &lt;!-- 联系我 --&gt;
    &lt;div class="github-badge-big"&gt;
        &lt;span class="badge-subject"&gt;&lt;i class="fa fa-envelope-o" aria-hidden="true"&gt;&lt;/i&gt; 联系我 &lt;/span&gt;
        &lt;span class="badge-value bg-red"&gt;  这里填写邮箱  &lt;/i&gt;
 
        &lt;/span&gt;
        &lt;/script&gt;
    &lt;/div&gt;
 
    &lt;!-- 运行时间 --&gt;
    &lt;div class="github-badge-big"&gt;
        &lt;span class="badge-subject"&gt;&lt;i class="fa fa-clock-o"&gt;&lt;/i&gt; Running Time&lt;/span&gt;&lt;span
            class="badge-value bg-apricots"&gt;&lt;span id="blog_running_days" class="odometer odometer-auto-theme"&gt;&lt;/span&gt;
            天
            &lt;span id="blog_running_hours" class="odometer odometer-auto-theme"&gt;&lt;/span&gt; 小时
            &lt;span id="blog_running_mins" class="odometer odometer-auto-theme"&gt;&lt;/span&gt; 分钟
            &lt;span id="blog_running_secs" class="odometer odometer-auto-theme"&gt;&lt;/span&gt;秒
        &lt;/span&gt;
    &lt;/div&gt;
 
 
 
&lt;style&gt;
/* 核心样式 */
.github-badge {
display: inline-block;
border-radius: 4px;
text-shadow: none;
font-size: 13.1px;
color: #fff;
line-height: 15px;
margin-bottom: 5px;
font-family: "Open Sans", sans-serif;
}
.github-badge .badge-subject {
display: inline-block;
background-color: #4d4d4d;
padding: 4px 4px 4px 6px;
border-top-left-radius: 4px;
border-bottom-left-radius: 4px;
font-family: "Open Sans", sans-serif;
}
.github-badge .badge-value {
display: inline-block;
padding: 4px 6px 4px 4px;
border-top-right-radius: 4px;
border-bottom-right-radius: 4px;
font-family: "Open Sans", sans-serif;
}
.github-badge-big {
display: inline-block;
border-radius: 6px;
text-shadow: none;
font-size: 14.1px;
color: #fff;
line-height: 18px;
margin-bottom: 7px;
}
.github-badge-big .badge-subject {
display: inline-block;
background-color: #4d4d4d;
padding: 4px 4px 4px 6px;
border-top-left-radius: 4px;
border-bottom-left-radius: 4px;
}
.github-badge-big .badge-value {
display: inline-block;
padding: 4px 6px 4px 4px;
border-top-right-radius: 4px;
border-bottom-right-radius: 4px;
}
.bg-orange {
background-color: #ec8a64 !important;
}
.bg-red {
background-color: #cb7574 !important;
}
.bg-apricots {
background-color: #f7c280 !important;
}
.bg-casein {
background-color: #dfe291 !important;
}
.bg-shallots {
background-color: #97c3c6 !important;
}
.bg-ogling {
background-color: #95c7e0 !important;
}
.bg-haze {
background-color: #9aaec7 !important;
}
.bg-mountain-terrier {
background-color: #99a5cd !important;
}
&lt;/style&gt;
 
&lt;script no-pjax=""&gt;
var blog_running_days = document.getElementById("blog_running_days");
var blog_running_hours = document.getElementById("blog_running_hours");
var blog_running_mins = document.getElementById("blog_running_mins");
var blog_running_secs = document.getElementById("blog_running_secs");
function refresh_blog_running_time() {
var time = new Date() - new Date(2023, 4, 29, 0, 0, 0); /*此处日期的月份改为自己真正月份的前一个月*/
var d = parseInt(time / 24 / 60 / 60 / 1000);
var h = parseInt((time % (24 * 60 * 60 * 1000)) / 60 / 60 / 1000);
var m = parseInt((time % (60 * 60 * 1000)) / 60 / 1000);
var s = parseInt((time % (60 * 1000)) / 1000);
blog_running_days.innerHTML = d;
blog_running_hours.innerHTML = h;
blog_running_mins.innerHTML = m;
blog_running_secs.innerHTML = s;
}
refresh_blog_running_time();
if (typeof bottomTimeIntervalHasSet == "undefined") {
var bottomTimeIntervalHasSet = true;
setInterval(function () {
refresh_blog_running_time();
}, 500);
}
&lt;/script&gt;
</code></pre>
<h2>滚动透明</h2>
<p>在页头脚本中添加</p>
<pre><code>&lt;!--滚动模糊--&gt;&lt;script&gt;
window.addEventListener("scroll", function (e) {
  if (window.scrollY &gt; window.innerHeight * 0.3) {
    document.querySelector("#content").classList.add("scrolled");
  } else {
    document.querySelector("#content").classList.remove("scrolled");
  }
});&lt;/script&gt;
&lt;style&gt;
#content.scrolled::before {
  filter: blur(13px);
  transform: scale(1.02);
}
#content::before {
  transition: filter .3s ease, transform .3s ease !important;
  filter: blur(0px);
  transform: scale(1.02);
}&lt;/style&gt;
</code></pre>
<h2>背景透明</h2>
<p>添加至额外css</p>
<pre><code>/*日间模式背景透明*/
.card{
background-color:rgba(255, 255, 255, 0.8) !important;
 
-webkit-backdrop-filter:blur(6px);
}
 
/*夜间模式背景透明*/
html.darkmode.bg-white,html.darkmode .card,html.darkmode #footer{
background:rgba(66, 66, 66, 0.9) !important;
}
html.darkmode #fabtn_blog_settings_popup{
background:rgba(66, 66, 66, 0.95) !important;
}
 
/*小工具栏背景透明*/
.card .widget,.darkmode .card .widget,#post_content &gt; div &gt; div &gt; div.argon-timeline-card.card.bg-gradient-secondary.archive-timeline-title{
background-color:#ffffff00 !important;
backdrop-filter:none;
-webkit-backdrop-filter:none;
}
.emotion-keyboard,#fabtn_blog_settings_popup{
background-color:rgba(255, 255, 255, 0.95) !important;
}
</code></pre>
<h2>鼠标左击特效</h2>
<p>添加至页头脚本中</p>
<pre><code>&lt;script type="text/javascript"&gt;
var a_idx = 0;
jQuery(document).ready(function($) {
$("body").click(function(e) {
var a = new Array("❤富强❤","❤民主❤","❤文明❤","❤和谐❤","❤自由❤","❤平等❤","❤公正❤","❤法治❤","❤爱国❤","❤敬业❤","❤诚信❤","❤友善❤");
var $i = $("&lt;span&gt;&lt;/span&gt;").text(a[a_idx]);
a_idx = (a_idx + 1) % a.length;
var x = e.pageX,
y = e.pageY;
$i.css({
"z-index": 99999,
"top": y - 20,
"left": x,
"position": "absolute",
"font-weight": "bold",
"color": "rgb("+~~(255*Math.random())+","+~~(255*Math.random())+","+~~(255*Math.random())+")"//颜色随机
//"#2299DD" //固定颜色
});
$("body").append($i);
$i.animate({
"top": y - 180,
"opacity": 0
},
1500,
function() {
$i.remove();
});
});
});
&lt;/script&gt;
</code></pre>
<h2>自定义右击页面</h2>
<p>放置至页头界面，记得更换其中的链接</p>
<pre><code>&lt;!-- 自定义右键 --&gt;
&lt;style type="text/css"&gt;
a {text-decoration: none;}
div.usercm{background-repeat:no-repeat;background-position:center center;background-size:cover;background-color:#fff;font-size:13px!important;width:130px;-moz-box-shadow:1px 1px 3px rgba
(0,0,0,.3);box-shadow:0px 0px 15px #333;position:absolute;display:none;z-index:10000;opacity:0.9;border-radius: 5px;}
div.usercm ul{list-style-type:none;list-style-position:outside;margin:0px;padding:0px;display:block}
div.usercm ul li{margin:0px;padding:0px;line-height:35px;}
div.usercm ul li a{color:#666;padding:0 15px;display:block}
div.usercm ul li a:hover{color:#fff;background:rgba(9,145,113,0.88);border-radius: 5px}
div.usercm ul li a i{margin-right:10px}
a.disabled{color:#c8c8c8!important;cursor:not-allowed}
a.disabled:hover{background-color:rgba(255,11,11,0)!important}
div.usercm{background:#fff !important;}
&lt;/style&gt;
&lt;div class="usercm" style="left: 199px; top: 5px; display: none;"&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.yisibuwang.top/"&gt;&lt;i class="fa fa-home fa-fw"&gt;&lt;/i&gt;&lt;span&gt;首页&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="javascript:void(0);" onclick="getSelect();"&gt;&lt;i class="fa fa-file fa-fw"&gt;&lt;/i&gt;&lt;span&gt;复制&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="javascript:void(0);" onclick="baiduSearch();"&gt;&lt;i class="fa fa-search fa-fw"&gt;&lt;/i&gt;&lt;span&gt;Bing一下&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="javascript:history.go(1);"&gt;&lt;i class="fa fa-arrow-right fa-fw"&gt;&lt;/i&gt;&lt;span&gt;前进&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="javascript:history.go(-1);"&gt;&lt;i class="fa fa-arrow-left fa-fw"&gt;&lt;/i&gt;&lt;span&gt;后退&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li style="border-bottom:1px solid gray"&gt;&lt;a href="javascript:window.location.reload();"&gt;&lt;i class="fa fa-refresh fa-fw"&gt;&lt;/i&gt;&lt;span&gt;刷新&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;script type="text/javascript" src="https://cdn.staticfile.org/layer/3.1.1/layer.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript"&gt;
(function(a) {
a.extend({
mouseMoveShow: function(b) {
var d = 0,
c = 0,
h = 0,
k = 0,
e = 0,
f = 0;
a(window).mousemove(function(g) {
d = a(window).width();
c = a(window).height();
h = g.clientX;
k = g.clientY;
e = g.pageX;
f = g.pageY;
h + a(b).width() &gt;= d &amp;&amp; (e = e - a(b).width() - 5);
k + a(b).height() &gt;= c &amp;&amp; (f = f - a(b).height() - 5);
a("html").on({
contextmenu: function(c) {
3 == c.which &amp;&amp; a(b).css({
left: e,
top: f
}).show()
},
click: function() {
a(b).hide()
}
})
})
},
disabledContextMenu: function() {
window.oncontextmenu = function() {
return !1
}
}
})
})(jQuery);
 
function getSelect() {
"" == (window.getSelection ? window.getSelection() : document.selection.createRange().text) ? layer.msg("请选择需要复制的内容！") : document.execCommand("Copy")
}
function baiduSearch() {
var a = window.getSelection ? window.getSelection() : document.selection.createRange().text;
"" == a ? layer.msg("请选择需要Bing的内容！") : window.open("https://cn.bing.com/search?q=" + a)
}
$(function() {
for (var a = navigator.userAgent, b = "Android;iPhone;SymbianOS;Windows Phone;iPad;iPod".split(";"), d = !0, c = 0; c &lt; b.length; c++) if (0 &lt; a.indexOf(b[c])) {
d = !1;
break
}
d &amp;&amp; ($.mouseMoveShow(".usercm"), $.disabledContextMenu())
});
&lt;/script&gt;
</code></pre>
<p>至此我们就完成了博客的美化</p>
<h2>插件</h2>
<p>这边推荐一些简单的插件</p>
<table>
<thead>
<tr>
<th><strong>Autoptimize</strong></th>
<th>通过优化 CSS, JS, 图像, Google字体等来使您的网站更快。</th>
</tr>
</thead>
<tbody>
<tr>
<td>Change Admin Email Setting Without Outbound Email</td>
<td>自WordPress v4.9之后重新存储功能。允许管理员更改管理电子邮件设置——不在站点上启用出站电子邮件,或接收电子邮件凭证。</td>
</tr>
<tr>
<td>Font Awesome</td>
<td>在你的网站上使用免费的图标</td>
</tr>
<tr>
<td>Wordfence 安全</td>
<td>Wordfence 安全 - 防病毒，防火墙和恶意软件扫描</td>
</tr>
<tr>
<td>WP Mail SMTP</td>
<td>重新配置<code>wp_mail()</code>功能以使用Gmail/Mailgun/SendGrid/SMTP而不是默认的<code>mail()</code>，并创建一个选项页面来管理设置。</td>
</tr>
<tr>
<td>WP Statistics</td>
<td>将网站的访问性洞察与GDPR / CCPA兼容的隐私友好分析。</td>
</tr>
<tr>
<td>Yoast SEO</td>
<td>第一个真正意义上的 WordPress 全能SEO解决方案！包含了页面内容分析、XML站点地图和更多功能。</td>
</tr>
<tr>
<td>超级缓存</td>
<td>WordPress的快速缓存插件</td>
</tr>
</tbody>
</table>
]]></content>
    <author><name>不旺の博客</name></author>
    <category term="学习"/>
  </entry>
  <entry>
    <title>草履虫都能看懂的博客建站教学（1）建立站点</title>
    <link href="https://www.yisibuwang.top/posts/2024-10-17-%E8%8D%89%E5%B1%A5%E8%99%AB%E9%83%BD%E8%83%BD%E7%9C%8B%E6%87%82%E7%9A%84%E5%8D%9A%E5%AE%A2%E5%BB%BA%E7%AB%99%E6%95%99%E5%AD%A61%E5%BB%BA%E7%AB%8B%E7%AB%99%E7%82%B9/" rel="alternate" type="text/html"/>
    <id>https://www.yisibuwang.top/posts/2024-10-17-%E8%8D%89%E5%B1%A5%E8%99%AB%E9%83%BD%E8%83%BD%E7%9C%8B%E6%87%82%E7%9A%84%E5%8D%9A%E5%AE%A2%E5%BB%BA%E7%AB%99%E6%95%99%E5%AD%A61%E5%BB%BA%E7%AB%8B%E7%AB%99%E7%82%B9/</id>
    <published>2024-10-17T00:00:00.000Z</published>
    <updated>2024-10-17T00:00:00.000Z</updated>
    <summary>这应该算这个网站重启后的第一篇博客了，这篇姑且算是一个不成熟的教程</summary>
    <content type="html"><![CDATA[<h2>前言</h2>
<p>这应该算这个网站重启后的第一篇博客了，这篇姑且算是一个不成熟的教程，因为大多数来自于从前建站的经验与记忆，因此也及其偏向小白，:spoiler[没脑子跟着走都能建的那种]！，一些地方或有更好的方法，如有建议欢迎下方留言讨论共同进步。</p>
<hr />
<h2>网站框架</h2>
<p>首先，让我们简单了解一些博客框架</p>
<p>1、Hexo</p>
<p>Hexo 是一个快速、简洁且高效的静态博客框架，它基于 Node.js 运行，可以将我们撰写的 Markdown 文档解析渲染成静态的 HTML 网页。</p>
<p>特点是Hexo是静态的，虽然搭建时和上传文章比较折腾麻烦（发布新博客只能定死了用一台设备），但几乎不用操心后续的维护问题，搭配GitHub Pages更能实现全免费。</p>
<p>适合喜欢折腾且资金预算不多甚至没有的同学。</p>
<p>2、Typecho</p>
<p>Typecho是一个基于PHP的开源博客程序。它使用多种数据库储存数据，在GPLv2许可证下发行。</p>
<p>这是一个非常轻量级的博客框架，轻量也意味着他对与服务器的配置要求十分之低，无需优化也可以有很不错的速度，同时他拥有较多的使用人数和主题，并且他是带后端的，不像Hexo一样有着上传博客方面的麻烦问题，只要有网你就能写。</p>
<p>适合不想搞花里胡哨，追求简洁或者服务器配置不行不想折腾优化的同学</p>
<p>3、Wordpress</p>
<p>WordPress是一个以PHP和MySQL为平台的自由开源的博客软件和内容管理系统。</p>
<p>这个算是博客界乃至网站界当之无愧的老大哥了，截至2018年4月，排名前1000万的网站中超过30.6%使用WordPress。WordPress是最受欢迎的网站内容管理系统，小到一个个人博客，大到美国白宫官方网站，都使用了这个，高使用率也代表了他的插件、主题乃至解决问题的问题都是其他博客框架多的多的[hidden type="background" tip="你知道的太多了"]如果你有功夫折腾，你甚至能用插件把自己的博客变成视频或者购物网站[/hidden] 当然，生态丰富，插件多以及强大的功能也导致了他的性能相对臃肿。</p>
<p>适合喜欢折腾，花里胡哨，想要博客有更多扩展性的同学。</p>
<p>而我就是个喜欢瞎击败折腾的蒙子，所以果断选了Wordpress（扭头）因此教程下端部分以安装Wordpress为核心</p>
<hr />
<h2>开始搭建属于自己的博客</h2>
<p>选择好自己适合自己的博客核心，就要开始正式搭建自己的服务器了，一咳嗽！</p>
<p>想要搭建博客，首先需要一台可以24小时持续运行的服务器，如今国内不少云服务商如阿里云、腾讯云，都有新人试用，新手同学可以先领取试用再考虑是否继续，这里我们以腾讯云作为演示。</p>
<p>建议新手同学，地区选择中国香港，因为国内服务器建站需要备案，而香港地区不用且国内访问时间相对不差</p>
<p>新建一台轻量应用服务器，选择“使用应用模板”，这里有很多建站模板，其中就有我们所需要的Wordpress，我们点击选中并创建</p>
<p><img src="./9a2e3461b2ce5cf90e3696de5da97197.png" alt="" /></p>
<p>创建好后我们就能在控制台中看到自己的服务器了</p>
<p><img src="./dd9c83c07ca4aa90ea024c152874c350.png" alt="" /></p>
<p>点进服务器详情，在应用管理中查看Wordpress的管理员登录地址，我们打开他；另外将下方的管理员密码中的指令复制下来</p>
<p><img src="./cb5c0a4196c8e0d65f7c383d2acb24e6.png" alt="" /></p>
<p>接下来我们获取密码，使用任意SSH工具或者在服务器概要中选择远程登录，连接服务器；把我们上面获得的获取管理员密码的指令输入进去，随后服务器就会返回给你两串内容，分别是用户名和密码</p>
<p>回到Wordpress的管理员登录地址，将相应的管理员和密码输入，进入管理界面，到此为止我们就已经完成的建立站点的所有步骤。</p>
<p>下篇我们将介绍如何为服务器添加域名以及SSL证书</p>
]]></content>
    <author><name>不旺の博客</name></author>
    <category term="学习"/>
  </entry>
  <entry>
    <title>重启，过去、当下和未来</title>
    <link href="https://www.yisibuwang.top/posts/2024-10-16-%E9%87%8D%E5%90%AF%E8%BF%87%E5%8E%BB%E5%BD%93%E4%B8%8B%E5%92%8C%E6%9C%AA%E6%9D%A5/" rel="alternate" type="text/html"/>
    <id>https://www.yisibuwang.top/posts/2024-10-16-%E9%87%8D%E5%90%AF%E8%BF%87%E5%8E%BB%E5%BD%93%E4%B8%8B%E5%92%8C%E6%9C%AA%E6%9D%A5/</id>
    <published>2024-10-16T00:00:00.000Z</published>
    <updated>2024-10-16T00:00:00.000Z</updated>
    <summary>时隔多年再次重启的自己的博客，第一篇博客不知道写些啥了</summary>
    <content type="html"><![CDATA[<p>时隔多年再次重启的自己的博客，第一篇博客不知道该写些啥了，想当年初中瞎玩时什么都不懂三分钟热度一顿乱折腾简直没脸看；如今已是大学生，被朋友点醒重启这个废弃已久的项目用于以后的学习备忘又或是留与纪念，如今续费资金不是问题，照着记忆中的操作一步步搞定了这个网站，那就写些平常的东西聊以纪念吧</p>
]]></content>
    <author><name>不旺の博客</name></author>
    <category term="博客更改记录"/>
  </entry>
</feed>
