萌樱の小窝

我永远喜欢樱.jpg

Qinvideo - 基于 Node.js + MongoDB 的前后端分离的动漫 CMS

MoeSakura's Avatar 2020-01-02

  1. 1. 运行环境
  2. 2. 数据库
  3. 3. 下载安装
  4. 4. 网站配置
  5. 5. 运行

萌樱这里分享一个基于 Node.js + MongoDB 的前后端分离的动漫 CMS 。到目前为止,V1.0 版已经停更,V2.0 版还在写。这套 CMS 有免费跟付费两个版本,付费版有 Andorid 客户端,而且能够快速添加番剧,其他的功能与免费版基本一样。

官网:https://qinvideo.org/

GitHub:https://github.com/Qinmei/qinvideo

使用文档:https://qinvideo.org/docs/

运行环境

安装 Node.js

1
2
curl -sL https://deb.nodesource.com/setup_12.x | bash -
apt-get install -y nodejs

用 OneinStack 安装 Nginx + MongoDB

1
wget -c http://mirrors.linuxeye.com/oneinstack-full.tar.gz && tar xzf oneinstack-full.tar.gz && ./oneinstack/install.sh --nginx_option 1 --db_option 15 --dbinstallmethod 1 --dbrootpwd oneinstack --reboot

数据库

为了减少不必要的麻烦以及运行错误(大雾),先关闭 OneinStack 安装 MongoDB 时默认开启的用户认证。

打开 /etc/mongod.conf ,修改 authorizationdisabled 并保存

1
2
# 重启 MongoDB
service mongod restart
MongoDB 只有插入一条数据时,数据库才会真正被创建

创建一个数据库并在数据库里插入一条数据

1
2
3
4
5
6
7
8
mongo
# 创建数据库
use 数据库名
# 插入一条数据
db.repo.insert({"name":"qinvideo"})
# 查看数据库
show dbs
exit

下载安装

用 OneinStack 新建一个站点,创建时添加伪静态

1
2
cd oneinstack
./vhost.sh

打开网站目录,下载 Qinvideo 并安装

1
2
3
cd /data/wwwroot/域名
git clone -b master https://github.com/Qinmei/qinvideo.git tmp && mv tmp/.git . && rm -rf tmp && git reset --hard
npm install

修改网站目录权限

1
2
3
find /data/wwwroot/ -type d -exec chmod 755 {} \;
find /data/wwwroot/ -type f -exec chmod 644 {} \;
chown -R www:www /data/wwwroot/网站域名

打开 config.js 修改配置文件

  • 修改 uri"mongodb://localhost:27017/数据库名"
  • 修改 salt 以及 tokenSecret 为任意字符串
1
2
# 试运行
node app.js

Ctrl + C 终止运行

出现 Mongoose connection connected 表示成功运行
如果报错,检查配置文件和数据库是否配置正确

网站配置

打开 /usr/local/nginx/conf/vhost/网站域名.conf 修改网站运行目录

1
root /data/wwwroot/网站域名/public;

打开 /usr/local/nginx/conf/rewrite/伪静态.conf ,添加以下配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
client_max_body_size 20M;
location /api/ {
proxy_pass http://localhost:9000/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /qinmei {
alias /home/qinvideo-node/public;
index /backend/index.html;
try_files $uri $uri/ /backend/index.html?$args;
}

location /web {
alias /home/qinvideo-node/public;
index /pc/index.html;
try_files $uri $uri/ /pc/index.html?$args;
}

location /m {
alias /home/qinvideo-node/public;
index /h5/index.html;
try_files $uri $uri/ /h5/index.html?$args;
}

location =/ {
if ($http_user_agent ~* (mobile|nokia|iphone|ipad|android|samsung|htc|blackberry)) {
rewrite ^(.*) $scheme://$host/m/ permanent;
}
if ($http_user_agent !~* (mobile|nokia|iphone|ipad|android|samsung|htc|blackberry)){
rewrite ^(.*) $scheme://$host/web/ permanent;
}
}

重启 Nginx

1
service nginx restart

运行

打开网站目录运行 app.js 即可

1
2
3
4
cd /data/wwwroot/域名
apt install -y screen
screen -S qinvideo
node app.js

成功运行后按 Ctrl + A 再按 D 后台运行。

网址/qinmei 是后台管理面板的地址
网址/web 是 PC 端的前端地址
网址/m 是移动端的前端地址

😋 Enjoy it !

本文作者 : MoeSakura
本文使用 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 协议
本文链接 : https://moesakura.world/archives/qinvideo/

本文最后更新于 天前,文中所描述的信息可能已发生改变