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

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

截图

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

功能

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

手动安装

Github地址:https://github.com/yinxin630/fiora

所需环境:Nodejs >= 8.9.0Mongodb

说明:512M内存vps可能还需要先加一点虚拟内存,不然构建过程会失败,可以使用Swap一键脚本→传送门

1、安装Nodejs

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

2、安装Mongodb

  1. #CentOS 6系统,将下面命令一起复制进SSH客户端运行
  2. cat < /etc/yum.repos.d/mongodb.repo
  3. [mongodb-org-4.0]
  4. name=MongoDB Repository
  5. baseurl=https://repo.mongodb.org/yum/redhat/6/mongodb-org/4.0/x86_64/
  6. gpgcheck=1
  7. enabled=1
  8. gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
  9. EOF
  10. yum -y install mongodb-org
  11. #CentOS 7系统,将下面命令一起复制进SSH客户端运行
  12. cat < /etc/yum.repos.d/mongodb.repo
  13. [mongodb-org-4.0]
  14. name=MongoDB Repository
  15. baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.0/x86_64/
  16. gpgcheck=1
  17. enabled=1
  18. gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
  19. EOF
  20. yum -y install mongodb-org
  21. #Debian 8系统
  22. apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
  23. 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
  24. apt update -y
  25. apt install -y mongodb-org
  26. #Debian 9系统
  27. curl https://www.mongodb.org/static/pgp/server-4.0.asc | apt-key add -
  28. 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
  29. apt-get update -y
  30. apt-get install -y mongodb-org
  31. #Debian 10系统,目前Debian 10还没Mongodb软件包,不过试了下还是可以用下面的方法勉强安装的
  32. apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
  33. 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
  34. apt update -y
  35. apt install -y mongodb-org
  36. #Ubuntu 16.04系统
  37. apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
  38. 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
  39. apt update -y
  40. apt install -y mongodb-org
  41. #Ubuntu 18.04、18.10、19.04系统
  42. apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
  43. 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
  44. apt update -y
  45. apt install -y mongodb-org

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

启动Mongodb并设置开机自启:

  1. #CentOS 6系统
  2. service mongod start
  3. chkconfig mongod on
  4. #CentOS 7、Debian、Ubuntu系统
  5. systemctl start mongod
  6. systemctl enable mongod

3、安装fiora

  1. #拉取源码并存放于/opt文件夹
  2. git clone https://github.com/yinxin630/fiora.git -b master /opt/fiora
  3. cd /opt/fiora
  4. #安装依赖
  5. npm i
  6. #构建
  7. npm run build
  8. mv -f dist/fiora/* public
  9. #启动
  10. export NODE_ENV=production
  11. node server/main.js

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

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

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

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

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

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

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

  1. #先修改你的userId和运行端口后复制到SSH运行
  2. Administrator=5d329dd354b9
  3. Port=9200
  4. #新建fiora用户并授权
  5. useradd -M fiora && usermod -L fiora
  6. chown -R fiora:fiora /opt/fiora
  7. #新建systemd配置文件,将以下代码一起复制到SSH运行
  8. cat > /etc/systemd/system/fiora.service <$(command -v node) server/main.js
  9. WorkingDirectory=/opt/fiora
  10. Environment=NODE_ENV=production Administrator=$Administrator Port=$Port
  11. User=fiora
  12. Restart=on-failure
  13. RestartSec=42s
  14. [Install]
  15. WantedBy=multi-user.target
  16. EOF

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

  1. systemctl start fiora
  2. systemctl enable fiora

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

  1. #管理员userId和运行端口自行修改
  2. export NODE_ENV=production Administrator=5d329dd354b9 Port=9200
  3. nohup node server/main.js &

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

4、域名反代

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

安装Caddy

  1. wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubiBackup/doubi/master/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh
  2. #备用地址
  3. wget -N --no-check-certificate https://www.moerats.com/usr/shell/Caddy/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh

配置Caddy

  1. #以下全部内容是一个整体,请修改域名后一起复制到SSH运行!
  2. #http访问,该配置不会自动签发SSL
  3. echo "www.moerats.com {
  4. gzip
  5. proxy / 127.0.0.1:9200 {
  6. websocket
  7. header_upstream Host {host}
  8. header_upstream X-Real-IP {remote}
  9. header_upstream X-Forwarded-For {remote}
  10. header_upstream X-Forwarded-Port {server_port}
  11. header_upstream X-Forwarded-Proto {scheme}
  12. }
  13. }" > /usr/local/caddy/Caddyfile
  14. #https访问,该配置会自动签发SSL,请提前解析域名到VPS服务器
  15. echo "www.moerats.com {
  16. gzip
  17. tls admin@moerats.com
  18. proxy / 127.0.0.1:9200 {
  19. websocket
  20. header_upstream Host {host}
  21. header_upstream X-Real-IP {remote}
  22. header_upstream X-Forwarded-For {remote}
  23. header_upstream X-Forwarded-Port {server_port}
  24. header_upstream X-Forwarded-Proto {scheme}
  25. }
  26. }" > /usr/local/caddy/Caddyfile

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

启动Caddy

  1. /etc/init.d/caddy start

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

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

  1. defaultGroupName: 'fiora',

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

宝塔安装

1、安装宝塔

  1. #CentOS系统
  2. wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
  3. #Ubuntu系统
  4. wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh
  5. #Debian系统
  6. 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配置文件步骤换成下面这个,其它一模一样。

  1. #以下命令一起复制进SSH客户端运行
  2. npm=$(which npm)
  3. cat > /etc/systemd/system/fiora.service <$(command -v node) server/main.js
  4. WorkingDirectory=/opt/fiora
  5. Environment=NODE_ENV=production Administrator=$Administrator Port=$Port PATH=${npm%/*}
  6. User=fiora
  7. Restart=on-failure
  8. RestartSec=42s
  9. [Install]
  10. WantedBy=multi-user.target
  11. EOF

3、域名反代

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

  1. location / {
  2. proxy_pass http://127.0.0.1:9200;
  3. proxy_set_header Host $host;
  4. proxy_set_header X-Real-IP $remote_addr;
  5. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  6. proxy_set_header Upgrade $http_upgrade;
  7. proxy_set_header Connection "upgrade";
  8. proxy_set_header X-Forward-Proto http;
  9. proxy_set_header X-Nginx-Proxy true;
  10. proxy_http_version 1.1;
  11. proxy_redirect off;
  12. }

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

精品源码

【首发】领取QQ名片赞源码 附带领赞接口

2019-8-30 11:46:33

精品源码

财神尾数夺宝竞猜源码 搭建教程

2019-9-2 17:17:57

本站所发布的一切源码、模板、应用等文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权。本站内容适用于DMCA政策。若您的权利被侵害,请与我们联系处理,站长 QQ: 84087680 或 点击右侧 私信:盾给网 反馈,我们将尽快处理。
⚠️
本站所发布的一切源码、模板、应用等文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权。本站内容适用于DMCA政策
若您的权利被侵害,请与我们联系处理,站长 QQ: 84087680 或 点击右侧 私信:盾给网 反馈,我们将尽快处理。
0 条回复 A文章作者 M管理员
欢迎您,新朋友,感谢参与互动!
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
私信列表
搜索