看到有人发了一个在线聊天室,感觉挺有意思的就做个教程

简介

程序:rocket.chat

官网:https://rocket.chat/

项目:https://github.com/RocketChat/Rocket.Chat

配置环境

1、进入宝塔软件商店,安装PM2管理器和MongoDB:

2、进入PM2管理器设置,将node版本改为12.14.0

3、进入MongoDB设置,点击配置文件找到 “# Where and how to store data.” 将存储数据的地址修改为以下:

原配置

修改为:

storage:dbPath: /www/server/mongodb/Rocket.ChatdirectoryPerDB: trueengine: mmapv1

4、找到 “#replication:”,我的是在26行,修改如下

原配置:

修改后配置:

replication:
replSetName: rs01

配置完成后MongoDB会默认关闭,这时候需要登录一下ssh进行创建存储文件夹授权等操作

mkdir /www/server/mongodb/Rocket.Chat
chown mongo:mongo /www/server/mongodb/Rocket.Chat
/etc/init.d/mongodb start
mongo --eval "printjson(rs.initiate())"

安装依赖

命令行下运行以下代码

Ubuntu/Debian

apt install -y graphicsmagick

Centos

yum install -y GraphicsMagick

安装Rocket.Chat主程序

逐条运行以下命令

wget -O rocket.chat.tgz https://releases.rocket.chat/latest/download
//安装时版本号为3.11.1
tar -xzf rocket.chat.tgz && rm -rf rocket.chat.tgz
mv bundle /opt/Rocket.Chat
cd /opt/Rocket.Chat
npm install -g inherits
cd programs/server
npm install

启动

逐条运行以下代码

ln -sf $(command -v node) /usr/bin/node
useradd -M rocketchat && usermod -L rocketchat
chown -R rocketchat:rocketchat /opt/Rocket.Chat

鉴于需要长期使用,可以选择是否配置守护进程。需要的就复制下面代码整体粘贴运行

cat > /etc/systemd/system/rocketchat.service <<EOF
[Unit]
Description=Rocket.Chat
After=network.target
Wants=network.target[Service]
ExecStart=$(command -v node) main.js
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=rocketchat
User=rocketchat
WorkingDirectory=/opt/Rocket.Chat
Environment=MONGO_URL=mongodb://127.0.0.1:27017/rocketchat?replicaSet=rs01
MONGO_OPLOG_URL=mongodb://127.0.0.1:27017/local?replicaSet=rs01 ROOT_URL=http://127.0.0.1:3000/ PORT=3000
Type=simple
Restart=on-failure
RestartSec=42s[Install]
WantedBy=multi-user.target
EOF

然后启动Rocket.Chat

systemctl start rocketchat

查看Rocket.Chat的状态:

systemctl status rocketchat

设置开机自启:

systemctl enable rocketchat

然后去到宝塔安全里面,放行3000端口,此时就可以通过IP:3000访问了。

各大云厂商的云服务器也需要放行3000端口,本次演示的为腾讯云轻量学生机升级版,108年2C4G6M1000GB最高续费4年十分的香 学生机购买:https://curl.qcloud.com/hQiFtUjz

良心云的轻量延期了,延长到了3.10号(感觉会一直延长下去),如果学生机买不到可以参考这里https://curl.qcloud.com/PewqZwe6 1C2G5M 488三年 找个八折代理跟学生机原价差不多

有资格抢学生机的可以等晚上零点补货再抢

腾讯云轻量服务器添加防火墙:

进入到服务器管理面板然后防火墙放行

配置域名

现在直接访问ip:3000就可以访问了,为了正式一点我们配置一下域名

试了一下直接用宝塔的反代可以是可以但是会有点小问题,所以我们手动配置下

进入站点的配置文件,插入如下代码:

location ~ ^/.* {
proxy_pass http://127.0.0.1:3000;
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 Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Forward-Proto http;
proxy_set_header X-Nginx-Proxy true;
proxy_http_version 1.1;proxy_redirect off;
}

再配置一下ssl证书就大功告成啦

一个LOC大佬已经搭建好的聊天室:

srl.srl

注意事项

免费的版本有用户和推送消息等限制哦,如果用户量大建议升级一下套餐。

本文首发地址:https://2demo.top/200.html

