看到有人发了一个在线聊天室,感觉挺有意思的就做个教程
程序:rocket.chat
项目: https://github.com/RocketChat/Rocket.Chat
本次使用的机器为腾讯云的轻量学生机升级版 2c4g6m,详情可以参照 /t/748895
1 、进入宝塔软件商店,安装 PM2 管理器和 MongoDB:
2 、进入 PM2 管理器设置,将 node 版本改为 12.14.0
3 、进入 MongoDB 设置,点击配置文件找到 “# Where and how to store data.” 将存储数据的地址修改为以下:
原配置
修改为:
storage:
dbPath: /www/server/mongodb/Rocket.Chat
directoryPerDB: true
engine: 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
逐条运行以下命令
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 端口,本次演示的为腾讯云轻量学生机升级版
腾讯云轻量服务器添加防火墙:
进入到服务器管理面板然后防火墙放行
现在直接访问 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 大佬已经搭建好的聊天室:
社区版有用户和推送消息等限制哦,如果用户量大建议升级一下。
本文首发地址: https://2demo.top/200.html
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.