<?xml version="1.0" encoding="utf-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><title>郑锋的个人博客</title><link>https://zhengfeng.me/</link><description></description><item><title>powershell一键将Windows系统做为时间同步服务器</title><link>https://zhengfeng.me/technical-notes/91.html</link><description>&lt;p&gt;管理员身份运行powershell&lt;/p&gt;&lt;p&gt;粘贴以下代码：&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-powershell&quot;&gt;#&amp;nbsp;===============================
#&amp;nbsp;Windows&amp;nbsp;一键开启&amp;nbsp;NTP&amp;nbsp;时间服务器
#&amp;nbsp;===============================

Write-Host&amp;nbsp;&amp;quot;配置&amp;nbsp;Windows&amp;nbsp;NTP&amp;nbsp;时间服务器中...&amp;quot;

#&amp;nbsp;1.&amp;nbsp;设置为时间服务器
Set-ItemProperty&amp;nbsp;-Path&amp;nbsp;&amp;quot;HKLM:\SYSTEM\CurrentControlSet\Services\W32Time\Config&amp;quot;&amp;nbsp;`
&amp;nbsp;&amp;nbsp;-Name&amp;nbsp;&amp;quot;AnnounceFlags&amp;quot;&amp;nbsp;-Value&amp;nbsp;5

#&amp;nbsp;2.&amp;nbsp;启用&amp;nbsp;NTP&amp;nbsp;Server
Set-ItemProperty&amp;nbsp;-Path&amp;nbsp;&amp;quot;HKLM:\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer&amp;quot;&amp;nbsp;`
&amp;nbsp;&amp;nbsp;-Name&amp;nbsp;&amp;quot;Enabled&amp;quot;&amp;nbsp;-Value&amp;nbsp;1

#&amp;nbsp;3.&amp;nbsp;设置上游时间源（可改）
Set-ItemProperty&amp;nbsp;-Path&amp;nbsp;&amp;quot;HKLM:\SYSTEM\CurrentControlSet\Services\W32Time\Parameters&amp;quot;&amp;nbsp;`
&amp;nbsp;&amp;nbsp;-Name&amp;nbsp;&amp;quot;Type&amp;quot;&amp;nbsp;-Value&amp;nbsp;&amp;quot;NTP&amp;quot;

Set-ItemProperty&amp;nbsp;-Path&amp;nbsp;&amp;quot;HKLM:\SYSTEM\CurrentControlSet\Services\W32Time\Parameters&amp;quot;&amp;nbsp;`
&amp;nbsp;&amp;nbsp;-Name&amp;nbsp;&amp;quot;NtpServer&amp;quot;&amp;nbsp;-Value&amp;nbsp;&amp;quot;pool.ntp.org,0x9&amp;quot;

#&amp;nbsp;4.&amp;nbsp;开放防火墙&amp;nbsp;UDP&amp;nbsp;123&amp;nbsp;端口
New-NetFirewallRule&amp;nbsp;-Name&amp;nbsp;&amp;quot;NTP&amp;nbsp;Server&amp;quot;&amp;nbsp;`
&amp;nbsp;&amp;nbsp;-DisplayName&amp;nbsp;&amp;quot;NTP&amp;nbsp;Server&amp;nbsp;(UDP&amp;nbsp;123)&amp;quot;&amp;nbsp;`
&amp;nbsp;&amp;nbsp;-Protocol&amp;nbsp;UDP&amp;nbsp;-LocalPort&amp;nbsp;123&amp;nbsp;-Direction&amp;nbsp;Inbound&amp;nbsp;-Action&amp;nbsp;Allow&amp;nbsp;-ErrorAction&amp;nbsp;SilentlyContinue

#&amp;nbsp;5.&amp;nbsp;重启时间服务
Restart-Service&amp;nbsp;w32time

#&amp;nbsp;6.&amp;nbsp;设置自动启动
Set-Service&amp;nbsp;w32time&amp;nbsp;-StartupType&amp;nbsp;Automatic

#&amp;nbsp;7.&amp;nbsp;强制同步一次时间
w32tm&amp;nbsp;/resync&amp;nbsp;/force

