mirror of
https://github.com/oneclickvirt/oneclickvirt.github.io.git
synced 2026-06-20 09:52:18 +08:00
14 lines
17 KiB
JavaScript
14 lines
17 KiB
JavaScript
import{_ as i,c as a,o as t,ag as l}from"./chunks/framework.CSeR4K32.js";const e="/assets/iofailed.BIGD2fYy.png",c=JSON.parse('{"title":"如有问题请反馈对应仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/oneclickvirt/oneclickvirt_qa.md","filePath":"guide/oneclickvirt/oneclickvirt_qa.md","lastUpdated":1772085361000}'),n={name:"guide/oneclickvirt/oneclickvirt_qa.md"};function h(p,s,k,d,r,o){return t(),a("div",null,s[0]||(s[0]=[l(`<h1 id="如有问题请反馈对应仓库" tabindex="-1">如有问题请反馈对应仓库 <a class="header-anchor" href="#如有问题请反馈对应仓库" aria-label="Permalink to "如有问题请反馈对应仓库""></a></h1><h2 id="忘记了管理员密码怎么办" tabindex="-1">忘记了管理员密码怎么办 <a class="header-anchor" href="#忘记了管理员密码怎么办" aria-label="Permalink to "忘记了管理员密码怎么办""></a></h2><p>需要通过数据库操作强行更改密码</p><ol><li>生成密码哈希</li></ol><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 使用 Python 生成(将 NewPassword123! 替换为您的新密码)</span></span>
|
||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">python3</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -c</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "import bcrypt; print(bcrypt.hashpw(b'NewPassword123!', bcrypt.gensalt()).decode('utf-8'))"</span></span></code></pre></div><p>输出示例:<code>$2b$12$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</code></p><ol start="2"><li>进入数据库</li></ol><p><strong>Docker 部署(一体化版本):</strong></p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">docker</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> exec</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -it</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> oneclickvirt</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> mysql</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -u</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> root</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> oneclickvirt</span></span></code></pre></div><p><strong>独立数据库部署:</strong></p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">mysql</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -h</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 127.0.0.1</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -P</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 3306</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -u</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> root</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -p</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> oneclickvirt</span></span></code></pre></div><ol start="3"><li>更新密码</li></ol><div class="language-sql vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">sql</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">-- 查看管理员账户</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">SELECT</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> id, username, user_type </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">FROM</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> users </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">WHERE</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> user_type </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 'admin'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">-- 更新密码(替换为第1步生成的哈希值)</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">UPDATE</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> users </span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">SET</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> password</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> '$2b$12$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> </span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">WHERE</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> username </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 'admin'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">-- 退出</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">EXIT;</span></span></code></pre></div><ol start="4"><li>登录测试</li></ol><p>使用新密码登录系统验证。</p><p><strong>注意事项</strong></p><ul><li>哈希值必须以 <code>$2a$</code>、<code>$2b$</code> 或 <code>$2y$</code> 开头</li><li>默认管理员用户名为 <code>admin</code>,可通过查询确认</li><li>建议使用强密码(≥8位,含大小写字母、数字、特殊字符)</li><li>修改前建议备份数据库:<div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">docker</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> exec</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> oneclickvirt</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> mysqldump</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -u</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> root</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> oneclickvirt</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> ></span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> backup.sql</span></span></code></pre></div></li></ul><h2 id="docker如何删除持久化的数据库和存储卷" tabindex="-1">Docker如何删除持久化的数据库和存储卷 <a class="header-anchor" href="#docker如何删除持久化的数据库和存储卷" aria-label="Permalink to "Docker如何删除持久化的数据库和存储卷""></a></h2><p>删除对应的容器后</p><p>执行</p><div class="language-shell vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">docker</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> volume</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> rm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> oneclickvirt-data</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> oneclickvirt-storage</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> oneclickvirt-config</span></span></code></pre></div><p>进行删除</p><h2 id="开设实例过多导致节点异常" tabindex="-1">开设实例过多导致节点异常 <a class="header-anchor" href="#开设实例过多导致节点异常" aria-label="Permalink to "开设实例过多导致节点异常""></a></h2><p>一个显著的现象是执行操作极其缓慢,甚至几分钟都执行不完毕一个命令</p><p>一般常见于节点的IO比较差,此时又开了很多SWAP超配内存</p><p>比如lxd环境下,执行<code>lxc list</code>会报错</p><div class="language-shell vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">internal</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> error,</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> please</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> report:</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> running</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> “lxd.lxc”</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> failed:</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> cannot</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> create</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> transient</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> scope:</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> DBus</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> error</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> “org.freedesktop.DBus.Error.TimedOut”:</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> [Failed </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">to</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> activate</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> service</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ‘org.freedesktop.systemd1’:</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> timed</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> out</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> (service_start_timeout=25000ms)]</span></span></code></pre></div><p>原因就是设置的实例数量太多了,商家又高度限制IO</p><p><img src="`+e+`" alt=""></p><p>此时只有一种方法,重启节点服务器,强制重启</p><p>重启后立即登录SSH,使用对应的脚本删除swap的使用,然后删除一些实例释放资源</p><p>由于重启后容器虚拟机需要一段时间一个个自动重启,打这个时间差可能删不了多少,但每次重启都能删一些</p><p>最终还是需要在限制实例数量的时候,慎重考虑节点的性能,较弱或者限制较多的节点,建议不要开设过多实例</p><h2 id="自编译出现依赖缺失或者兼容性问题" tabindex="-1">自编译出现依赖缺失或者兼容性问题 <a class="header-anchor" href="#自编译出现依赖缺失或者兼容性问题" aria-label="Permalink to "自编译出现依赖缺失或者兼容性问题""></a></h2><p>常见于 源码部署、Dockerfile、DockerCompose 方式部署</p><p>常见于 ARM 架构下前端编译出错</p><p>直接使用 预编译的Docker容器镜像 或 直接使用二进制文件部署(最稳妥)</p><h2 id="incus-和-lxd-进行-nat-映射一些命令查不到映射规则" tabindex="-1">incus 和 lxd 进行 NAT 映射一些命令查不到映射规则 <a class="header-anchor" href="#incus-和-lxd-进行-nat-映射一些命令查不到映射规则" aria-label="Permalink to "incus 和 lxd 进行 NAT 映射一些命令查不到映射规则""></a></h2><p>这是正常现象。</p><p>Incus / LXD 的端口映射默认使用 <strong>内核态 NAT(DNAT + FORWARD)</strong> 实现,并 <strong>不会在宿主机上创建端口监听进程</strong>。 因此,使用传统的端口占用查询工具通常<strong>无法看到任何结果</strong>。</p><p>例如,以下命令都 <strong>查不到宿主机端口占用</strong>:</p><div class="language-shell vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">ss</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -lntup</span></span>
|
||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">lsof</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -i</span></span>
|
||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">netstat</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -lntp</span></span></code></pre></div><p>只有通过:</p><div class="language-shell vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">incus</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> config</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> device</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> show</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 实例1</span></span></code></pre></div><p>或:</p><div class="language-shell vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">lxd</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> config</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> device</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> show</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 实例1</span></span></code></pre></div><p>才能看到已配置的端口映射规则,因为流量不过宿主机直接对外转发。</p><p>正确的端口映射查找方式是查看 nftables 规则</p><div class="language-shell vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">nft</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> list</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ruleset</span></span></code></pre></div><p>或仅查看 NAT 表:</p><div class="language-shell vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">nft</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> list</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> table</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ip</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> nat</span></span></code></pre></div><p>在使用 <code>iptables</code> 的系统中可使用:</p><div class="language-shell vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">iptables</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -t</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> nat</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -L</span></span></code></pre></div><p>如果有流量进出,查看真实连接状态可使用:</p><div class="language-shell vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">conntrack</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -L</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> grep</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> <</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">端</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">口</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">></span></span></code></pre></div>`,55)]))}const g=i(n,[["render",h]]);export{c as __pageData,g as default};
|