IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    重新部署 MixSpace+Shiroi

    Jayden\'s site发表于 2025-04-19 06:22:38
    love 0
    该渲染由 marked 生成,可能存在排版问题,最佳体验请前往:https://xxu.do/posts/geek/redeploy-MixSpace%2BShiroi

    Intro

    昨天刚对博客的架构进行了一波更新,今早醒来发现服务器到期了,导致网站直接 Down,甚至没有到期提醒的邮件。

    本计划到期后不再续费,而到期后已经无法连接上服务器了,里面的数据也取不出来。所幸之前有良好的备份习惯,定时将数据备份到 OneDrive,具体可参见这篇文章。

    但尴尬的是,此前仅备份了数据,没有备份部署的环境变量,这导致了一些问题,我认为值得记录一下。

    后端部署

    和此前部署的文章一致,唯一需要注意的也是本次部署中遇到的麻烦是 .env 文件的撰写。在 ALLOWED_ORIGINS 中仅填写域名即可,不要填写 https://xxu.do。

    [object Object]

    前端部署

    本次部署的方式:利用 GitHub Action 去构建 Shiroi 然后部署到远程服务器,主要参考了这篇文章。

    首先在服务器中进行以下操作:

    1. 安装 Nodejs 和 unzip
    [object Object]
    1. 安装 Node.js, npm, pnpm, pm2, sharp
    [object Object]
    1. 在你的服务器家目录,新建 shiro 的目录,然后新建 .env 填写你的变量。
    [object Object]
    1. 然后填入相应的环境变量,单域名的话 NEXT_PUBLIC_API_URL 和 NEXT_PUBLIC_GATEWAY_URL 如下填写即可,GH_TOKEN 可从这里新建,权限勾选 repo 即可。
    [object Object]
    1. Fork 项目后,在 Settings -> Secrets and variables -> Actions -> Repository secrets 中添加以下内容:
    • HOST 服务器地址
    • USER 服务器用户名
    • PASSWORD 服务器密码
    • PORT 服务器 SSH 端口
    • KEY 服务器 SSH Key(可选,密码 key 二选一)
    • GH_PAT 可访问 Shiroi 仓库的 Github Token

    其中 GH_PAT 可以和上面的 GH_TOKEN 保持一致。

    1. 在 Fork 仓库下的 Action 中,启用 workflow;随意修改 build_hash 文件后,workflow 就启动了,如果运行成功就可以到自己的服务器里 /root/shiro 文件夹下看是否有构建好的文件了;一开始运行失败,后查明原因是没有部署 pm2,供参考。

    2. Action 定时执行:进入Github Fork的项目中,修改 .github/workflows/deploy.yml文件,去掉 schedule: 和 -corn: '0 3 * * *' 两行的注释即可。

    Nginx 反代

    单域名的示例:

    [object Object]

    Outro

    本次重新采取新的前端部署方式,确实是解决了内存占用过高的问题。

    另外,也带来一个教训,一定要备份好 .env 文件,这对于重新部署来说会避免很多麻烦。

    看完了?说点什么呢



沪ICP备19023445号-2号
友情链接