mirror of
https://github.com/foxhui/WebAI2API.git
synced 2026-06-16 21:03:59 +08:00
33 lines
28 KiB
HTML
33 lines
28 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="zh-CN" dir="ltr">
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||
<title>Linux 部署 | WebAI2API</title>
|
||
<meta name="description" content="网页版 AI 服务转 OpenAI 兼容 API">
|
||
<meta name="generator" content="VitePress v2.0.0-alpha.15">
|
||
<link rel="preload stylesheet" href="/assets/style.BZs0Eodj.css" as="style">
|
||
<link rel="preload stylesheet" href="/vp-icons.css" as="style">
|
||
|
||
<script type="module" src="/assets/app.D6bDUwdY.js"></script>
|
||
<link rel="preload" href="/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
|
||
<link rel="modulepreload" href="/assets/chunks/theme.f90DuY8d.js">
|
||
<link rel="modulepreload" href="/assets/chunks/framework.BJEpWshW.js">
|
||
<link rel="modulepreload" href="/assets/admin_linux.md.C4pirr1w.lean.js">
|
||
<link rel="icon" href="/favicon.png">
|
||
<script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"auto",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
|
||
<script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
|
||
</head>
|
||
<body>
|
||
<div id="app"><div class="Layout" data-v-170c53fe><!--[--><!--]--><!--[--><span tabindex="-1" data-v-451012a8></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-451012a8>Skip to content</a><!--]--><!----><header class="VPNav" data-v-170c53fe data-v-21e98c69><div class="VPNavBar" data-v-21e98c69 data-v-edbf9404><div class="wrapper" data-v-edbf9404><div class="container" data-v-edbf9404><div class="title" data-v-edbf9404><div class="VPNavBarTitle has-sidebar" data-v-edbf9404 data-v-16a8c3d8><a class="title" href="/" data-v-16a8c3d8><!--[--><!--]--><!----><span data-v-16a8c3d8>WebAI2API</span><!--[--><!--]--></a></div></div><div class="content" data-v-edbf9404><div class="content-body" data-v-edbf9404><!--[--><!--]--><div class="VPNavBarSearch search" data-v-edbf9404><!----></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-edbf9404 data-v-138a1628><span id="main-nav-aria-label" class="visually-hidden" data-v-138a1628> Main Navigation </span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/" tabindex="0" data-v-138a1628 data-v-1494679c><!--[--><span data-v-1494679c>首页</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/guide/requirements.html" tabindex="0" data-v-138a1628 data-v-1494679c><!--[--><span data-v-1494679c>入门指南</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/api/overview.html" tabindex="0" data-v-138a1628 data-v-1494679c><!--[--><span data-v-1494679c>API 参考</span><!--]--></a><!--]--><!--]--></nav><!----><div class="VPNavBarAppearance appearance" data-v-edbf9404 data-v-9cde98c8><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-9cde98c8 data-v-c6d441d6 data-v-54855812><span class="check" data-v-54855812><span class="icon" data-v-54855812><!--[--><span class="vpi-sun sun" data-v-c6d441d6></span><span class="vpi-moon moon" data-v-c6d441d6></span><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-edbf9404 data-v-a0cc7756 data-v-6e5e7bc9><!--[--><a class="VPSocialLink no-icon" href="https://github.com/foxhui/WebAI2API" aria-label="github" target="_blank" rel="me noopener" data-v-6e5e7bc9 data-v-9015c34a><span class="vpi-social-github"></span></a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-edbf9404 data-v-392c0efd data-v-6d4d2382><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-6d4d2382><span class="vpi-more-horizontal icon" data-v-6d4d2382></span></button><div class="menu" data-v-6d4d2382><div class="VPMenu" data-v-6d4d2382 data-v-76c0c713><!----><!--[--><!--[--><!----><div class="group" data-v-392c0efd><div class="item appearance" data-v-392c0efd><p class="label" data-v-392c0efd>Appearance</p><div class="appearance-action" data-v-392c0efd><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-392c0efd data-v-c6d441d6 data-v-54855812><span class="check" data-v-54855812><span class="icon" data-v-54855812><!--[--><span class="vpi-sun sun" data-v-c6d441d6></span><span class="vpi-moon moon" data-v-c6d441d6></span><!--]--></span></span></button></div></div></div><div class="group" data-v-392c0efd><div class="item social-links" data-v-392c0efd><div class="VPSocialLinks social-links-list" data-v-392c0efd data-v-6e5e7bc9><!--[--><a class="VPSocialLink no-icon" href="https://github.com/foxhui/WebAI2API" aria-label="github" target="_blank" rel="me noopener" data-v-6e5e7bc9 data-v-9015c34a><span class="vpi-social-github"></span></a><!--]--></div></div></div><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-edbf9404 data-v-6ffe035d><span class="container" data-v-6ffe035d><span class="top" data-v-6ffe035d></span><span class="middle" data-v-6ffe035d></span><span class="bottom" data-v-6ffe035d></span></span></button></div></div></div></div><div class="divider" data-v-edbf9404><div class="divider-line" data-v-edbf9404></div></div></div><!----></header><div class="VPLocalNav has-sidebar empty" data-v-170c53fe data-v-1924e3fd><div class="container" data-v-1924e3fd><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-1924e3fd><span class="vpi-align-left menu-icon" data-v-1924e3fd></span><span class="menu-text" data-v-1924e3fd>Menu</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-1924e3fd data-v-85ddaa89><button data-v-85ddaa89>Return to top</button><!----></div></div></div><aside class="VPSidebar" data-v-170c53fe data-v-01266c03><div class="curtain" data-v-01266c03></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-01266c03><span class="visually-hidden" id="sidebar-aria-label" data-v-01266c03> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="no-transition group" data-v-c8cf511c><section class="VPSidebarItem level-0" data-v-c8cf511c data-v-15093875><div class="item" role="button" tabindex="0" data-v-15093875><div class="indicator" data-v-15093875></div><h2 class="text" data-v-15093875>入门指南</h2><!----></div><div class="items" data-v-15093875><!--[--><div class="VPSidebarItem level-1 is-link" data-v-15093875 data-v-15093875><div class="item" data-v-15093875><div class="indicator" data-v-15093875></div><a class="VPLink link link" href="/guide/introduction.html" data-v-15093875><!--[--><p class="text" data-v-15093875>项目介绍</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-15093875 data-v-15093875><div class="item" data-v-15093875><div class="indicator" data-v-15093875></div><a class="VPLink link link" href="/guide/requirements.html" data-v-15093875><!--[--><p class="text" data-v-15093875>环境要求</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-15093875 data-v-15093875><div class="item" data-v-15093875><div class="indicator" data-v-15093875></div><a class="VPLink link link" href="/guide/deployment.html" data-v-15093875><!--[--><p class="text" data-v-15093875>快速部署</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-15093875 data-v-15093875><div class="item" data-v-15093875><div class="indicator" data-v-15093875></div><a class="VPLink link link" href="/guide/first-use.html" data-v-15093875><!--[--><p class="text" data-v-15093875>首次使用</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-c8cf511c><section class="VPSidebarItem level-0" data-v-c8cf511c data-v-15093875><div class="item" role="button" tabindex="0" data-v-15093875><div class="indicator" data-v-15093875></div><h2 class="text" data-v-15093875>配置说明</h2><!----></div><div class="items" data-v-15093875><!--[--><div class="VPSidebarItem level-1 is-link" data-v-15093875 data-v-15093875><div class="item" data-v-15093875><div class="indicator" data-v-15093875></div><a class="VPLink link link" href="/config/overview.html" data-v-15093875><!--[--><p class="text" data-v-15093875>配置概览</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-15093875 data-v-15093875><div class="item" data-v-15093875><div class="indicator" data-v-15093875></div><a class="VPLink link link" href="/config/instances.html" data-v-15093875><!--[--><p class="text" data-v-15093875>实例配置</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-15093875 data-v-15093875><div class="item" data-v-15093875><div class="indicator" data-v-15093875></div><a class="VPLink link link" href="/config/proxy.html" data-v-15093875><!--[--><p class="text" data-v-15093875>代理设置</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-c8cf511c><section class="VPSidebarItem level-0" data-v-c8cf511c data-v-15093875><div class="item" role="button" tabindex="0" data-v-15093875><div class="indicator" data-v-15093875></div><h2 class="text" data-v-15093875>API 参考</h2><!----></div><div class="items" data-v-15093875><!--[--><div class="VPSidebarItem level-1 is-link" data-v-15093875 data-v-15093875><div class="item" data-v-15093875><div class="indicator" data-v-15093875></div><a class="VPLink link link" href="/api/overview.html" data-v-15093875><!--[--><p class="text" data-v-15093875>接口概览</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-15093875 data-v-15093875><div class="item" data-v-15093875><div class="indicator" data-v-15093875></div><a class="VPLink link link" href="/api/chat.html" data-v-15093875><!--[--><p class="text" data-v-15093875>Chat Completions</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-15093875 data-v-15093875><div class="item" data-v-15093875><div class="indicator" data-v-15093875></div><a class="VPLink link link" href="/api/models.html" data-v-15093875><!--[--><p class="text" data-v-15093875>Models</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-15093875 data-v-15093875><div class="item" data-v-15093875><div class="indicator" data-v-15093875></div><a class="VPLink link link" href="/api/cookies.html" data-v-15093875><!--[--><p class="text" data-v-15093875>Cookies</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-c8cf511c><section class="VPSidebarItem level-0 has-active" data-v-c8cf511c data-v-15093875><div class="item" role="button" tabindex="0" data-v-15093875><div class="indicator" data-v-15093875></div><h2 class="text" data-v-15093875>运维管理</h2><!----></div><div class="items" data-v-15093875><!--[--><div class="VPSidebarItem level-1 is-link" data-v-15093875 data-v-15093875><div class="item" data-v-15093875><div class="indicator" data-v-15093875></div><a class="VPLink link link" href="/admin/webui.html" data-v-15093875><!--[--><p class="text" data-v-15093875>Web 管理界面</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-15093875 data-v-15093875><div class="item" data-v-15093875><div class="indicator" data-v-15093875></div><a class="VPLink link link" href="/admin/linux.html" data-v-15093875><!--[--><p class="text" data-v-15093875>Linux 部署</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-15093875 data-v-15093875><div class="item" data-v-15093875><div class="indicator" data-v-15093875></div><a class="VPLink link link" href="/admin/troubleshooting.html" data-v-15093875><!--[--><p class="text" data-v-15093875>故障排查</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><!--]--><!--[--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-170c53fe data-v-f1c8b00b><div class="VPDoc has-sidebar has-aside" data-v-f1c8b00b data-v-9a3aec1d><!--[--><!--]--><div class="container" data-v-9a3aec1d><div class="aside" data-v-9a3aec1d><div class="aside-curtain" data-v-9a3aec1d></div><div class="aside-container" data-v-9a3aec1d><div class="aside-content" data-v-9a3aec1d><div class="VPDocAside" data-v-9a3aec1d data-v-21b7d62c><!--[--><!--]--><!--[--><!--]--><nav aria-labelledby="doc-outline-aria-label" class="VPDocAsideOutline" data-v-21b7d62c data-v-3dd37849><div class="content" data-v-3dd37849><div class="outline-marker" data-v-3dd37849></div><div aria-level="2" class="outline-title" id="doc-outline-aria-label" role="heading" data-v-3dd37849>页面导航</div><ul class="VPDocOutlineItem root" data-v-3dd37849 data-v-24ee4c62><!--[--><!--]--></ul></div></nav><!--[--><!--]--><div class="spacer" data-v-21b7d62c></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-9a3aec1d><div class="content-container" data-v-9a3aec1d><!--[--><!--]--><main class="main" data-v-9a3aec1d><div style="position:relative;" class="vp-doc _admin_linux" data-v-9a3aec1d><div><h1 id="linux-部署" tabindex="-1">Linux 部署 <a class="header-anchor" href="#linux-部署" aria-label="Permalink to “Linux 部署”"></a></h1><p>在 Linux 服务器上运行 WebAI2API 的特殊配置说明。</p><h2 id="显示方式选择" tabindex="-1">显示方式选择 <a class="header-anchor" href="#显示方式选择" aria-label="Permalink to “显示方式选择”"></a></h2><p>在 Linux 服务器上运行非无头模式时,需要配置显示环境。</p><h3 id="方式一-xvfb-vnc-推荐" tabindex="-1">方式一:Xvfb + VNC (推荐) <a class="header-anchor" href="#方式一-xvfb-vnc-推荐" aria-label="Permalink to “方式一:Xvfb + VNC (推荐)”"></a></h3><p>使用虚拟显示器运行程序,通过 VNC 远程查看。</p><h4 id="使用内置命令" tabindex="-1">使用内置命令 <a class="header-anchor" href="#使用内置命令" aria-label="Permalink to “使用内置命令”"></a></h4><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">npm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> start</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -xvfb</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -vnc</span></span></code></pre></div><p>这会自动:</p><ul><li>启动 Xvfb 虚拟显示器</li><li>启动 x11vnc 服务器</li><li>可通过 WebUI 直接查看 VNC 画面</li></ul><h4 id="手动配置" tabindex="-1">手动配置 <a class="header-anchor" href="#手动配置" aria-label="Permalink to “手动配置”"></a></h4><p>如果内置命令无法满足需求:</p><ol><li><strong>启动虚拟显示器</strong></li></ol><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">xvfb-run</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --server-num=99</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --server-args=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"-ac -screen 0 1920x1080x24"</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> npm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> start</span></span></code></pre></div><ol start="2"><li><strong>映射到 VNC</strong></li></ol><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">x11vnc</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -display</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> :99</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -localhost</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -nopw</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -forever</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -noxdamage</span></span></code></pre></div><h2 id="vnc-连接" tabindex="-1">VNC 连接 <a class="header-anchor" href="#vnc-连接" aria-label="Permalink to “VNC 连接”"></a></h2><h3 id="通过-ssh-隧道-推荐" tabindex="-1">通过 SSH 隧道 (推荐) <a class="header-anchor" href="#通过-ssh-隧道-推荐" aria-label="Permalink to “通过 SSH 隧道 (推荐)”"></a></h3><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 本地终端</span></span>
|
||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">ssh</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -L</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 5900:127.0.0.1:5900</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> root@服务器IP</span></span></code></pre></div><p>然后使用 VNC 客户端连接 <code>127.0.0.1:5900</code>。</p><h3 id="通过-webui" tabindex="-1">通过 WebUI <a class="header-anchor" href="#通过-webui" aria-label="Permalink to “通过 WebUI”"></a></h3><p>服务启动后,访问 WebUI 的「VNC 显示」页面即可直接查看。</p><h3 id="安装依赖" tabindex="-1">安装依赖 <a class="header-anchor" href="#安装依赖" aria-label="Permalink to “安装依赖”"></a></h3><h3 id="ubuntu-debian" tabindex="-1">Ubuntu/Debian <a class="header-anchor" href="#ubuntu-debian" aria-label="Permalink to “Ubuntu/Debian”"></a></h3><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">sudo</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> apt-get</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> update</span></span>
|
||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">sudo</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> apt-get</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> install</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> xvfb</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> x11vnc</span></span></code></pre></div><h3 id="centos-rhel" tabindex="-1">CentOS/RHEL <a class="header-anchor" href="#centos-rhel" aria-label="Permalink to “CentOS/RHEL”"></a></h3><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">sudo</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> yum</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> install</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> xorg-x11-server-Xvfb</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> x11vnc</span></span></code></pre></div><h3 id="arch-linux" tabindex="-1">Arch Linux <a class="header-anchor" href="#arch-linux" aria-label="Permalink to “Arch Linux”"></a></h3><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">sudo</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> pacman</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -S</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> xorg-server-xvfb</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> x11vnc</span></span></code></pre></div><h3 id="方式二-x11-转发" tabindex="-1">方式二:X11 转发 <a class="header-anchor" href="#方式二-x11-转发" aria-label="Permalink to “方式二:X11 转发”"></a></h3><p>适用于通过 SSH 连接服务器的场景。</p><ol><li>在本地安装 X Server(如 VcXsrv、Xming)</li><li>使用支持 X11 转发的终端(如 WindTerm)</li><li>在 SSH 会话中启用 X11 转发</li></ol><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">ssh</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -X</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> user@server</span></span></code></pre></div><h2 id="docker-部署" tabindex="-1">Docker 部署 <a class="header-anchor" href="#docker-部署" aria-label="Permalink to “Docker 部署”"></a></h2><p>Docker 镜像已内置 Xvfb 和 VNC 支持:</p><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">docker</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> run</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -d</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --name</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> webai2api</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> \</span></span>
|
||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -p</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 3000:3000</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -p</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 5900:5900</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> \</span></span>
|
||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -v</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "$(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">pwd</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">)/data:/app/data"</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> \</span></span>
|
||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -e</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> LOGIN_MODE=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">true</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> \</span></span>
|
||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --shm-size=2gb</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> \</span></span>
|
||
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> foxhui/lmarena-imagen-automator:latest</span></span></code></pre></div><p>通过 VNC 客户端连接 <code>localhost:5900</code> 完成登录。</p><h2 id="常见问题" tabindex="-1">常见问题 <a class="header-anchor" href="#常见问题" aria-label="Permalink to “常见问题”"></a></h2><h3 id="端口被占用" tabindex="-1">端口被占用 <a class="header-anchor" href="#端口被占用" aria-label="Permalink to “端口被占用”"></a></h3><p>如果 5900 端口已被占用,VNC 服务器会自动查找 5901-5999 范围内可用的端口。</p><h3 id="显示号冲突" tabindex="-1">显示号冲突 <a class="header-anchor" href="#显示号冲突" aria-label="Permalink to “显示号冲突”"></a></h3><p>Xvfb 会自动从 50 开始查找可用的显示号,避免与现有 X 服务器冲突。</p></div></div></main><footer class="VPDocFooter" data-v-9a3aec1d data-v-84b12b97><!--[--><!--]--><!----><nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-84b12b97><span class="visually-hidden" id="doc-footer-aria-label" data-v-84b12b97>Pager</span><div class="pager" data-v-84b12b97><a class="VPLink link pager-link prev" href="/admin/webui.html" data-v-84b12b97><!--[--><span class="desc" data-v-84b12b97>上一页</span><span class="title" data-v-84b12b97>Web 管理界面</span><!--]--></a></div><div class="pager" data-v-84b12b97><a class="VPLink link pager-link next" href="/admin/troubleshooting.html" data-v-84b12b97><!--[--><span class="desc" data-v-84b12b97>下一页</span><span class="title" data-v-84b12b97>故障排查</span><!--]--></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><!----><!--[--><!--]--></div></div>
|
||
<script>window.__VP_HASH_MAP__=JSON.parse("{\"admin_linux.md\":\"C4pirr1w\",\"admin_troubleshooting.md\":\"BdBPvYAx\",\"admin_webui.md\":\"C6OfyL7c\",\"api_chat.md\":\"CVfvhFz2\",\"api_cookies.md\":\"BngFs3oo\",\"api_models.md\":\"BmD2H_2d\",\"api_overview.md\":\"BJJapNOd\",\"config_instances.md\":\"CvnejDKP\",\"config_overview.md\":\"-rOn3l_p\",\"config_proxy.md\":\"B7kjsU6e\",\"guide_deployment.md\":\"Browh70b\",\"guide_first-use.md\":\"C0Hv5lBx\",\"guide_introduction.md\":\"D7_DJb6Y\",\"guide_requirements.md\":\"ettCHBZs\",\"index.md\":\"C3b48Ls9\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"zh-CN\",\"dir\":\"ltr\",\"title\":\"WebAI2API\",\"description\":\"网页版 AI 服务转 OpenAI 兼容 API\",\"base\":\"/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"nav\":[{\"text\":\"首页\",\"link\":\"/\"},{\"text\":\"入门指南\",\"link\":\"/guide/requirements\"},{\"text\":\"API 参考\",\"link\":\"/api/overview\"}],\"sidebar\":[{\"text\":\"入门指南\",\"items\":[{\"text\":\"项目介绍\",\"link\":\"/guide/introduction\"},{\"text\":\"环境要求\",\"link\":\"/guide/requirements\"},{\"text\":\"快速部署\",\"link\":\"/guide/deployment\"},{\"text\":\"首次使用\",\"link\":\"/guide/first-use\"}]},{\"text\":\"配置说明\",\"items\":[{\"text\":\"配置概览\",\"link\":\"/config/overview\"},{\"text\":\"实例配置\",\"link\":\"/config/instances\"},{\"text\":\"代理设置\",\"link\":\"/config/proxy\"}]},{\"text\":\"API 参考\",\"items\":[{\"text\":\"接口概览\",\"link\":\"/api/overview\"},{\"text\":\"Chat Completions\",\"link\":\"/api/chat\"},{\"text\":\"Models\",\"link\":\"/api/models\"},{\"text\":\"Cookies\",\"link\":\"/api/cookies\"}]},{\"text\":\"运维管理\",\"items\":[{\"text\":\"Web 管理界面\",\"link\":\"/admin/webui\"},{\"text\":\"Linux 部署\",\"link\":\"/admin/linux\"},{\"text\":\"故障排查\",\"link\":\"/admin/troubleshooting\"}]}],\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/foxhui/WebAI2API\"}],\"outline\":{\"label\":\"页面导航\"},\"docFooter\":{\"prev\":\"上一页\",\"next\":\"下一页\"}},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false,\"additionalConfig\":{}}");</script>
|
||
|
||
</body>
|
||
</html> |