服务端搭建

以 Debian11 为例,目前仅支持amd64,arm64架构不支持

1、安装 Nginx 和 Git

apt update -y
apt install nginx git -y

2、安装 Docker

curl -fsSL https://get.docker.com -o get-docker.sh
DRY_RUN=1 sudo sh ./get-docker.sh

3、拉取必要文件

git clone https://github.com/vtxteam/servo.git

4、修改多客服账号密码和昵称

进入目录

cd servo

编辑修改 user.json

Telegram 的 username 需要和 UserList 中的其中一个 username 相同(将 Telegram 与网页端某客服绑定),Telegram 会与网页端的该客服同步聊天记录;同时,Telegram 群组支持加入多个 Telegram 用户一起处理消息。

{
    "Telegram": {
        "bot_token": "",
        "group_chat_id": -10020555555,
        "username": "support1"
    },
    "UserList": [
        {
            "username": "support1",
            "password": "change_password1",
            "nickname": "Support1"
        },
        {
            "username": "support2",
            "password": "change_password2",
            "nickname": "Support2"
        }
    ]
}

username —— 网页登陆用户名

password —— 网页登陆密码

nickname —— 昵称

5、使用 Docker-compose 部署服务端

docker compose up -d

6、使用 Nginx 反代服务端

新建 Nginx 站点配置文件

touch /etc/nginx/conf.d/servo.conf

填入以下配置,请替换 your_domain.com/path/to/your/certificate.crt/path/to/your/private.key 为实际的域名和 SSL 证书路径

server {
    listen 80;
    server_name your_domain.com;

    # 重定向 HTTP 请求到 HTTPS
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name your_domain.com;

    ssl_certificate /path/to/your/certificate.crt;
    ssl_certificate_key /path/to/your/private.key;

    location /ws/ {
        proxy_pass http://localhost:9000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
    }

    location / {
        proxy_pass http://localhost:9000;
    }
    
    location ~ ^/web/main$ {
        rewrite ^/web/main$ / permanent;
    }
    
    location ~ ^/web/$ {
        rewrite ^/web/$ / permanent;
    }
}

7、修改 Nginx 默认连接数并重载 Nginx

sed -i 's/worker_connections 768;/worker_connections 50000;/g' /etc/nginx/nginx.conf service nginx force-reload

Last updated