前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >私有化部署Rocket.Chat在线聊天平台

私有化部署Rocket.Chat在线聊天平台

作者头像
是小北a
发布2024-08-23 20:34:14
160
发布2024-08-23 20:34:14
举报
文章被收录于专栏:小北的博文

Rocket.Chat是什么

Rocket.Chat是一个开源的可高度定制的通信平台,用JavaScript开发,该项目功能齐全,并且还有各系统app。

部署环境

  • 已经安装好Docker及Docker-compose(有宝塔 软件商店安装Docker管理器即可)必需品
  • RocketChat的版本:v4.5.1(2022-3-12的最新版)
  • Node.js —v14.18.3,Mongodb (需要4.2以上)

开始部署

bash 代码:

代码语言:javascript
复制
# 创建并进入工作目录
mkdir /rocketchat
cd /rocketchat
# 下载编排文件
curl -L https://raw.githubusercontent.com/RocketChat/Docker.Official.Image/master/compose.yml -O

根据自己的需求修改编排文件后保存,运行以下命令启动服务:

bash 代码:

代码语言:javascript
复制
docker-compose up -d

在经过一段时间的等待,服务器启动后访问http://ip:3000

然后我们跟着安装向导的指引一步步填写信息完成安装即可。

安装向导.png
安装向导.png

反向代理及使用app

配置反向代理

想使用域名访问的话,我们可以反向代理Rocket.Chat的端口,因为我安装了宝塔,所以操作很简单,然后配置SSL证书即可。

宝塔反向代理配置.png
宝塔反向代理配置.png

但如果想要使用安卓移动应用使用的话,必须使用SSL(https)才可以,SSL可以在域名商或者其他平台进行申请,宝塔可以直接申请Let's Encrypt证书。

做完这一步之后,我们使用app连接,会发现提示Websocket已于此伺服器上禁用。请联络系统管理员。这是因为nginx没有启用Websocket。

Nginx开启Websocket

找到nginx.conf编辑它,在http上下文中增加如下配置,

text 代码:

代码语言:javascript
复制
 map $http_upgrade $connection_upgrade {
  default upgrade;
  ''   close;
 }

server上下文中增加如下配置

text 代码:

代码语言:javascript
复制
  location / {
   proxy_pass http://websocket;
   proxy_read_timeout 300s;
   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_http_version 1.1;
   proxy_set_header Upgrade $http_upgrade;
   proxy_set_header Connection $connection_upgrade;
}
}

最后,我们到反向代理配置文件中添加如下代码

text 代码:

代码语言:javascript
复制
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
反向代理配置文件.png
反向代理配置文件.png

到这,教程就结束了,可以正常使用app了。

参考资料

  1. Rocket.Chat官方文档
  2. Nginx代理WebSocket方法
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Rocket.Chat是什么
  • 部署环境
  • 开始部署
  • 反向代理及使用app
    • 配置反向代理
      • Nginx开启Websocket
      • 参考资料
      相关产品与服务
      SSL 证书
      腾讯云 SSL 证书(SSL Certificates)为您提供 SSL 证书的申请、管理、部署等服务,为您提供一站式 HTTPS 解决方案。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档