快速搭建一个端对端加密的在线聊天室相关推荐

  1. php 开发一个聊天系统,ajax+php 实现一个简单的在线聊天室功能(附带源码)

    通过ajax和setInterval()函数,配合php+mysql实现一个简单的在线聊天室的功能.附带详细源码案例.这个聊天室是一个简单的聊天室,通过javascript setInterval() ...

  2. Gradio快速搭建ML/DL Web端服务

    文章目录 Gradio快速搭建ML/DL Web端服务 前言 开始 模型训练 部署 源码部分 Gradio快速搭建ML/DL Web端服务 前言 当我们训练好了某个模型并且效果还不错时,最先想到的应该 ...

  3. 2 小时快速搭建一个高可用的 IM 系统

    知道的越多,不知道的就越多,业余的像一棵小草! 编辑:业余草 来源:https://www.xttblog.com/?p=4994 本文快速搭建的 IM 系统也是使用 Go 语言来快速实现的,这里先和 ...

  4. go html vue,用Go+Vue.js快速搭建一个Web应用(初级demo)

    Vue.js做为目前前端最热门的库之一,为快速构建并开发前端项目多了一种思维模式.本文给大家介绍用Go+Vue.js快速搭建一个Web应用(初级demo). 环境准备: 1. 安装go语言,配置go开 ...

  5. test.php创建,基于phpstudy简单快速搭建一个php程序

    原标题:基于phpstudy简单快速搭建一个php程序 人人都是程序员,希望在零碎的阅读时间里,给您一些技术提升. 1 安装phpstudy 通过以下链接download.csdn.net/downl ...

  6. 创建微服务架构的步骤_如何快速搭建一个微服务架构?

    原标题:如何快速搭建一个微服务架构? 微服务火了很久,但网上很少有文章能做到成熟地将技术传播出来,同时完美地照顾"初入微服务领域人员",从 0 开始,采用通俗易懂的语言去讲解微服务 ...

  7. 如何快速搭建一个像“天猫精灵”的智能语音助手?

    不看这几篇好文,就别说自己了解物联网 天猫精灵相信大家都不陌生了,它是阿里巴巴于2017年7月5日发布的AI智能终端品牌.让用户以自然语言对话的交互方式,实现影音娱乐.购物.信息查询.生活服务等功能操 ...

  8. 使用Django+MySQL快速搭建一个属于自己的网站

    使用Django+MySQL快速搭建一个属于自己的网站 Hello小伙伴们,你们好啊~~ 又是日常get新技能的一天, 今天,咱们来整理一下如何使用VMware Workstation上进行openE ...

  9. 《电商直播高画质开播指南》正式发布,6步快速搭建一个高清直播间

    <电商直播高画质开播指南>,由阿里巴巴大淘宝技术.淘宝直播联合佳能"佳直播"高清直播解决方案(以下简称"佳直播")发布,旨在以标准化.场景化和低成本 ...

  10. 如何快速搭建一个完整的移动直播系统?

    **如何快速搭建一个完整的移动直播系统?** 原文连接:http://toutiao.com/a6301796359717945601/ http://toutiao.com/a62784095597 ...

最新文章

  1. HDU 4282 A very hard mathematic problem 二分题目
  2. 电阻(4)之上/下拉电阻
  3. oracle客户端中文乱码问题的解决
  4. GNU make manual 翻译(三十)
  5. python自动化办公入门-[Python] 自动化办公 docx操作Word基础代码
  6. 圆形体癣是什么样子的图片_这是高手!只用一个「圆形」,也能做出高大上的PPT!...
  7. 小波分解与小波包分解代码_分解的功能参数和代码可维护性
  8. 关于运维的标准(ITSS信息技术服务-运行维护)介绍
  9. window nginx关闭后,访问代理仍成功
  10. 工作太闲闹心怎么办啊
  11. 以中断方法设计单片机秒、分脉冲发生器
  12. SDL_UpdateTexture+ffmpeg播放YUV数据程序异常崩溃:VM Regions Near 0x113e3d000:MALLOC_LARGE
  13. LumaQQ学习记录
  14. c语言画伯努利分布图像,C++ - 随机生成器 伯努利分布(bernoulli distribution) 的 详解 及 代码...
  15. 史上最全搭建MAVEN私服上传并使用JAR包教程
  16. 石墨烯优异的光学和电学性能使之成为制造光电探测器的理想材料-供应黑磷烯石墨烯复合材料空心微球 石墨烯/电磁功能化有机微球 石墨烯/阴离子多聚糖复合微球载体 石墨烯/Ag炭微球气凝胶
  17. nginx 源码编译、安装
  18. python使用ctypes调用c/c++函数
  19. python 量子计算包_ProjectQ:解锁Python实现量子计算的新方式!
  20. 智慧灯杆“破冰”:虽然智慧灯杆市场一片火热,但也面临着一系列难题

热门文章

  1. SQL Server 日期函数
  2. 零基础自学SQL课程 | SQL中的日期函数大全
  3. eclipse安装中文版插件
  4. Java使用lowagie根据模版动态生成PDF(无需额外设置系统字体)
  5. 一些爱不释手的 Chrome 插件
  6. Chromeedge好用扩展插件分享
  7. 解决笔记本没有COM端口导致无法用SecureCRT或者超级终端配置交换机
  8. win10自带的打印机服务器,win10系统开启打印机服务的操作方法
  9. 数字图像处理 冈萨雷斯 第三版 书中配套图片下载地址
  10. Excel中VBA相关函数的使用