zhenxun_bot/assets/js/2d16583c.800005c8.js
2025-10-14 09:18:00 +00:00

1 line
8.6 KiB
JavaScript

"use strict";(self.webpackChunkzhenxun_docs=self.webpackChunkzhenxun_docs||[]).push([[2105],{9678:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>a,contentTitle:()=>o,default:()=>h,frontMatter:()=>i,metadata:()=>d,toc:()=>l});var t=r(4848),s=r(8453);const i={title:"NGINX\u5b89\u88c5",subSidebar:!1,id:"install-webui-nginx"},o="WebUI\u5b89\u88c5",d={id:"install/webui/install-webui-nginx",title:"NGINX\u5b89\u88c5",description:"\u8fd9\u4e00\u6b65\u5e76\u4e0d\u662f\u5fc5\u987b\u7684\uff01\u53ea\u662f\u4e3a\u4e86\u53ef\u89c6\u5316\u65b9\u4fbf\u7ba1\u7406",source:"@site/docs/install/webui/nginx.md",sourceDirName:"install/webui",slug:"/install/webui/install-webui-nginx",permalink:"/zhenxun_bot/install/webui/install-webui-nginx",draft:!1,unlisted:!1,editUrl:"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/install/webui/nginx.md",tags:[],version:"current",frontMatter:{title:"NGINX\u5b89\u88c5",subSidebar:!1,id:"install-webui-nginx"},sidebar:"installSidebar",previous:{title:"\u9ed8\u8ba4\u5b89\u88c5",permalink:"/zhenxun_bot/install/webui/install-webui-default"}},a={},l=[{value:"\u5f00\u59cb\u5b89\u88c5",id:"\u5f00\u59cb\u5b89\u88c5",level:2},{value:"1.\u5b89\u88c5ngnix",id:"1\u5b89\u88c5ngnix",level:3},{value:"2.\u4e0b\u8f7d\u6587\u4ef6",id:"2\u4e0b\u8f7d\u6587\u4ef6",level:3},{value:"3.\u4fee\u6539\u914d\u7f6e\u6587\u4ef6",id:"3\u4fee\u6539\u914d\u7f6e\u6587\u4ef6",level:3},{value:"4.\u91cd\u542fnginx",id:"4\u91cd\u542fnginx",level:3},{value:"5.\u914d\u7f6e\u8d26\u53f7\u5bc6\u7801",id:"5\u914d\u7f6e\u8d26\u53f7\u5bc6\u7801",level:3}];function c(e){const n={a:"a",admonition:"admonition",br:"br",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",pre:"pre",...(0,s.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"webui\u5b89\u88c5",children:"WebUI\u5b89\u88c5"})}),"\n",(0,t.jsx)(n.admonition,{type:"tip",children:(0,t.jsxs)(n.p,{children:["\u8fd9\u4e00\u6b65\u5e76\u4e0d\u662f\u5fc5\u987b\u7684\uff01\u53ea\u662f\u4e3a\u4e86\u53ef\u89c6\u5316\u65b9\u4fbf\u7ba1\u7406",(0,t.jsx)(n.br,{}),"\n","\u522b\u5fd8\u4e86\u6253\u5f00\u670d\u52a1\u5668\u7aef\u53e3\uff0c\u9ed8\u8ba4\u662f8081\uff0c\u4fee\u6539\u7aef\u53e3\u5728vue.config.js\u6587\u4ef6\u4e2d\uff01"]})}),"\n",(0,t.jsx)(n.h2,{id:"\u5f00\u59cb\u5b89\u88c5",children:"\u5f00\u59cb\u5b89\u88c5"}),"\n",(0,t.jsx)(n.h3,{id:"1\u5b89\u88c5ngnix",children:"1.\u5b89\u88c5ngnix"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"sudo apt update\nsudo apt install nginx\n"})}),"\n",(0,t.jsx)(n.h3,{id:"2\u4e0b\u8f7d\u6587\u4ef6",children:"2.\u4e0b\u8f7d\u6587\u4ef6"}),"\n",(0,t.jsxs)(n.p,{children:["\u70b9\u51fb ",(0,t.jsx)(n.a,{href:"https://mirror.ghproxy.com/https://github.com/HibiKier/zhenxun_bot_webui/archive/refs/heads/dist.zip",children:"\u6b64\u5904"})," \u4e0b\u8f7ddist\u6587\u4ef6\u5939",(0,t.jsx)(n.br,{}),"\n","\u5c06\u6587\u4ef6\u5939\u89e3\u538b\u540e\u628a\u5176\u4e2d\u7684",(0,t.jsx)(n.code,{children:"dist"}),"\u6587\u4ef6\u5939\u653e\u5165 ",(0,t.jsx)(n.code,{children:"/var/www/html"}),"\u6216",(0,t.jsx)(n.code,{children:"/usr/share/nginx"})," \u4e0b"]}),"\n",(0,t.jsx)(n.h3,{id:"3\u4fee\u6539\u914d\u7f6e\u6587\u4ef6",children:"3.\u4fee\u6539\u914d\u7f6e\u6587\u4ef6"}),"\n",(0,t.jsxs)(n.p,{children:["\u5728",(0,t.jsx)(n.code,{children:"/etc/nginx/"})," \u76ee\u5f55\u4e0b\u65b0\u5efa ",(0,t.jsx)(n.code,{children:"hosts"})," \u76ee\u5f55",(0,t.jsx)(n.br,{}),"\n","\u5728",(0,t.jsx)(n.code,{children:"/etc/nginx/"})," \u76ee\u5f55\u4e0b\u6253\u5f00nginx.conf\u6587\u4ef6"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{children:"vim nginx.conf\n\n# \u5728http\u4e2d\u6700\u540e\u6dfb\u52a0 include /etc/nginx/hosts/*.host;\n\nhttp {\n ...\n\n include /etc/nginx/hosts/*.host;\n}\n"})}),"\n",(0,t.jsxs)(n.p,{children:["\u6253\u5f00",(0,t.jsx)(n.code,{children:"/etc/nginx/hosts"})," \u76ee\u5f55\u4e0b\u65b0\u5efa ",(0,t.jsx)(n.code,{children:"server0.host"}),"\u6587\u4ef6"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:'language-title="server0.host"',children:"upstream backend {\n server localhost:11451; # \u771f\u5bfb\u7684\u7aef\u53e3\u53f7\n keepalive 64;\n}\n\nmap $http_upgrade $connection_upgrade {\n default upgrade;\n '' close;\n}\n\nserver {\n listen 9999; #\u81ea\u5df1\u8bbe\u7f6e\u7684webui\u7aef\u53e3\u53f7\n server_name localhost; #\u81ea\u5df1\u8bbe\u7f6eip\u5730\u5740\n #access_log logs/host.access.log main;\n location / {\n root /usr/share/nginx/dist; #\u8fd9\u91cc\u5199vue\u9879\u76ee\u6253\u5305\u597d\u7684dist\u6587\u4ef6\u7684\u5730\u5740\uff0c\u771f\u5bfb\u524d\u7aef\u6587\u4ef6\n index index.html; #\u8fd9\u91cc\u662fvue\u9879\u76ee\u7684\u9996\u9875\uff0c\u9700\u8981\u4fdd\u8bc1dist\u4e2d\u6709index.html\u6587\u4ef6\n try_files $uri $uri/ =404;\n error_page 405 =200 $request_uri;\n }\n location @router {\n rewrite ^.*$ /index.html last; #\u89e3\u51b3\u91cd\u65b0\u5237\u65b0\u9875\u9762\uff0c\u9875\u9762\u7a7a\u767d\u7684\u95ee\u9898\n }\n\n add_header backendCode $upstream_status;\n add_header BackendIP \"$upstream_addr;\" always;\n location /zhenxun/api/ {\n proxy_pass http://localhost:11451/zhenxun/api/; #\u81ea\u5df1\u8bbe\u7f6e\u7684api\u5730\u5740\n }\n location /zhenxun/socket/ {\n proxy_pass http://backend; \n # \u8bf7\u6c42\u670d\u52a1\u5668\u5347\u7ea7\u534f\u8bae\u4e3a WebSocket\n proxy_http_version 1.1;\n proxy_set_header Upgrade $http_upgrade;\n proxy_set_header Connection $connection_upgrade;\n \n # \u8bbe\u7f6e\u8bfb\u5199\u8d85\u65f6\u65f6\u95f4\uff0c\u9ed8\u8ba4 60s \u65e0\u6570\u636e\u8fde\u63a5\u5c06\u4f1a\u65ad\u5f00\n proxy_read_timeout 300s;\n proxy_send_timeout 300s;\n\n # Host \u4e3b\u673a\u540d\n proxy_set_header Host $host;\n # X-Real-IP \u5c06\u771f\u5b9e\u8bbf\u95ee\u8005\u7684\u8fdc\u7aef IP \u5730\u5740\u8f6c\u53d1\u7ed9\u4ee3\u7406\u670d\u52a1\u5668\n proxy_set_header X-Real-IP $remote_addr;\n # X-Forwarded-For \u6807\u8bb0\u5ba2\u6237\u7aef\u901a\u8fc7\u4ee3\u7406\u8fde\u63a5\u5230\u670d\u52a1\u5668\u7684\u6e90 IP\n proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n # X-Forwarded-Host \u6807\u8bb0\u5ba2\u6237\u7aef\u901a\u8fc7\u4ee3\u7406\u8fde\u63a5\u5230\u670d\u52a1\u5668\u7684\u539f\u59cb\u4e3b\u673a\n proxy_set_header X-Forwarded-Host $host:$server_port;\n # X-Forwarded-Server \u4ee3\u7406\u670d\u52a1\u5668\u7684\u4e3b\u673a\u540d\n proxy_set_header X-Forwarded-Server $host;\n # X-Forwarded-Port \u5b9a\u4e49\u5ba2\u6237\u7aef\u8bf7\u6c42\u7684\u539f\u59cb\u7aef\u53e3\n proxy_set_header X-Forwarded-Port $server_port;\n # X-Forwarded-Proto \u6807\u8bb0\u5ba2\u6237\u7aef\u901a\u8fc7\u4ee3\u7406\u8fde\u63a5\u5230\u670d\u52a1\u5668\u7684\u534f\u8bae\n proxy_set_header X-Forwarded-Proto $scheme;\n # proxy_set_header X-Forwarded-Proto $proxy_x_forwarded_proto;\n\n }\n error_page 500 502 503 504 /50x.html;#\u9519\u8bef\u9875\u9762\n}\n"})}),"\n",(0,t.jsx)(n.h3,{id:"4\u91cd\u542fnginx",children:"4.\u91cd\u542fnginx"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"sudo systemctl restart nginx\n"})}),"\n",(0,t.jsx)(n.h3,{id:"5\u914d\u7f6e\u8d26\u53f7\u5bc6\u7801",children:"5.\u914d\u7f6e\u8d26\u53f7\u5bc6\u7801"}),"\n",(0,t.jsxs)(n.p,{children:["\u5728",(0,t.jsx)(n.code,{children:"data/config.yaml"}),"\u6587\u4ef6\u4e2d\u914d\u7f6e\u9879\u8bbe\u7f6e\u8d26\u53f7\u5bc6\u7801"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-yaml",children:"web-ui:\n # web-ui\n # USERNAME: \u524d\u7aef\u7ba1\u7406\u7528\u6237\u540d\n # PASSWORD: \u524d\u7aef\u7ba1\u7406\u5bc6\u7801\n USERNAME: admin\n PASSWORD: \n"})}),"\n",(0,t.jsx)(n.admonition,{type:"warning",children:(0,t.jsx)(n.p,{children:"\u5fc5\u987b\u8981\u8bbe\u7f6e\u8d26\u53f7\u5bc6\u7801\uff0c\u5426\u5219\u65e0\u6cd5\u767b\u9646\uff01"})})]})}function h(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}},8453:(e,n,r)=>{r.d(n,{R:()=>o,x:()=>d});var t=r(6540);const s={},i=t.createContext(s);function o(e){const n=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),t.createElement(i.Provider,{value:n},e.children)}}}]);