#&amp;nbsp;8.&amp;nbsp;显示状态
Write-Host&amp;nbsp;&amp;quot;`n当前时间服务状态：&amp;quot;
w32tm&amp;nbsp;/query&amp;nbsp;/status

Write-Host&amp;nbsp;&amp;quot;`nNTP&amp;nbsp;服务器已启用&amp;nbsp;✔&amp;quot;&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;img data-width=&quot;615&quot; data-height=&quot;916&quot; src=&quot;https://zhengfeng.me/zb_users/upload/2026/04/202604081775656112330817.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;img data-width=&quot;1346&quot; data-height=&quot;1097&quot; src=&quot;https://zhengfeng.me/zb_users/upload/2026/04/202604081775656134854558.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;</description><pubDate>Wed, 08 Apr 2026 21:46:52 +0800</pubDate></item><item><title>借用别人的阿里云服务器，防止阿里云备案掉，链接放在这让蜘蛛抓，保证站有流量走阿里云 http://aliyun.zhengfeng.me http://aliyun.ifung.net</title><link>https://zhengfeng.me/talks/90.html</link><description>&lt;p class=&quot;text-talk&quot;&gt;借用别人的阿里云服务器，防止阿里云备案掉，链接放在这让蜘蛛抓，保证站有流量走阿里云 http://aliyun.zhengfeng.me http://aliyun.ifung.net&lt;/p&gt;</description><pubDate>Sun, 05 Apr 2026 16:47:10 +0800</pubDate></item><item><title>bat配置Windows系统自动登录账号，不用每次开机都输入密码</title><link>https://zhengfeng.me/technical-notes/89.html</link><description>&lt;pre class=&quot;prism-highlight&quot;&gt;@echo&amp;nbsp;off
echo&amp;nbsp;正在设置&amp;nbsp;Windows&amp;nbsp;自动登录...
::&amp;nbsp;======&amp;nbsp;修改这里&amp;nbsp;======
set&amp;nbsp;USERNAME=你的用户名
set&amp;nbsp;PASSWORD=你的密码
::&amp;nbsp;=====================
reg&amp;nbsp;add&amp;nbsp;&amp;quot;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows&amp;nbsp;NT\CurrentVersion\Winlogon&amp;quot;&amp;nbsp;/v&amp;nbsp;AutoAdminLogon&amp;nbsp;/t&amp;nbsp;REG_SZ&amp;nbsp;/d&amp;nbsp;1&amp;nbsp;/f
reg&amp;nbsp;add&amp;nbsp;&amp;quot;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows&amp;nbsp;NT\CurrentVersion\Winlogon&amp;quot;&amp;nbsp;/v&amp;nbsp;DefaultUserName&amp;nbsp;/t&amp;nbsp;REG_SZ&amp;nbsp;/d&amp;nbsp;%USERNAME%&amp;nbsp;/f
reg&amp;nbsp;add&amp;nbsp;&amp;quot;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows&amp;nbsp;NT\CurrentVersion\Winlogon&amp;quot;&amp;nbsp;/v&amp;nbsp;DefaultPassword&amp;nbsp;/t&amp;nbsp;REG_SZ&amp;nbsp;/d&amp;nbsp;%PASSWORD%&amp;nbsp;/f
echo.
echo&amp;nbsp;已完成！重启电脑后将自动登录。
pause&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Sun, 05 Apr 2026 15:23:03 +0800</pubDate></item><item><title>windows生成密钥推送到linux</title><link>https://zhengfeng.me/technical-notes/88.html</link><description>&lt;p&gt;打开powershell执行下面两个命令：&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;1、生成密钥对（一路回车）&lt;br/&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;ssh-keygen&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;2、将公钥推送到服务器&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;type&amp;nbsp;$env:USERPROFILE\.ssh\id_rsa.pub&amp;nbsp;|&amp;nbsp;ssh&amp;nbsp;root@192.168.10.169&amp;nbsp;&amp;quot;mkdir&amp;nbsp;-p&amp;nbsp;~/.ssh&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;chmod&amp;nbsp;700&amp;nbsp;~/.ssh&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;cat&amp;nbsp;&amp;gt;&amp;gt;&amp;nbsp;~/.ssh/authorized_keys&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;chmod&amp;nbsp;600&amp;nbsp;~/.ssh/authorized_keys&amp;quot;&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Fri, 03 Apr 2026 17:03:32 +0800</pubDate></item><item><title>Linux中开机启动创建screen并执行frp</title><link>https://zhengfeng.me/technical-notes/87.html</link><description>&lt;p&gt;创建脚本文件&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;#!/bin/bash

