简介

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

截图

Web在线多人匿名聊天室:Fiora+宝塔面板安装教程
Web在线多人匿名聊天室:Fiora+宝塔面板安装教程

功能

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

项目地址

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

宝塔安装

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

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

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

注意:需在宝塔的“安全”-“防火墙”中添加放开9200端口后网站ip:9200才能正常打开。

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

如果网站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+等。

#先给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

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

systemctl start fiora
systemctl enable fiora

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

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

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

3、启动网站(网站打不开时)

cd /opt/fiora
npm start

4、域名反代

方式一、修改站点配置实现

先点击左侧网站,添加站点,然后再点击添加好了的域名名称,这时候就进入了站点配置,点击配置文件,在“#引用反向代理规则,注释后配置的反向代理将无效”此句前添加以下代码:

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;
}

方式二、用反向代理菜单实现。

先点击左侧网站,添加站点,然后再点击添加好了的域名名称,这时候就进入了站点修改,在点击“反向代理”选择“添加反向代理”

开启代理,代理名称随意填,目标URL填“http://网站ip:9200”即可。

修改侧边栏可在public/js的app.xxxxxx.js中修改,修改后删除nginx缓存(/www/server/nginx/proxy_cache_dir 下所有文件),重启nginx即可。


一个爱好捣鼓网站的男孩纸!