快速搭建一个端对端加密的在线聊天室
看到有人发了一个在线聊天室,感觉挺有意思的就做个教程
简介
程序: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
快速搭建一个端对端加密的在线聊天室相关推荐
- php 开发一个聊天系统,ajax+php 实现一个简单的在线聊天室功能(附带源码)
通过ajax和setInterval()函数,配合php+mysql实现一个简单的在线聊天室的功能.附带详细源码案例.这个聊天室是一个简单的聊天室,通过javascript setInterval() ...
- Gradio快速搭建ML/DL Web端服务
文章目录 Gradio快速搭建ML/DL Web端服务 前言 开始 模型训练 部署 源码部分 Gradio快速搭建ML/DL Web端服务 前言 当我们训练好了某个模型并且效果还不错时,最先想到的应该 ...
- 2 小时快速搭建一个高可用的 IM 系统
知道的越多,不知道的就越多,业余的像一棵小草! 编辑:业余草 来源:https://www.xttblog.com/?p=4994 本文快速搭建的 IM 系统也是使用 Go 语言来快速实现的,这里先和 ...
- go html vue,用Go+Vue.js快速搭建一个Web应用(初级demo)
Vue.js做为目前前端最热门的库之一,为快速构建并开发前端项目多了一种思维模式.本文给大家介绍用Go+Vue.js快速搭建一个Web应用(初级demo). 环境准备: 1. 安装go语言,配置go开 ...
- test.php创建,基于phpstudy简单快速搭建一个php程序
原标题:基于phpstudy简单快速搭建一个php程序 人人都是程序员,希望在零碎的阅读时间里,给您一些技术提升. 1 安装phpstudy 通过以下链接download.csdn.net/downl ...
- 创建微服务架构的步骤_如何快速搭建一个微服务架构?
原标题:如何快速搭建一个微服务架构? 微服务火了很久,但网上很少有文章能做到成熟地将技术传播出来,同时完美地照顾"初入微服务领域人员",从 0 开始,采用通俗易懂的语言去讲解微服务 ...
- 如何快速搭建一个像“天猫精灵”的智能语音助手?
不看这几篇好文,就别说自己了解物联网 天猫精灵相信大家都不陌生了,它是阿里巴巴于2017年7月5日发布的AI智能终端品牌.让用户以自然语言对话的交互方式,实现影音娱乐.购物.信息查询.生活服务等功能操 ...
- 使用Django+MySQL快速搭建一个属于自己的网站
使用Django+MySQL快速搭建一个属于自己的网站 Hello小伙伴们,你们好啊~~ 又是日常get新技能的一天, 今天,咱们来整理一下如何使用VMware Workstation上进行openE ...
- 《电商直播高画质开播指南》正式发布,6步快速搭建一个高清直播间
<电商直播高画质开播指南>,由阿里巴巴大淘宝技术.淘宝直播联合佳能"佳直播"高清直播解决方案(以下简称"佳直播")发布,旨在以标准化.场景化和低成本 ...
- 如何快速搭建一个完整的移动直播系统?
**如何快速搭建一个完整的移动直播系统?** 原文连接:http://toutiao.com/a6301796359717945601/ http://toutiao.com/a62784095597 ...
最新文章
- HDU 4282 A very hard mathematic problem 二分题目
- 电阻(4)之上/下拉电阻
- oracle客户端中文乱码问题的解决
- GNU make manual 翻译(三十)
- python自动化办公入门-[Python] 自动化办公 docx操作Word基础代码
- 圆形体癣是什么样子的图片_这是高手!只用一个「圆形」,也能做出高大上的PPT!...
- 小波分解与小波包分解代码_分解的功能参数和代码可维护性
- 关于运维的标准(ITSS信息技术服务-运行维护)介绍
- window nginx关闭后,访问代理仍成功
- 工作太闲闹心怎么办啊
- 以中断方法设计单片机秒、分脉冲发生器
- SDL_UpdateTexture+ffmpeg播放YUV数据程序异常崩溃:VM Regions Near 0x113e3d000:MALLOC_LARGE
- LumaQQ学习记录
- c语言画伯努利分布图像,C++ - 随机生成器 伯努利分布(bernoulli distribution) 的 详解 及 代码...
- 史上最全搭建MAVEN私服上传并使用JAR包教程
- 石墨烯优异的光学和电学性能使之成为制造光电探测器的理想材料-供应黑磷烯石墨烯复合材料空心微球 石墨烯/电磁功能化有机微球 石墨烯/阴离子多聚糖复合微球载体 石墨烯/Ag炭微球气凝胶
- nginx 源码编译、安装
- python使用ctypes调用c/c++函数
- python 量子计算包_ProjectQ:解锁Python实现量子计算的新方式!
- 智慧灯杆“破冰”:虽然智慧灯杆市场一片火热,但也面临着一系列难题