html模板

Fiora二次元多终端Nodejs聊天室源码
2023-06-04 我的站长站

Fiora二次元多终端Nodejs聊天室源码

  • 模板编号:2764
  • 点击次数:
  • 模板终端:自适应
  • 适用版本:静态模板
  • 模板编码:UTF-8
  • 下载权限:普通 / VIP
  • 模板售价:免费下载
  • 下载次数:2

模板截图

源码安装教程

源码环境要求: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聊天室了。如果无法打开,请检查宝塔面板的系统防火墙,并一键放通腾讯云后台防火墙:

还可以设置反向dai理,直接通过你的域名访问聊天室!

配置管理员

获取用户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,

将这两个的数值改成你自己需要的数值,单位为毫秒,大概意思就是增加http://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


相关专题
二次元
二次元
2022-11-13 23

二次元原指“二维世界”,来成为了ACGN亚文化圈专门用语.在站长行业也有许多站长喜欢使用二次元风格的资源,我的站长站也为喜爱二次元的站长准备了许多二次元资源,...

下载地址

· 积分下载:下载扣除对应积分,不扣除下载次数
· 会员免费:VIP会员免费下载,扣除下载次数
· 下载即代表您已阅读并同意 [服务条款]

相关推荐
  • 多终端
  • nodejs源码
  • 聊天室源码
  • 他们说的多终端登录/共享/同步/运行是什么意思?

    首先终端是什么?终端简单的理解就是电脑、手机、平板等等设备,有些行业同时也会包含设备的运行环境。多终端是什么?我们常常看到网络上有很多产品介绍自己为多终端产品,可以多终端登录、多终端共享、多终端同步、多终端运行等等。听起来挺高大上,其实这里...

    经验分享 1774 5年前
  • 帝国CMS多终端手机版内容图片压缩

    PC端下上传的内容图片一般比较大,在移动端下加载会很慢,此时我们需要把这些图片处理下那么可以借助PHP的函数 preg_replace_callback: 函数执行一个正则表达式搜索并且使用一个回调进行替换。直接看代码:// 内容图片压缩处理function NewsTextReplace($a...

    帝国cms教程 183 5年前
  • 帝国CMS7.5版升级支持多终端后台设置开启权限

    帝国CMS7.5版多访问端支持设置子端是否开启后台权限,更高安全性,维护更方便:1、支持设置前台、后台都开启。2、支持设置只开启后台管理,但不开启管理员登录,也就是必须从主端后台登录,才可以切换管理子端后台。3、支持设置关闭子访问端整个后台权限,需要时...

    帝国cms教程 208 7年前
  • 基于vue+nodejs软件app应用下载网站源码
    基于vue+nodejs软件app应用下载网站源码

    源码介绍一款基于vue+nodejs软件app应用下载网站源码,PC+手机端自适应,项目采用前后端分离模式,前端使用 vue +element +axios 开发,后端使用 vue + express + mysql +vant 开发 。源码截图目录说明a...

    html模板 122 2年前
  • layui+Vue.js框架开发QAdmin轻量级后台模板v1.6
    layui+Vue.js框架开发QAdmin轻量级后台模板v1.6

    模板介绍QAdmin轻量级后台模板,基于layui框架与Vue.js构建,轻量不复杂 简洁不简单。模板截图目录结构当前版本: v1.6├─dist 构建后的代码├─qadmin-html ...

    html模板 189 2年前
  • 百度API海王撩妹话术生成器模板
    百度API海王撩妹话术生成器模板

    模板介绍基于百度AI 自然语言处理对话情感分析 图灵机器人接口开发的一款网页版海王撩妹话术生成器模板。代码使用nodejs编写接口,前端页面使用bootstrap4编写,使用ajax请求接口。模板截图使用说...

    html模板 107 3年前
  • YShout一款PHP+TXT+Ajax嵌入式在线聊天室源码
    YShout一款PHP+TXT+Ajax嵌入式在线聊天室源码

    源码介绍源码截图YShout是一款PHP+TXT+Ajax开发嵌入式在线聊天室源码,UTF-8编码。可以非常方便的嵌入到的你的网站中,无需数据库,采用TXT存储数据,小巧灵活,移植方便。采用AJAX技术,增加用户体验。在PH...

    php源码 160 3年前
  • Thinkphp聊天室微信红包群游戏源码下载
    Thinkphp聊天室微信红包群游戏源码下载

    源码介绍Thinkphp聊天室微信红包群游戏源码,主要是针对微信封群专门设计,包含聊天功能,红包(平台的虚拟红包),抢到的红包兑换(换去游戏平台)属于是一种群聊性质的拉客户工具。不是抢红包类的游戏程序,只是...

    游戏源码 256 3年前
  • WebSocket框架小蝌蚪匿名聊天室源码
    WebSocket框架小蝌蚪匿名聊天室源码

    WebSocket框架小蝌蚪匿名聊天室源码,WebSocket WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。用于网站引流,pv获取,还可促进用户粘结度的网页游戏+聊天源码上传至主机...

    游戏源码 350 4年前
最新更新