说明:Fiora是一款偏二次元的Web多人在线聊天应用,使用Node.jsMongodbSocket.ioReact编写,使用起来还行,挺简洁的,这里水个搭建教程,有兴趣的可以玩玩。

截图

功能

  • 好友,群组,私聊,群聊
  • 文本,图片,代码,url等多种类型消息
  • 贴吧表情,滑稽表情,搜索表情包
  • 桌面通知,声音提醒,语音播报
  • 自定义桌面背景,主题颜色,文本颜色
  • 查看在线用户,@功能
  • 小黑屋禁言

手动安装

Github地址:GitHub - yinxin630/fiora: An interesting open source chat application. Developed with node.js, mongoDB, socket.io and react

所需环境:Nodejs >= 8.9.0Mongodb

说明:512M内存vps可能还需要先加一点虚拟内存,不然构建过程会失败。

1、安装Nodejs

#Debian/Ubuntu系统
curl -sL https://deb.nodesource.com/setup_10.x | bash -
apt install -y git nodejs #CentOS系统
curl -sL https://rpm.nodesource.com/setup_10.x | bash -
yum install nodejs git -y

2、安装Mongodb

#CentOS 6系统,将下面命令一起复制进SSH客户端运行
cat <<EOF > /etc/yum.repos.d/mongodb.repo
[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/6/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
EOF
yum -y install mongodb-org#CentOS 7系统,将下面命令一起复制进SSH客户端运行
cat <<EOF > /etc/yum.repos.d/mongodb.repo
[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
EOF
yum -y install mongodb-org#Debian 8系统
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/4.0 main" | tee /etc/apt/sources.list.d/mongodb-org-4.0.list
apt update -y
apt install -y mongodb-org#Debian 9系统
curl https://www.mongodb.org/static/pgp/server-4.0.asc | apt-key add -
echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main" | tee /etc/apt/sources.list.d/mongodb-org-4.0.list
apt-get update -y
apt-get install -y mongodb-org#Debian 10系统
curl https://www.mongodb.org/static/pgp/server-4.2.asc | apt-key add -
echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/4.2 main" | tee /etc/apt/sources.list.d/mongodb-org-4.2.list
apt update -y
apt install -y mongodb-org#Ubuntu 16.04系统
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
echo "deb https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.0 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-4.0.list
apt update -y
apt install -y mongodb-org#Ubuntu 18.04、18.10、19.04系统
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
echo "deb https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-4.0.list
apt update -y
apt install -y mongodb-org

如果导入公匙时出现gnupg, gnupg2 and gnupg1 do not seem to be installed错误,使用apt install -y gnupg2,然后重新导入即可。

启动Mongodb并设置开机自启:

#CentOS 6系统
service mongod start
chkconfig mongod on#CentOS 7、Debian、Ubuntu系统
systemctl start mongod
systemctl enable mongod

3、安装fiora

#拉取源码并存放于/opt文件夹
git clone https://github.com/yinxin630/fiora.git -b master /opt/fiora
cd /opt/fiora
#安装依赖,这里不能用npm,需要用yarn来安装
npm i -g yarn
yarn
#构建
npm run build
#转移产物
npm run move-dist
#启动
npm start

运行后打开ip:9200,注册一个账号,然后可以看SSH客户端运行日志,获取自己的userId

#这里注册或登录的时候返回的信息,后面的5d329dd354b9则为自己的userId
<-- getLinkmansLastMessages  mYNheu93jds7 5d329dd354b9

如果ip:9200打不开的,可以检查下防火墙,CentOS系统可以使用以下命令:

#CentOS 6
iptables -I INPUT -p tcp --dport 9200 -j ACCEPT
service iptables save
service iptables restart#CentOS 7
firewall-cmd --zone=public --add-port=9200/tcp --permanent
firewall-cmd --reload

像阿里云等,还需要额外在安全组开放端口。

接下来再将自己的账号设置成管理员,先使用Ctrl+C断开运行。

新建Systemd配置文件,只适用于CentOS 7Debian 8+Ubuntu 16+等。

#先修改你的userId和运行端口后复制到SSH运行
Administrator=5d329dd354b9
Port=9200
#新建fiora用户并授权
useradd -M fiora && usermod -L fiora
chown -R fiora:fiora /opt/fiora
#新建systemd配置文件,将以下代码一起复制到SSH运行
cat > /etc/systemd/system/fiora.service <<EOF
[Unit]
Description=fiora
After=network.target
Wants=network.target[Service]
Type=simple
PIDFile=/var/run/fiora.pid
ExecStart=$(command -v npm) start
WorkingDirectory=/opt/fiora
Environment=Administrator=$Administrator Port=$Port
User=fiora
Restart=on-failure
RestartSec=42s[Install]
WantedBy=multi-user.target
EOF

开始启动并设置开机自启:

systemctl start fiora
systemctl enable fiora

其它系统,比如CentOSDebian 7等系统,可以直接使用以下方法启动:

#管理员userId和运行端口自行修改
export Administrator=5d329dd354b9 Port=9200
nohup npm start &

此时就可以访问ip:9200,运行端口以你设置的为准,这时候你登陆的时候,会发现左侧多了个管理员图标。

4、域名反代
如果你想使用域名的话,这里依旧使用Caddy反代,操作如下:

安装Caddy

wget -N --no-check-certificate https://raw.githubusercontent.com/iiiiiii1/doubi/master/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh

配置Caddy

#以下全部内容是一个整体,请修改域名后一起复制到SSH运行!#http访问,该配置不会自动签发SSL
echo "www.Admin404.com {gzipproxy / 127.0.0.1:9200 {websocketheader_upstream Host {host}header_upstream X-Real-IP {remote}header_upstream X-Forwarded-For {remote}header_upstream X-Forwarded-Port {server_port}header_upstream X-Forwarded-Proto {scheme}}
}" > /usr/local/caddy/Caddyfile#https访问,该配置会自动签发SSL,请提前解析域名到VPS服务器
echo "www.Admin404.com {gziptls admin@Admin404.comproxy / 127.0.0.1:9200 {websocketheader_upstream Host {host}header_upstream X-Real-IP {remote}header_upstream X-Forwarded-For {remote}header_upstream X-Forwarded-Port {server_port}header_upstream X-Forwarded-Proto {scheme}}
}" > /usr/local/caddy/Caddyfile

tls参数会自动帮你签发ssl证书,如果你要使用自己的ssl,改为tls /root/xx.crt /root/xx.key即可。后面为ssl证书路径。

启动Caddy

/etc/init.d/caddy start

就可以打开域名进行访问了。

如果你想修改默认的频道名称的话,可以编辑config/server.js文件,修改最下面的代码:

defaultGroupName: 'fiora',

然后重启应用即可。需要使用到七牛云CDN的,可以参考作者给的教程自行设置→传送门

宝塔安装

1、安装宝塔

#CentOS系统
wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
#Ubuntu系统
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh
#Debian系统
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh

安装完成后,进入面板,点击左侧软件商店,然后安装PM2管理器MongoDBNginx(使用域名访问才需要安装,反之不用)。

注意:Debian安装MongoDb之前还需要使用命令apt install sudo,不然可能存在MongoDb启动不了的情况;如果你已经安装了MongoDb,那就先使用apt install sudo,再使用/etc/init.d/mongodb start启动即可。

2、安装fiora
该步骤参考上面的手动步骤3,区别在于新建systemd配置文件的时候,Environment参数还需要加一样,不然启动可能失败。

只需要把新建systemd配置文件步骤换成下面这个,其它一模一样。

#先给node做个软连接,不然后面会启动失败
ln -sf $(which node) /usr/bin/node
#修改运行端口,可以默认
Port=9200
#以下命令一起复制进SSH客户端运行
cat > /etc/systemd/system/fiora.service <<EOF
[Unit]
Description=fiora
After=network.target
Wants=network.target[Service]
Type=simple
PIDFile=/var/run/fiora.pid
ExecStart=$(command -v npm) start
WorkingDirectory=/opt/fiora
Environment=NODE_ENV=production Administrator=$Administrator Port=$Port
User=fiora
Restart=on-failure
RestartSec=42s[Install]
WantedBy=multi-user.target
EOF

3、域名反代
先点击左侧网站,添加站点,然后再点击添加好了的域名名称,这时候就进入了站点配置,点击配置文件,在中间添加以下代码:

location / {proxy_pass http://127.0.0.1:9200;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;
}

其它的就自己慢慢摸索吧,博主也没过多使用,有问题可以直接去Github Issues反馈。

一款二次元的Web多人在线网络聊天系统:Fiora安装及使用相关推荐

  1. 宝塔面板+轻松部署一款二次元的Web多人在线网络聊天系统fiora聊天室

    前言 Fiora是一款偏二次元的Web多人在线聊天应用,是使用Node.js.Mongodb.Socket.io和React编写的,使用起来简洁.方便,在这里使用宝塔面板+Fiora安装教程分享给大家 ...

  2. Fiora一款二次元的Web多人在线网络聊天系统

    源码介绍 Fiora是一款偏二次元的Web多人在线聊天应用,使用Node.js.Mongodb.Socket.io和React编写,使用起来还行,挺简洁的,这里水个搭建教程,有兴趣的可以玩玩. 源码功 ...

  3. 2023最新Fiora二次元的Web多人在线网络聊天系统源码/UI漂亮/很有意思

    正文: Fiora是一款偏二次元的 Web多人在线聊天应用,使用 Node.js.Mongodb.Socket.io和 React编写,UI漂亮,很有意思,可以当做在线客服.在线讨论之类的. 功能: ...

  4. 育碧再推3款多人在线游戏,随时随地 Party time!

    今年以来,Ubisoft 育碧旗下.专注于社交媒体平台 H5 游戏开发的育碧岘港工作室,又陆续在专属游戏平台 Ubisoft Nano 上线了3款免费的原创多人在线 HTML5 游戏. 同之前的作品一 ...

  5. web策略类游戏开发(四)一个可以承载万人在线的架构

    web策略类游戏开发(四)一个可以承载万人在线的架构 Webgame现在已经开始需要进入大统一服务器时代,每个游戏区域容纳的玩家数量将从现在的几万人发展到几十万人,因此在新的背景下,webgame如何 ...

  6. 正在做的一款HTML5多人在线扑克牌游戏:99分

    用Node.JS做服务端,用WebSockets通信,实现HTML5多人在线游戏. 这款扑克牌游戏名称叫99分,源于活动聚会时常多人玩的一种扑克游戏,特别适合6人.8人.10人玩. 这个游戏由3个爱好 ...

  7. 阿里云和腾讯云服务器10M带宽能支持多少人在线?

    10M带宽云服务器支持多少人同时在线?云服务器10M带宽下载速度是多少?如何计算云服务器并发数?小编分享云服务器10M带宽的实际下载速度及10M带宽能支撑多少人同时在线的计算方法: 云服务器10M带宽 ...

  8. 十款免费的Web前端开发工具

    每一年,新的工具都会出现,同时也意味着许多旧的工具倒在了开发新技术的路上.前端开发占据了Web的很大一部分,它也成为一条职业道路.若您将前端开发视为另一项新技术或可发展的事业,你需要为这个工作准备合适 ...

  9. rudesocket如何使用_[WebSocket入门]手把手搭建WebSocket多人在线聊天室(SpringBoot+WebS...

    前言 本文中搭建了一个简易的多人聊天室,使用了WebSocket的基础特性. 源代码来自老外的一篇好文: 本文内容摘要: 初步理解WebSocket的前后端交互逻辑 手把手使用 SpringBoot ...

最新文章

  1. FPGA(5)数码管静态显示与动态显示
  2. ORL Faces Database介绍
  3. 网上的说TB6560存在的问题
  4. 21.正则表达式的基本语法
  5. 【D3.V3.js系列教程】--(十四)有路径的文字
  6. 【转】编写微信聊天机器人4《聊天精灵WeChatGenius》:实时获取到微信聊天消息,hook数据库插入操作。...
  7. linux thrift 安装目录,Linux下安装Thrift
  8. Servlet拦截器
  9. leetcode 242. 有效的字母异位词 思考分析
  10. ASP.NET MVC动态二级域名及DNS(泛解析配置)
  11. memcache 客户端性能对比试验
  12. 基于pyqt5的Demo软件开发
  13. HTML5系列代码:用户注册页面
  14. linpack测试软件,服务器性能测试(linpack,stream,netperf,iometer)
  15. 2017校园招聘 携程编程题
  16. 网格布局(固定单元格间隔,单元格、容器大小不定)布局使用
  17. 看了他家的红木装修,彻底被圈粉了,庄重典雅又复古舒适
  18. PDF文件怎么插入空白页面
  19. unity中使用render texture全黑的可能解决方案
  20. idea中vue文件 游览器图标_vue项目中icon图标的完美引入

热门文章

  1. js 正则表达式(允许输入中文、英文、字母;汉字中间有空格;全部为相同数字;港澳台通行证、居住证)
  2. python多项式拟合_Python 普通最小二乘法(OLS)进行多项式拟合,最小二乘法拟合二次多项式,多元函数拟合。如 电...
  3. python 实现网站测速_python一键测试网速
  4. 区块链资料高清PDF合集
  5. [RK3288][Android7.1] 调试笔记 --- 24bit bmp 转成 8bit bmp
  6. 联想t168服务器安装系统,联想万全T168服务器板载Sata+raid系统设置图解.doc
  7. python 嫦娥吃月饼
  8. Python全栈工程师-第13周-韦玮-专题视频课程
  9. Vue3 Element Plus 动态图标
  10. 《算法导论》24.3-Dijkstra(迪杰斯特拉)算法(含C++代码)