sleep&amp;nbsp;5

#&amp;nbsp;创建一个名为&amp;nbsp;frpc&amp;nbsp;的&amp;nbsp;screen&amp;nbsp;会话（如果不存在）
/usr/bin/screen&amp;nbsp;-dmS&amp;nbsp;frpc

#&amp;nbsp;在该会话中运行&amp;nbsp;frpc，改为你实际的frp所在路径
/usr/bin/screen&amp;nbsp;-S&amp;nbsp;frpc&amp;nbsp;-X&amp;nbsp;stuff&amp;nbsp;&amp;quot;cd&amp;nbsp;/home/frp_0.64.0_linux_amd64&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;./frpc&amp;nbsp;-c&amp;nbsp;frpc.toml\n&amp;quot;&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;给你的脚本添加可执行权限&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;chmod&amp;nbsp;+x&amp;nbsp;/home/start-frpc-screen.sh&amp;nbsp;#改为上面所说的脚本路径&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;创建一个服务&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;vi&amp;nbsp;/etc/systemd/system/frpc-screen.service&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;服务文件代码&lt;br/&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight&quot;&gt;[Unit]
Description=FRP&amp;nbsp;Client&amp;nbsp;in&amp;nbsp;Screen
After=network.target

[Service]
Type=oneshot
ExecStart=/usr/local/bin/start-frpc-screen.sh&amp;nbsp;#改为上面所说的脚本路径
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;配置开机启动&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;systemctl&amp;nbsp;daemon-reexec
systemctl&amp;nbsp;daemon-reload
systemctl&amp;nbsp;enable&amp;nbsp;frpc-screen
systemctl&amp;nbsp;start&amp;nbsp;frpc-screen&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Thu, 02 Apr 2026 14:06:00 +0800</pubDate></item><item><title>RockyLinux9.7安装nginx php8.5 mysql8.4</title><link>https://zhengfeng.me/technical-notes/86.html</link><description>&lt;p&gt;清理软件源缓存&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;dnf&amp;nbsp;clean&amp;nbsp;all
dnf&amp;nbsp;makecache&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;安装Nginx&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;tee&amp;nbsp;/etc/yum.repos.d/nginx.repo&amp;nbsp;&amp;lt;&amp;lt;&amp;nbsp;&amp;#39;EOF&amp;#39;
[nginx-stable]
name=nginx&amp;nbsp;stable&amp;nbsp;repo
baseurl=https://nginx.org/packages/rhel/9/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key

[nginx-mainline]
name=nginx&amp;nbsp;mainline&amp;nbsp;repo
baseurl=https://nginx.org/packages/mainline/rhel/9/x86_64/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
EOF

