博客主页 😒
分类

编程

下的文章

Count:

计 2 篇
Ubuntu + 宝塔面板安装 Mix Space(Docker 部署) + Shiro
分类: 编程
简介:壹・准备工作一台安装好宝塔面板的服务器,已经安装好 NodeJs系统要求Linux / macOSLinux 内核版本 >= 4.19Memory >= 1G1.1 安装 Docker使用官方脚本安装:curl fsSL https://get.docker.com | bash s docker 使用以下命令查看 Docker 与 Docker Compose 版本docker v docker compose version示例:贰・开始安装Mix Space后端官方文档2.1 拉取配置文件# 根目录下创建 mx space/core 文件夹并进入 cd && mkdir p mx space/core && cd $_ # 拉取 docker compose.yml 文件 wget https://fastly.jsdelivr.net/gh/mx space/core@master/docker compose.yml2.2 修改docker compose.yml配置文件使用vim 或 nano 打开 mx space/core 下的 docker compose.yml 文件 # Vim 进入后按I开始编辑,修改完成后按ESC键输入 :wq 保存并退出 vim ~/mx space/core/docker compose.yml 编辑 environment 字段的内容,没有就加上JWT 密钥(JWT_SECRET):需要填写长度不小于 16 个字符,不大于 32 个字符的字符串,用于加密用户的 JWT,务必保存好自己的密钥,不要泄露给他人。被允许的域名(JWT_SECRET):需要填写被允许的域名,通常是前端的域名,如果允许多个域名访问,用英文逗号,分隔。是否开启加密(ENCRYPT_ENABLE):如果你确定要开启加密,将 false 改为 true,开启加密后,你需要在下方填写加密密钥。加密密钥(ENCRYPT_KEY):如果你不知道这是什么,那么不建议开启此功能,具体内容可参考 https://mx space.js.org/usage/security.html示例(注意yml的语法,该缩进的地方得缩进): environment: TZ=Asia/Shanghai NODE_ENV=production DB_HOST=mongo REDIS_HOST=redis JWT_SECRET= 16 个字符 ALLOWED_ORIGINS=blog.meowo.moe,meowo.moe ENCRYPT_ENABLE=false ENCRYPT_KEY= 2.3 Core,启动!终端输入: cd ~/mx space/core/ docker compose up d这可能需要一点时间,请耐心等待。2.4 完成如果你完全按照我的方法,那一般都能成功,如果没有,请查看 官方文档 或从 壹 ・准备工作 重新操作2.5 更新后端控制台输入docker pull innei/mx server:latest docker compose up d叁・配置反代注意:一定要先配置SSL证书检查Mix Space 后端是否正常运行打开宝塔控制面板,点击左边栏 Docker 选项,接着点击容器找到名为mx server的容器,找到状态一栏,如果为运行中,开始3.1操作如果为已停止点击启动,如果无法启动,请重新安装一遍3.1 双域名配置建议使用双域名,但这也看个人喜好,若想使用单域名,查看 官方文档3.1.1 后端配置打开宝塔控制面板,点击左边栏 网站 选项,点击添加站点,添加两个,以我为例(server.meowo.moe 和 blog.meowo.moe):后端域名:server.meowo.moe前端域名:blog.meowo.moe进入站点配置,反向代理,添加如图所示内容(代理名称随便填)点击配置文件,Ctrl + A 全选,删除,更改为以下内容 ## 反向代理开始 ## WebSocket location ^~ /socket.io { proxy_pass http://127.0.0.1:2333/socket.io; proxy_set_header Host $host; proxy_set_header X Real IP $remote_addr; proxy_set_header X Forwarded For $proxy_add_x_forwarded_for; proxy_set_header REMOTE HOST $remote_addr; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_buffering off; proxy_http_version 1.1; add_header Cache Control no cache; } ## Others location ^~ / { proxy_pass http://127.0.0.1:2333; proxy_set_header Host $host; proxy_set_header X Real IP $remote_addr; proxy_set_header X Forwarded For $proxy_add_x_forwarded_for; proxy_set_header REMOTE HOST $remote_addr; add_header X Cache $upstream_cache_status; } ## 反向代理结束这样,后端就配置完成了3.1.2 前端配置跟后端差不多,注意目标URL的端口 这里放出前端反代配置server{ location ~* \.(gif|png|jpg|css|js|woff|woff2)$ { proxy_pass http://127.0.0.1:2323; proxy_set_header Host $host; proxy_set_header X Real IP $remote_addr; proxy_set_header X Forwarded For $proxy_add_x_forwarded_for; proxy_set_header REMOTE HOST $remote_addr; expires 30d; } location ~* \/(feed|sitemap|atom.xml) { proxy_pass http://127.0.0.1:2333/$1; proxy_set_header Host $host; proxy_set_header X Real IP $remote_addr; proxy_set_header X Forwarded For $proxy_add_x_forwarded_for; proxy_set_header REMOTE HOST $remote_addr; add_header X Cache $upstream_cache_status; add_header Cache Control max age=60; } location / { proxy_pass http://127.0.0.1:2323; proxy_set_header Host $host; proxy_set_header X Real IP $remote_addr; proxy_set_header X Forwarded For $proxy_add_x_forwarded_for; proxy_set_header REMOTE HOST $remote_addr; add_header X Cache $upstream_cache_status; add_header Cache Control no cache; proxy_intercept_errors on; } } 3.1.3 反代配置完成!开始安装前端吧( ̄︶ ̄)↗ 肆・安装Mix Space前端这里以Shiro主题为例,官方文档4.1 设置主题配置进入 Mix Space 后台,进入配置与云函数 页面,点击右上角的新增按钮,在编辑页面中,填入以下设置(内容自行更改):名称:shiro引用:theme数据类型:JSON数据内容:{ "footer": { "otherInfo": { "date": "2020 {{now}}", "icp": { "text": "萌 ICP 备 20236136 号", "link": "https://icp.gov.moe/?keyword=20236136" } }, "linkSections": [ { "name": "关于", "links": [ { "name": "关于本站", "href": "/about site" }, { "name": "关于我", "href": "/about" }, { "name": "关于此项目", "href": "https://github.com/innei/Shiro", "external": true } ] }, { "name": "更多", "links": [ { "name": "时间线", "href": "/timeline" }, { "name": "友链", "href": "/friends" }, { "name": "监控", "href": "https://status.innei.in/status/main", "external": true } ] }, { "name": "联系", "links": [ { "name": "写留言", "href": "/message" }, { "name": "发邮件", "href": "mailto:i@innei.ren", "external": true }, { "name": "GitHub", "href": "https://github.com/innei", "external": true } ] } ] }, "config": { "color": { "light": [ "#33A6B8", "#FF6666", "#26A69A", "#fb7287", "#69a6cc", "#F11A7B", "#78C1F3", "#FF6666", "#7ACDF6" ], "dark": [ "#F596AA", "#A0A7D4", "#ff7b7b", "#99D8CF", "#838BC6", "#FFE5AD", "#9BE8D8", "#A1CCD1", "#EAAEBA" ] }, "bg": [ "https://github.com/Innei/static/blob/master/images/F0q8mwwaIAEtird.jpeg?raw=true", "https://github.com/Innei/static/blob/master/images/IMG_2111.jpeg.webp.jpg?raw=true" ], "custom": { "css": [], "styles": [], "js": [], "scripts": [] }, "site": { "favicon": "/innei.svg", "faviconDark": "/innei dark.svg" }, "hero": { "title": { "template": [ { "type": "h1", "text": "Hi, I'm ", "class": "font light text 4xl" }, { "type": "h1", "text": "Innei", "class": "font medium mx 2 text 4xl" }, { "type": "h1", "text": "👋。", "class": "font light text 4xl" }, { "type": "br" }, { "type": "h1", "text": "A NodeJS Full Stack ", "class": "font light text 4xl" }, { "type": "code", "text": "<Developer />", "class": "font medium mx 2 text 3xl rounded p 1 bg gray 200 dark:bg gray 800/0 hover:dark:bg gray 800/100 bg opacity 0 hover:bg opacity 100 transition background duration 200" }, { "type": "span", "class": "inline block w [1px] h 8 bottom 2 relative bg gray 800/80 dark:bg gray 200/80 opacity 0 group hover:opacity 100 transition opacity duration 200 group hover:animation blink" } ] }, "description": "An independent developer coding with love." }, "module": { "activity": { "enable": true, "endpoint": "/fn/ps/update" }, "donate": { "enable": true, "link": "https://afdian.net/@Innei", "qrcode": [ "https://cdn.jsdelivr.net/gh/Innei/img bed@master/20191211132347.png", "https://cdn.innei.ren/bed/2023/0424213144.png" ] }, "bilibili": { "liveId": 1434499 } } } }示例:点击右上绿色按钮保存4.2 正式安装前端进入Shiro主题官方Github仓库 https://github.com/Innei/Shiro在Releases中下载 release.zip 文件ssh登入服务器,终端输入 mkdir shiro cd ~/shiro将release.zip 文件上传到此目录,并解压,得到node_modules 和 Shiro 两个文件夹,终端输入 cd ~/shiro/Shiro wget https://raw.githubusercontent.com/Innei/Shiro/main/docker compose.yml wget https://raw.githubusercontent.com/Innei/Shiro/main/.env.template mv .env.template .env vim .env在 .env 文件中填入以下内容(示例) NEXT_PUBLIC_API_URL=https://后端域名/api/v2 NEXT_PUBLIC_GATEWAY_URL=https://后端域名 TMDB_API_KEY= GH_TOKEN=例:后端域名:server.meowo.moe前端域名:blog.meowo.moe之后,终端输入安装pm2, pnpm sudo apt install npm npm install pm2@latest g npm install g @pnpm/exe@latest 10接着,给前端添加守护进程,新建 ecosystem.config.js 文件 vim ~/shiro/Shiro/ecosystem.config.js 填入以下内容// ecosystem.config.js module.exports = { apps: [ { name: 'Shiro', script: 'npx next start p 2323', instances: 1, autorestart: true, watch: false, max_memory_restart: '180M', env: { NODE_ENV: 'production', }, }, ], };最后,终端输入 cd ~/shiro/Shiro pnpm build && pnpm prod:pm2注意当使用npm构建时你的服务器内存过小可能会导致构建失败,如:宝塔面板提示断开连接届时可以添加 Swap/虚拟内存 来解决宝塔面板到软件商店搜索 "Linux工具箱" 打开设置 Swap/虚拟内存 至此,安装流程就结束了,浏览器打开 https://后端域名/proxy/qaqdmin 开始进行基础配置4.3 附 使用Docker Compose我并未成功,你可以试试,可能是我的问题链接mkdir shiro cd shiro wget https://raw.githubusercontent.com/Innei/Shiro/main/docker compose.yml wget https://raw.githubusercontent.com/Innei/Shiro/main/.env.template .env vim .env # 修改你的 ENV 变量 docker compose up d docker compose pull # 后续更新镜像安装之后,可在宝塔面板管理伍・开始使用进入mix space后台,点击设定 ——系统 ——网站设置 填入你自己的信息API 地址为 https://server.example.com/api/v2前端地址为 https://www.example.comGateWay 为 https://server.example.com本地后台为 https://server.example.com/proxy/qaqdmin
47
自建东方project图片Api
自建东方project图片Api
简介:链接:https://api.meowo.moe/支持json格式输出,支持https访问接入栗次元亚太CDN,免费20GB套餐演示:直接调用:https://api.meowo.moe/api/示例: <img src="https://api.meowo.moe/api/">Json返回:https://api.meowo.moe/api/json示例:{ "url": "https://img.meowo.moe/images/2024/12/17/1115881.jpg", "Ip": "192.168.100.145" } json返回:
博客主页 喵喵 の 小窝 私たくさんの人に助けられてます、この気持ちをいつか返せる人になりたいです。 51统计
萌ICP备20230948号 本站已运行 1 年 191 天 10 小时 17 分 自豪地使用 Typecho 建站,并搭配 MyDiary 主题 Copyright © 2023 ~ 2025. 喵喵 の 小窝 All rights reserved.
打赏图
打赏博主
欢迎
搜 索
足 迹
分 类
  • 默认分类
  • 闲聊
  • 编程
  • 游戏
  • B站视频存档