CentOS7部署二次元聊天室——fiora

发表于 2019-12-26  11 次阅读


Fiora是一款有趣的在线聊天应用. 使用node.js, mongodb, socket.io和react编写

在线地址: https://fiora.suisuijiang.com/
安卓/iOS app: https://github.com/yinxin630/fiora-app

功能

  1. 好友, 群组, 私聊, 群聊
  2. 文本, 图片, 代码, url等多种类型消息
  3. 贴吧表情, 滑稽表情, 搜索表情包
  4. 桌面通知, 声音提醒, 消息语音朗读
  5. 自定义桌面背景, 主题颜色, 文本颜色
  6. 查看在线用户, @功能
  7. 管理员
    • 关小黑屋
    • 撤回消息
    • 给用户打标签
    • 重置用户密码

配置说明:

主机:阿里云ECS

配置:1核2G 1Mbps

首先我们在网站根目录下新建文件夹,名字随意。然后用cd命令进入文件夹。

在GitHub上下载代码并部署:

git clone https://github.com/yinxin630/fiora.git

安装相关组件

#安装Node.js
curl -sL https://rpm.nodesource.com/setup_10.x | bash -
yum install nodejs git -y

#安装MongoDB
#将下面命令一起复制进SSH客户端运行
cat <<EOF > /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

#启动MongoDB并设置开机启动
systemctl start mongod
systemctl enable mongod

安装依赖

npm i -g yarn
yarn
npm run build
npm run move-dist

启动Fiora

npm start

在防火墙中放行9200端口

firewall-cmd --zone=public --add-port=9200/tcp --permanent
firewall-cmd --reload

随后访问IP:9200,注册并登录,在SSH面板中找到自己的UserID

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

修改 config/server.ts 中的 administrator 字段, 改为上一步获取的id

vim config/server.ts

新建Systemd配置文件

#新建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

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

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.example.com {
 gzip
 tls admin@example.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
#tls参数会自动帮你签发ssl证书,如果你要使用自己的ssl,改为tls /root/xx.crt /root/xx.key即可。后面为ssl证书路径。

启动Caddy

/etc/init.d/caddy start
本站文章基于国际协议BY-NA-SA 4.0协议共享;
如未特殊说明,本站文章皆为原创文章,请规范转载。

0

这里千秋Sakina,感谢使用本主题哦~