dnf&amp;nbsp;install&amp;nbsp;-y&amp;nbsp;nginx
systemctl&amp;nbsp;enable&amp;nbsp;nginx&amp;nbsp;--now
systemctl&amp;nbsp;status&amp;nbsp;nginx&amp;nbsp;--no-pager&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;安装php&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;dnf&amp;nbsp;install&amp;nbsp;-y&amp;nbsp;epel-release
dnf&amp;nbsp;install&amp;nbsp;-y&amp;nbsp;https://rpms.remirepo.net/enterprise/remi-release-9.rpm
dnf&amp;nbsp;module&amp;nbsp;reset&amp;nbsp;-y&amp;nbsp;php
dnf&amp;nbsp;module&amp;nbsp;enable&amp;nbsp;php:remi-8.5&amp;nbsp;-y
dnf&amp;nbsp;install&amp;nbsp;-y&amp;nbsp;php&amp;nbsp;\
php-fpm&amp;nbsp;\
php-cli&amp;nbsp;\
php-gd&amp;nbsp;\
php-mbstring&amp;nbsp;\
php-opcache&amp;nbsp;\
php-intl&amp;nbsp;\
php-json&amp;nbsp;\
php-xml&amp;nbsp;\
php-zip&amp;nbsp;\
php-curl&amp;nbsp;\
php-mysqlnd&amp;nbsp;\
php-pdo_mysql&amp;nbsp;\
php-redis
systemctl&amp;nbsp;enable&amp;nbsp;php-fpm&amp;nbsp;--now
systemctl&amp;nbsp;status&amp;nbsp;php-fpm&amp;nbsp;--no-pager&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;安装MySQL&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;dnf&amp;nbsp;install&amp;nbsp;-y&amp;nbsp;https://dev.mysql.com/get/mysql84-community-release-el9-1.noarch.rpm
dnf&amp;nbsp;module&amp;nbsp;reset&amp;nbsp;mysql&amp;nbsp;-y
dnf&amp;nbsp;repolist&amp;nbsp;enabled&amp;nbsp;|&amp;nbsp;grep&amp;nbsp;mysql
dnf&amp;nbsp;config-manager&amp;nbsp;--disable&amp;nbsp;mysql-8.0-community
dnf&amp;nbsp;config-manager&amp;nbsp;--disable&amp;nbsp;mysql-tools-8.0-community
dnf&amp;nbsp;install&amp;nbsp;-y&amp;nbsp;mysql-community-server
systemctl&amp;nbsp;enable&amp;nbsp;--now&amp;nbsp;mysqld&amp;nbsp;--no-pager
grep&amp;nbsp;&amp;#39;temporary&amp;nbsp;password&amp;#39;&amp;nbsp;/var/log/mysqld.log&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;h2&gt;其他操作&lt;/h2&gt;&lt;p&gt;关闭防火墙&lt;br/&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;systemctl&amp;nbsp;stop&amp;nbsp;firewalld
systemctl&amp;nbsp;disable&amp;nbsp;firewalld&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;禁用SELinux（非常重要，执行后重启系统生效）&lt;br/&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;sed&amp;nbsp;-i&amp;nbsp;&amp;#39;s/^SELINUX=.*/SELINUX=disabled/&amp;#39;&amp;nbsp;/etc/selinux/config&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;解决php session无法使用的问题&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;mkdir&amp;nbsp;-p&amp;nbsp;/var/lib/php/session
chown&amp;nbsp;-R&amp;nbsp;nginx:nginx&amp;nbsp;/var/lib/php/session
chmod&amp;nbsp;700&amp;nbsp;/var/lib/php/session

systemctl&amp;nbsp;restart&amp;nbsp;php-fpm&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;创建一个MySQL用户和数据库&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;mysql&amp;nbsp;-u&amp;nbsp;root&amp;nbsp;-p&amp;nbsp;-e&amp;nbsp;&amp;quot;CREATE&amp;nbsp;DATABASE&amp;nbsp;替换为数据库名&amp;nbsp;DEFAULT&amp;nbsp;CHARACTER&amp;nbsp;SET&amp;nbsp;utf8mb4&amp;nbsp;COLLATE&amp;nbsp;utf8mb4_unicode_ci;&amp;nbsp;CREATE&amp;nbsp;USER&amp;nbsp;&amp;#39;替换为用户名&amp;#39;@&amp;#39;localhost&amp;#39;&amp;nbsp;IDENTIFIED&amp;nbsp;BY&amp;nbsp;&amp;#39;替换为用户密码&amp;#39;;&amp;nbsp;GRANT&amp;nbsp;SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,ALTER&amp;nbsp;ON&amp;nbsp;替换为数据库名.*&amp;nbsp;TO&amp;nbsp;&amp;#39;替换为用户名&amp;#39;@&amp;#39;localhost&amp;#39;;&amp;nbsp;FLUSH&amp;nbsp;PRIVILEGES;&amp;quot;&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;nginx站点配置&lt;/p&gt;&lt;pre class=&quot;prism-highlight&quot;&gt;server&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;listen&amp;nbsp;80;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;server_name&amp;nbsp;zhengfeng.me&amp;nbsp;www.zhengfeng.me;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;($http_x_forwarded_proto&amp;nbsp;=&amp;nbsp;&amp;#39;http&amp;#39;)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;301&amp;nbsp;https://zhengfeng.me$request_uri;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;($http_x_forwarded_host&amp;nbsp;=&amp;nbsp;&amp;#39;www.zhengfeng.me&amp;#39;)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;301&amp;nbsp;https://zhengfeng.me$request_uri;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;root&amp;nbsp;/home/wwwroot/zhengfeng.me;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;index&amp;nbsp;index.php&amp;nbsp;index.html;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;access_log&amp;nbsp;/home/wwwlogs/zhengfeng.me.log;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;error_log&amp;nbsp;&amp;nbsp;/home/wwwlogs/zhengfeng.me.error.log;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;location&amp;nbsp;/&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try_files&amp;nbsp;$uri&amp;nbsp;$uri/&amp;nbsp;/index.php?$args;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;location&amp;nbsp;~&amp;nbsp;\.php$&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;include&amp;nbsp;fastcgi_params;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fastcgi_pass&amp;nbsp;unix:/run/php-fpm/www.sock;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fastcgi_index&amp;nbsp;index.php;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fastcgi_param&amp;nbsp;SCRIPT_FILENAME&amp;nbsp;$document_root$fastcgi_script_name;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;location&amp;nbsp;~*&amp;nbsp;\.(jpg|jpeg|png|gif|ico|css|js)$&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;expires&amp;nbsp;7d;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;access_log&amp;nbsp;off;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
}&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Tue, 31 Mar 2026 11:11:17 +0800</pubDate></item><item><title>Rocky Linux直接下载包安装screen</title><link>https://zhengfeng.me/technical-notes/85.html</link><description>&lt;p&gt;默认情况下默认源没有这个包，安装epel-release都没用，干脆就直接下载包安装&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;cd&amp;nbsp;/tmp
wget&amp;nbsp;https://download.rockylinux.org/pub/rocky/8/devel/x86_64/os/Packages/s/screen-4.6.2-4.el8.x86_64.rpm
dnf&amp;nbsp;install&amp;nbsp;-y&amp;nbsp;./screen-4.6.2-4.el8.x86_64.rpm&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Fri, 27 Mar 2026 15:17:42 +0800</pubDate></item><item><title>备份所有数据库的脚本，一个数据库一个文件</title><link>https://zhengfeng.me/technical-notes/84.html</link><description>&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;#!/bin/bash

USER=&amp;quot;root&amp;quot;
PASS=&amp;quot;123456&amp;quot;
HOST=&amp;quot;127.0.0.1&amp;quot;
PORT=&amp;quot;3306&amp;quot;
BACKUP_DIR=&amp;quot;./&amp;quot;
DATE=$(date&amp;nbsp;+%F_%H-%M-%S)

mkdir&amp;nbsp;-p&amp;nbsp;${BACKUP_DIR}/${DATE}

#&amp;nbsp;获取数据库列表
databases=$(mysql&amp;nbsp;-u${USER}&amp;nbsp;-p${PASS}&amp;nbsp;-h${HOST}&amp;nbsp;-P${PORT}&amp;nbsp;-e&amp;nbsp;&amp;quot;SHOW&amp;nbsp;DATABASES;&amp;quot;&amp;nbsp;\
|&amp;nbsp;grep&amp;nbsp;-Ev&amp;nbsp;&amp;quot;(Database|information_schema|performance_schema|mysql|sys)&amp;quot;)

for&amp;nbsp;db&amp;nbsp;in&amp;nbsp;$databases;&amp;nbsp;do
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo&amp;nbsp;&amp;quot;备份中:&amp;nbsp;$db&amp;quot;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mysqldump&amp;nbsp;-u${USER}&amp;nbsp;-p${PASS}&amp;nbsp;-h${HOST}&amp;nbsp;-P${PORT}&amp;nbsp;\
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--single-transaction&amp;nbsp;\
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--quick&amp;nbsp;\
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--routines&amp;nbsp;\
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--triggers&amp;nbsp;\
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$db&amp;nbsp;|&amp;nbsp;gzip&amp;nbsp;&amp;gt;&amp;nbsp;${BACKUP_DIR}/${DATE}/${db}.sql.gz

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;[&amp;nbsp;$?&amp;nbsp;-eq&amp;nbsp;0&amp;nbsp;];&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo&amp;nbsp;&amp;quot;✅&amp;nbsp;成功:&amp;nbsp;$db&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo&amp;nbsp;&amp;quot;❌&amp;nbsp;失败:&amp;nbsp;$db&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fi
done

echo&amp;nbsp;&amp;quot;?&amp;nbsp;所有数据库备份完成，目录:&amp;nbsp;${BACKUP_DIR}/${DATE}&amp;quot;&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Wed, 25 Mar 2026 13:30:47 +0800</pubDate></item><item><title>frp生成双向验证证书的脚本</title><link>https://zhengfeng.me/technical-notes/83.html</link><description>&lt;p&gt;放到任意服务器执行，IP.2 要改为frp服务端的IP，如果用的域名连接，要用域名&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;#!/bin/bash
set&amp;nbsp;-e

#&amp;nbsp;目录结构
mkdir&amp;nbsp;-p&amp;nbsp;ssl/{ca,server,client}

echo&amp;nbsp;&amp;quot;====&amp;nbsp;1.&amp;nbsp;生成&amp;nbsp;CA&amp;nbsp;根证书&amp;nbsp;====&amp;quot;
openssl&amp;nbsp;genrsa&amp;nbsp;-out&amp;nbsp;ssl/ca/ca.key&amp;nbsp;4096
openssl&amp;nbsp;req&amp;nbsp;-x509&amp;nbsp;-new&amp;nbsp;-nodes&amp;nbsp;-key&amp;nbsp;ssl/ca/ca.key&amp;nbsp;-sha256&amp;nbsp;-days&amp;nbsp;3650&amp;nbsp;\
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-subj&amp;nbsp;&amp;quot;/C=CN/ST=State/L=City/O=MyOrg/OU=CA/CN=MyRootCA&amp;quot;&amp;nbsp;\
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-out&amp;nbsp;ssl/ca/ca.crt

echo&amp;nbsp;&amp;quot;====&amp;nbsp;2.&amp;nbsp;生成服务端证书&amp;nbsp;====&amp;quot;
openssl&amp;nbsp;genrsa&amp;nbsp;-out&amp;nbsp;ssl/server/server.key&amp;nbsp;2048
openssl&amp;nbsp;req&amp;nbsp;-new&amp;nbsp;-key&amp;nbsp;ssl/server/server.key&amp;nbsp;\
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-subj&amp;nbsp;&amp;quot;/C=CN/ST=State/L=City/O=MyOrg/OU=Server/CN=frps.local&amp;quot;&amp;nbsp;\
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-out&amp;nbsp;ssl/server/server.csr

#&amp;nbsp;服务端扩展配置
cat&amp;nbsp;&amp;gt;&amp;nbsp;ssl/server/server.ext&amp;nbsp;&amp;lt;&amp;lt;EOF
basicConstraints=CA:FALSE
keyUsage&amp;nbsp;=&amp;nbsp;digitalSignature,&amp;nbsp;keyEncipherment
extendedKeyUsage&amp;nbsp;=&amp;nbsp;serverAuth
subjectAltName&amp;nbsp;=&amp;nbsp;@alt_names

[alt_names]
DNS.1&amp;nbsp;=&amp;nbsp;frps.local
IP.1&amp;nbsp;=&amp;nbsp;127.0.0.1
IP.2&amp;nbsp;=&amp;nbsp;29.15.143.75&amp;nbsp;#改为frp服务端的IP，如果用的域名连接，要用域名
EOF

openssl&amp;nbsp;x509&amp;nbsp;-req&amp;nbsp;-in&amp;nbsp;ssl/server/server.csr&amp;nbsp;-CA&amp;nbsp;ssl/ca/ca.crt&amp;nbsp;-CAkey&amp;nbsp;ssl/ca/ca.key&amp;nbsp;-CAcreateserial&amp;nbsp;\
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-out&amp;nbsp;ssl/server/server.crt&amp;nbsp;-days&amp;nbsp;3650&amp;nbsp;-sha256&amp;nbsp;-extfile&amp;nbsp;ssl/server/server.ext

echo&amp;nbsp;&amp;quot;====&amp;nbsp;3.&amp;nbsp;生成客户端证书&amp;nbsp;====&amp;quot;
openssl&amp;nbsp;genrsa&amp;nbsp;-out&amp;nbsp;ssl/client/client.key&amp;nbsp;2048
openssl&amp;nbsp;req&amp;nbsp;-new&amp;nbsp;-key&amp;nbsp;ssl/client/client.key&amp;nbsp;\
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-subj&amp;nbsp;&amp;quot;/C=CN/ST=State/L=City/O=MyOrg/OU=Client/CN=frpc.local&amp;quot;&amp;nbsp;\
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-out&amp;nbsp;ssl/client/client.csr

