安卓客户端体验:fiora点击下载
网页版体验:fiora网页版
使用的系统是Linux Centos7.6
注意: 512M内存vps可能还需要先加一点虚拟内存,不然构建过程会失败。
开始安装
命令行安装方法
一、安装Nodejs
curl -sL https://rpm.nodesource.com/setup_10.x | bash -
yum install nodejs git -y
二、安装Mongodb
#将下面命令一起复制进SSH客户端运行
cat < /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
注意: 如果导入公匙时出现gnupg, gnupg2 and gnupg1 do not seem to be installed错误,使用apt install -y gnupg2,然后重新导入即可。
1、启动Mongodb并设置开机自启:
systemctl start mongod systemctl enable mongod
三、安装redis并设置后台运行 1、下载redis安装包 新开一个终端输入:
wget http://download.redis.io/releases/redis-4.0.6.tar.gz
2、解压压缩包
tar -zxvf redis-4.0.6.tar.gz
3、yum安装gcc依赖
yum install gcc
输入y即可
4、跳转到redis解压目录下
cd redis-4.0.6
5、编译安装
make MALLOC=libc
将/usr/local/redis-4.0.6/src目录下的文件加到/usr/local/bin目录
cd src && make install
到redis-4.0.6/src目录下测试有没有安装成功
./redis-server
末尾为Ready to accept connections就说明安装成功了。
6、以后台进程方式运行redis
到redis-4.0.6目录下修改redis.conf文件。
cd .. vim redis.conf
将
daemonize no
修改为
daemonize yes
最后指定redis.conf文件启动即可。
./redis-server /usr/local/redis-4.0.6/redis.conf
四、安装fiora
注意:任何操作都要在fiora目录下进行
#拉取源码并存放于/opt文件夹
git clone https://github.com/yinxin630/fiora.git -b master /opt/fiora
cd /opt/fiora
#安装依赖,这里不能用npm,需要用yarn来安装
npm i -g yarn
yarn
#构建 如果报错error fiora@1.0.0: The engine "node" is incompatible with this module. Expected version ">= 14". Got "10.24.1"
yarn config set ignore-engines true
#解决办法
npm run build:web #前版本npm run build:client
#转移产物
echo "JwtSecret=" > .env2. #前版本npm run move-dist
#启动
npm start
运行后打开ip:9200,注册一个账号,然后可以看SSH客户端运行日志,获取自己的userId。
#这里注册或登录的时候返回的信息,后面的5d329dd354b9则为自己的userId
<-- getLinkmansLastMessages mYNheu93jds7 5d329dd354b9
如果ip:9200打不开的,可以检查下防火墙,可以使用以下命令:
firewall-cmd --zone=public --add-port=9200/tcp --permanent firewall-cmd --reload
注意: 像阿里云等,还需要额外在安全组开放端口。
接下来再将自己的账号设置成管理员,先使用Ctrl+C断开运行。
新建Systemd配置文件:
#先修改你的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
管理员userId和运行端口自行修改。
export Administrator=5d329dd354b9 Port=9200 nohup npm start &
此时就可以访问ip:9200,运行端口以你设置的为准,这时候你登陆的时候,会发现左侧多了个管理员图标。
五、域名反代
如果你想使用域名的话,这里使用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
#备用地址
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:
#以下全部内容是一个整体,请修改域名后一起复制到SSH运行!
#http访问,该配置不会自动签发SSL
echo "www.moerats.com {
gzip
proxy / 127.0.0.1:9200 {
websocket
header_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.moerats.com {
gzip
tls admin@moerats.com
proxy / 127.0.0.1:9200 {
websocket
header_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
启动Caddy:
/etc/init.d/caddy start
就可以打开域名进行访问了。
注意事项: 一个ip一天只能注册一个账号,还有上传不了图片请自行查看日志。
查看日志命令:
pm2 logs fiora
到此安装就完成了,修改文件,fiora页面修改路径
- 以下logo:
- /opt/fiora/public/favicon-96.png
- /opt/fiora/public/favicon-192.png
- /opt/fiora/public/favicon-512.png
- 以下主页修改路径
- /opt/fiora/client/templates/index.html
- 以下侧边栏修改路径
- /opt/fiora/client/modules/Sidebar/
页面修改问题
修改fiora内容,往往需要重构才能生效。
其它的就自己慢慢摸索吧,博主也没过多使用,有问题可以直接去Github Issues反馈。
宝塔安装教程
进入软件商店,安装如下依赖
Nginx PM2管理器 MongoDB Redis
然后进入刚才安装的PM2管理器
插件设置,在Node版本选项卡中选中(如有更新的版本,建议选择最新的正式版使用)
回到腾讯云控制台,进入终端,输入下面命令获取到root权限并切换到网站目录
sudo su cd /www/wwwroot/
拉取文件
git clone https://github.com/yinxin630/fiora.git -b master
安装yarn
依赖并进入fiora目录
npm install -g yarn cd fiora/
安装依赖并构建客户端代码
yarn install yarn build:web
配置 JwtSecret
echo "JwtSecret=2ace77bfb3684df6" > .env2
启动服务端,配置进程守护
yarn start pm2 start yarn --name fiora -- start
此时就可以在浏览器输入http://[ip地址]:9200
打开fiora聊天室了。如果无法打开,请检查宝塔面板的系统防火墙,并一键放通腾讯云后台防火墙:
还可以设置反向代理,直接通过你的域名访问聊天室!
配置管理员
获取用户userid 比如admin
yarn script getUserId admin
设置管理员,这里可能无效,不过可以看下边其他方法
export Administrator=获取的userid Port=9200
添加管理员权限,上边那个没效果的采取这个
在fiora根目录,新建 .env文件,里边内容输入如下,一行一个
Administrator=你的userid Port=9200
docker 运行
首先安装 docker https://docs.docker.com/install/
直接从 DockerHub 镜像运行
# 拉取 mongo
docker pull mongo
# 拉取 redis
docker pull redis
# 拉取 fiora
docker pull suisuijiang/fiora
# 创建虚拟网络
docker network create fiora-network
# 启动 mongodB
docker run --name fioradb -p 27017:27017 --network fiora-network mongo
# 启动 redis
docker run --name fioraredis -p 6379:6379 --network fiora-network redis
# 启动 fiora
docker run --name fiora -p 9200:9200 --network fiora-network -e Database=mongodb://fioradb:27017/fiora -e RedisHost=fioraredis suisuijiang/fiora
本地构建镜像运行
克隆项目到本地 git clone https://github.com/yinxin630/fiora.git -b master
构建镜像 docker-compose build --no-cache --force-rm
运行 docker-compose up
实现大文件上传教程
第一步:修改服务端
cd fiora/packages/server/src
修改app.ts里的第37行和38行:
pingTimeout: 10000,
pingInterval: 5000,
将这两个的数值改成你自己需要的数值,单位为毫秒,大概意思就是增加socket.io的连接超时,时间越长,你上传大文件时就不会因为超时断开连接。
cd fiora/packages/server/node_modules/engine.io/lib
修改server.js里的28行和29行:
pingTimeout: 20000,
pingInterval: 25000,
将这两个的数值改成你自己需要的数值,单位为毫秒,同上。
修改server.js里的31行:
maxHttpBufferSize: 1e6,
其中1e6是b字节的数值,这里是限制你上传文件的大小,你可以根据自己的需要更改。
(貌似这里只能用b字节?那就需要你自己去换算)
第二步:修改客户端配置文件
vi fiora/packages/config/client.ts
maxFileSize: process.env.MaxFileSize
? parseInt(process.env.MaxFileSize, 10)
: MB * 10,
其中: MB * 10,
把10改成你需要的数值,单位MB,这里是在客户端限制你上传文件的大小。
第三步:修改Nginx上传文件限制和连接超时
这里用的宝塔,大家可以自己在nginx.conf修改。
第四步:
重构: yarn build:web 启动: yarn start