Fiora是一款偏二次元的Web多人在线聊天应用,使用Node.js、Mongodb、Socket.io和React编写,使用起来还行,挺简洁的,这里水个搭建教程,有兴趣的可以玩玩。
截图
功能
- 好友,群组,私聊,群聊
- 文本,图片,代码,url等多种类型消息
- 贴吧表情,滑稽表情,搜索表情包
- 桌面通知,声音提醒,语音播报
- 自定义桌面背景,主题颜色,文本颜色
- 查看在线用户,@功能
- 小黑屋禁言
宝塔安装
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管理器、MongoDB、Nginx(使用域名访问才需要安装,反之不用)。
注意: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/fiora
- 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 7、Debian 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
其它系统,比如CentOS、Debian 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即可。