#&amp;nbsp;客户端扩展配置
cat&amp;nbsp;&amp;gt;&amp;nbsp;ssl/client/client.ext&amp;nbsp;&amp;lt;&amp;lt;EOF
basicConstraints=CA:FALSE
keyUsage&amp;nbsp;=&amp;nbsp;digitalSignature,&amp;nbsp;keyEncipherment
extendedKeyUsage&amp;nbsp;=&amp;nbsp;clientAuth
EOF

openssl&amp;nbsp;x509&amp;nbsp;-req&amp;nbsp;-in&amp;nbsp;ssl/client/client.csr&amp;nbsp;-CA&amp;nbsp;ssl/ca/ca.crt&amp;nbsp;-CAkey&amp;nbsp;ssl/ca/ca.key&amp;nbsp;-CAcreateserial&amp;nbsp;\
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-out&amp;nbsp;ssl/client/client.crt&amp;nbsp;-days&amp;nbsp;3650&amp;nbsp;-sha256&amp;nbsp;-extfile&amp;nbsp;ssl/client/client.ext

echo&amp;nbsp;&amp;quot;====&amp;nbsp;4.&amp;nbsp;验证证书链&amp;nbsp;====&amp;quot;
openssl&amp;nbsp;verify&amp;nbsp;-CAfile&amp;nbsp;ssl/ca/ca.crt&amp;nbsp;ssl/server/server.crt&amp;nbsp;ssl/client/client.crt

echo&amp;nbsp;&amp;quot;✅&amp;nbsp;证书生成完成，目录结构如下：&amp;quot;
tree&amp;nbsp;ssl&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Mon, 23 Mar 2026 12:04:24 +0800</pubDate></item><item><title>RockyLinux安装docker报错;ERROR: Unsupported distribution &#039;rocky&#039;</title><link>https://zhengfeng.me/technical-notes/82.html</link><description>&lt;p&gt;这个报错本质上是：&lt;strong data-start=&quot;9&quot; data-end=&quot;58&quot;&gt;Docker 官方安装脚本/仓库不识别 Rocky Linux（rocky）这个发行版标识&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;用下面命令直接安装&lt;/p&gt;&lt;pre class=&quot;prism-highlight&quot;&gt;#&amp;nbsp;1.&amp;nbsp;删除旧版本
dnf&amp;nbsp;remove&amp;nbsp;-y&amp;nbsp;docker&amp;nbsp;docker-client&amp;nbsp;docker-client-latest&amp;nbsp;docker-common&amp;nbsp;docker-latest&amp;nbsp;docker-latest-logrotate&amp;nbsp;docker-logrotate&amp;nbsp;docker-engine

#&amp;nbsp;2.&amp;nbsp;安装基础依赖
dnf&amp;nbsp;install&amp;nbsp;-y&amp;nbsp;yum-utils&amp;nbsp;device-mapper-persistent-data&amp;nbsp;lvm2

#&amp;nbsp;3.&amp;nbsp;添加&amp;nbsp;Docker&amp;nbsp;官方仓库
dnf&amp;nbsp;config-manager&amp;nbsp;--add-repo&amp;nbsp;https://download.docker.com/linux/centos/docker-ce.repo

#&amp;nbsp;4.&amp;nbsp;⭐&amp;nbsp;替换为国内源（关键）
sed&amp;nbsp;-i&amp;nbsp;&amp;#39;s+download.docker.com+mirrors.aliyun.com/docker-ce+&amp;#39;&amp;nbsp;/etc/yum.repos.d/docker-ce.repo

#&amp;nbsp;5.&amp;nbsp;安装&amp;nbsp;Docker
dnf&amp;nbsp;install&amp;nbsp;-y&amp;nbsp;docker-ce&amp;nbsp;docker-ce-cli&amp;nbsp;containerd.io

#&amp;nbsp;6.&amp;nbsp;启动
systemctl&amp;nbsp;enable&amp;nbsp;docker
systemctl&amp;nbsp;start&amp;nbsp;docker

#&amp;nbsp;7.&amp;nbsp;验证
docker&amp;nbsp;-v&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Sat, 21 Mar 2026 16:57:18 +0800</pubDate></item></channel></rss>