喜迎
元旦

搭建一款二次元的Web在线聊天室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 <<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

注意: 如果导入公匙时出现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


#拉取源码并存放于/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:client
#转移产物
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

其它的就自己慢慢摸索吧,博主也没过多使用,有问题可以直接去Github Issues反馈。


文章作者: Ming xin
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Ming xin !
评论
  目录