一款二次元的Web多人在線網絡聊天系統安裝及使用

一款偏二次元的Web多人在線聊天應用,使用Node.js、Mongodb、Socket.io和React編寫,使用起來還行,挺簡潔的,這裡水個搭建教程,有興趣的可以玩玩。

截圖

一款二次元的Web多人在線網絡聊天系統安裝及使用

一款二次元的Web多人在線網絡聊天系統安裝及使用

功能

  • 好友,群組,私聊,群聊
  • 文本,圖片,代碼,url等多種類型消息
  • 貼吧表情,滑稽表情,搜索表情包
  • 桌面通知,聲音提醒,語音播報
  • 自定義桌面背景,主題顏色,文本顏色
  • 查看在線用戶,@功能
  • 小黑屋禁言

手動安裝

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

所需環境:Nodejs >= 8.9.0、Mongodb。

說明:512M內存vps可能還需要先加一點虛擬內存,不然構建過程會失敗,可以使用Swap一鍵腳本→傳送門。

1、安裝Nodejs

#Debian/Ubuntu系統
curl -sL https://deb.nodesource.com/setup_10.x | bash -
apt install -y git nodejs
#CentOS系統
curl -sL https://rpm.nodesource.com/setup_10.x | bash -
yum install nodejs git -y

2、安裝Mongodb

#CentOS 6系統,將下面命令一起復制進SSH客戶端運行
cat < /etc/yum.repos.d/mongodb.repo
[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/6/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
#CentOS 7系統,將下面命令一起復制進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
#Debian 8系統
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/4.0 main" | tee /etc/apt/sources.list.d/mongodb-org-4.0.list
apt update -y
apt install -y mongodb-org
#Debian 9系統

curl https://www.mongodb.org/static/pgp/server-4.0.asc | apt-key add -
echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main" | tee /etc/apt/sources.list.d/mongodb-org-4.0.list
apt-get update -y
apt-get install -y mongodb-org
#Debian 10系統,目前Debian 10還沒Mongodb軟件包,不過試了下還是可以用下面的方法勉強安裝的
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
echo "deb https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-4.0.list
apt update -y
apt install -y mongodb-org
#Ubuntu 16.04系統
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
echo "deb https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.0 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-4.0.list
apt update -y
apt install -y mongodb-org
#Ubuntu 18.04、18.10、19.04系統
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
echo "deb https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-4.0.list
apt update -y
apt install -y mongodb-org

如果導入公匙時出現gnupg, gnupg2 and gnupg1 do not seem to be installed錯誤,使用apt install -y gnupg2,然後重新導入即可。

啟動Mongodb並設置開機自啟:

#CentOS 6系統
service mongod start
chkconfig mongod on
#CentOS 7、Debian、Ubuntu系統
systemctl start mongod
systemctl enable mongod

3、安裝fiora

#拉取源碼並存放於/opt文件夾
git clone https://github.com/yinxin630/fiora.git -b master /opt/fiora

cd /opt/fiora
#安裝依賴
npm i
#構建
npm run build
mv -f dist/fiora/* public
#啟動
export NODE_ENV=production
node server/main.js

運行後打開ip:9200,註冊一個賬號,然後可以看SSH客戶端運行日誌,獲取自己的userId。

#這裡註冊或登錄的時候返回的信息,後面的5d329dd354b9則為自己的userId

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

#先修改你的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 <[Unit]
Description=fiora
After=network.target
Wants=network.target
[Service]
Type=simple
PIDFile=/var/run/fiora.pid
ExecStart=$(command -v node) server/main.js
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 NODE_ENV=production Administrator=5d329dd354b9 Port=9200
nohup node server/main.js &

此時就可以訪問ip:9200,運行端口以你設置的為準,這時候你登陸的時候,會發現左側多了個管理員圖標。

4、域名反代

如果你想使用域名的話,這裡依舊使用Caddy反代,操作如下:

安裝Caddy:

wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubiBackup/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 [email protected]
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

就可以打開域名進行訪問了。

如果你想修改默認的頻道名稱的話,可以編輯config/server.js文件,修改最下面的代碼:

defaultGroupName: 'fiora',

然後重啟應用即可。需要使用到七牛雲CDN的,可以參考作者給的教程自行設置→傳送門

寶塔安裝

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

該步驟參考上面的手動步驟3,區別在於新建systemd配置文件的時候,Environment參數還需要加一樣,不然啟動可能失敗。

只需要把新建systemd配置文件步驟換成下面這個,其它一模一樣。

#以下命令一起復制進SSH客戶端運行
npm=$(which npm)
cat > /etc/systemd/system/fiora.service <[Unit]
Description=fiora
After=network.target
Wants=network.target
[Service]
Type=simple
PIDFile=/var/run/fiora.pid
ExecStart=$(command -v node) server/main.js
WorkingDirectory=/opt/fiora
Environment=NODE_ENV=production Administrator=$Administrator Port=$Port PATH=${npm%/*}
User=fiora
Restart=on-failure
RestartSec=42s
[Install]
WantedBy=multi-user.target
EOF

3、域名反代

先點擊左側網站,添加站點,然後再點擊添加好了的域名名稱,這時候就進入了站點配置,點擊配置文件,在中間添加以下代碼:

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

其它的就自己慢慢摸索吧,博主也沒過多使用,有問題可以直接去Github Issues反饋


分享到:


相關文章: