mixin group大群机器人部署

Viewed 201

这是部署 Mixin 大群项目的完整步骤,涵盖后端和前端的部署。

环境准备

  1. 服务器准备:

• 一台 2C4G 的服务器 (初期足够),如阿里云、腾讯云或 AWS。

操作系统:Ubuntu 20.04 或 CentOS 7+。

  1. 安装依赖:

在服务器上安装 PostgreSQL 和 Golang。

`# 安装 PostgreSQL (以 Ubuntu 为例)`

`sudo apt update && sudo apt install postgresql postgresql-contrib`

`# 安装 Golang`

`wget https://golang.org/dl/go1.21.1.linux-amd64.tar.gz`

`sudo tar -C /usr/local -xzf go1.21.1.linux-amd64.tar.gz`

`echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc`

  1. 创建 PostgreSQL 数据库:

sudo -u postgres psql

CREATE DATABASE mixin_supergroup;

CREATE USER mixin_user WITH ENCRYPTED PASSWORD 'yourpassword';

GRANT ALL PRIVILEGES ON DATABASE mixin_supergroup TO mixin_user;

后端部署

  1. 克隆代码:

git clone https://github.com/MixinNetwork/supergroup.mixin.one.git

cd supergroup.mixin.one

  1. 配置 YAML 文件:

• 复制 config.tpl.yaml 为 config.yaml:

cp ./config/config.tpl.yaml ./config/config.yaml

编辑 config.yaml,填写 Mixin 的 Client ID、Secret、Pin Token 等信息,这些信息可以从 Mixin Dashboard 生成。

  1. 导入数据库 schema:

sudo -u postgres psql -d mixin_supergroup -f ./models/schema.sql

  1. 编译打包后端:

• 进入项目根目录,使用 Golang 构建可执行文件:

go build -o supergroup.mixin.one .

  1. 测试启动服务:

启动 API 服务:

./supergroup.mixin.one -service http -e development

启动消息服务:

./supergroup.mixin.one -service message -e development

  1. 设置 Systemd 管理进程(生产环境):

• 创建 Systemd 文件 /etc/systemd/system/supergroup-http.service:

[Unit]

Description=Mixin Supergroup HTTP Service

After=network.target

[Service]

User=root

WorkingDirectory=/path/to/supergroup.mixin.one

ExecStart=/path/to/supergroup.mixin.one -service http -e production

Restart=always

[Install]

WantedBy=multi-user.target

• 创建消息服务 Systemd 文件 /etc/systemd/system/supergroup-message.service:

[Unit]

Description=Mixin Supergroup Message Service

After=network.target

[Service]

User=root

WorkingDirectory=/path/to/supergroup.mixin.one

ExecStart=/path/to/supergroup.mixin.one -service message -e production

Restart=always

[Install]

WantedBy=multi-user.target

• 启动并设置开机启动:

sudo systemctl enable supergroup-http.service

sudo systemctl enable supergroup-message.service

sudo systemctl start supergroup-http.service

sudo systemctl start supergroup-message.service

前端部署

  1. 安装 Yarn(如果未安装):

curl -o- -L https://yarnpkg.com/install.sh | bash

  1. 配置环境变量:

• 进入前端代码目录 ./web,复制 .env.example:

cd ./web

cp .env.example .env.local   # 本地环境

cp .env.example .env.production.local  # 生产环境

• 编辑 .env.production.local,根据需要调整 API 地址等信息。

  1. 安装依赖并构建项目:

yarn install

yarn build

  1. 启动开发环境(可选):

yarn serve

  1. 将前端代码部署到 Nginx:

• 安装 Nginx:

sudo apt install nginx

• 配置 Nginx:

编辑 /etc/nginx/sites-available/default:

server {

listen 80;

server_name your-domain.com;

root /path/to/supergroup.mixin.one/web/dist;

index index.html;

location / {

try_files $uri /index.html;

}

location /api/ {

proxy_pass http://localhost:3000/;  # 根据后端 API 服务的端口修改

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 X-Forwarded-Proto $scheme;

}

}

• 启用并重启 Nginx:

sudo systemctl enable nginx

sudo systemctl restart nginx

测试部署

  1. 后端测试:

• 访问 http://your-server-ip:port,检查 API 是否正常工作。

• 查看 systemctl 服务状态:

sudo systemctl status supergroup-http.service

sudo systemctl status supergroup-message.service

  1. 前端测试:

• 通过浏览器访问服务器的域名或 IP,检查前端页面是否正常加载。

生产环境注意事项

  1. 日志管理

使用 Systemd 日志查看服务日志:

journalctl -u supergroup-http.service -f

journalctl -u supergroup-message.service -f

  1. 数据库备份

定期备份 PostgreSQL 数据库,防止数据丢失。

  1. 查看项目更新:

所有更新和变更记录会发布在 CHANGELOG.md

总结

通过上述步骤,你可以成功部署 Mixin 大群项目。后端使用 Go 编译为二进制文件,前端使用 Vue,并通过 Nginx 部署。使用 Systemd 管理后端服务进程,确保服务能够自动重启并在系统启动时自动运行。这样整个项目在生产环境中就可以平稳运行。

3 Answers

• 编辑 config.yaml,填写 Mixin 的 Client ID、Secret、Pin Token 等信息,这些信息可以从 Mixin Dashboard 生成。 是需要先购买一个 app 的额度吗?
另外还需准备一个网址吗?谢谢

请问大老:之前已经注册过的机器人账号,需要做什么样的操作?