#自搭# VoceChat:可自行搭建的聊天平台

VoceChat是一款由国人开发的聊天平台,轻量(15M左右),可在自己的服务器(或本地)搭建,跨平台客户端。如果有需要的小伙伴可以安装运行测试一下,官方提供了两种安装模式Shell+Docker。如果想快速体验可以选择Docker+Nginx的方式(如下文)

VoceChat安装方法:Docker+Nginx模式

以下内容摘自官网文档:https://vocechat-doc.vercel.app/zh-cn/install/install-by-docker

① 在Docker下运行Vocechat(以域名chat.vmvps.com为例)

docker run -d --restart=always \
  -p 3009:3000 \
  --name vocechat-server \
  -v ~/.vocechat-server/data:/home/vocechat-server/data \
  privoce/vocechat-server:latest \
  --network.frontend_url "https://chat.vmvps.com"

② 修改Nginx配置

Nginx配置文件目录一般在/etc/nginx/conf.d,新建 Nginx 配置文件chat.vmvps.com.conf,并配置好相应http请求:

server{
  server_name chat.vmvps.com;
  location / {
        proxy_pass http://127.0.0.1:3009; # 此处端口号取决于docker运行的对外端口号
        proxy_redirect off;
        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_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
        proxy_max_temp_file_size 0; # 关掉硬盘缓存,增加写速度
        # SSE 相关配置
        proxy_http_version 1.1;
        proxy_set_header Connection '';
    }
}

③ 运行Vocechat初始化配置

nginx -t #测试Nginx配置是否正确
nginx -s reload #重载Nginx配置

浏览器访问http://chat.vmvps.com(注意提前解析好域名DNS到你的服务器)进入初始化页面,即为配置成功。

④ 设置安全证书,实现HTTPS(以Cetrbot为例)

1. 安装Certbot(官网:https://certbot.eff.org/instructions选择相应版本下载)

2. 运行Certbot自动读取配置Nginx

sudo certbot certonly --nginx

Nginx配置将变为

server{
    server_name chat.vmvps.com;
    location / {
        proxy_pass http://127.0.0.1:3009; # 此处端口号取决于docker运行的对外端口号
        proxy_redirect off;
        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_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
        proxy_max_temp_file_size 0; # 关掉硬盘缓存,增加写速度
        # SSE 相关配置
        proxy_http_version 1.1;
        proxy_set_header Connection '';
    }
    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/chat.vmvps.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/chat.vmvps.com/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}
server{
    if ($host = chat.vmvps.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot
  listen 80;
  server_name chat.vmvps.com;
    return 404; # managed by Certbot
}

重载Nginx配置

nginx -s reload

浏览器访问http://chat.vmvps.com将自动切换为https协议

猜你 喜欢

关于作者: 微魔

小微魔,大智慧!

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注