环境准备nodejs(7.6+)
mongodb(2.6+)
git
nodejs 与 git1sudo apt install nodejs npm git
mongodb
安装 MongoDB导入公钥
Ubuntu 软件包管理器 apt(高级软件包工具)需要软件分销商的 GPG 密钥来确保软件包的一致性和真实性。 运行此命令将 MongoDB 密钥导入到您的服务器。
1sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5
创建源列表文件
使用以下命令在 /etc/apt/sources.list.d/ 中创建一个 MongoDB 列表文件:
1echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list
安装 MongoDB
1
2sudo apt-get update
sudo apt-get install -y mongodb-org
MongoDB apt 安装程序自动为 Systemd 创建了一个 mongod.service 文件,因此不需要再手动创建它。
启动 MongoDB 并将其添加为在启动时启动的服务:
1
2systemctl start mongod
systemctl enable mongod
配置 MongoDB 用户名和密码1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18mongo
# 进入 MongoDB shell 后,切换到数据库管理员
use admin
# 创建 root 用户
db.createUser({user:"admin", pwd:"admin123", roles:[{role:"root", db:"admin"}]})
# 切换到数据库 yapi
use yapi
# 创建 yapi 管理员用户
db.createUser({user:"yapiAdmin", pwd:"yapi123", roles:[{role:"dbOwner", db:"yapi"}]})
# 退出
exit
# 重新启动MongoDB并连接创建的用户
sudo service mongod restart
MongoDB 数据迁移
备份1mongodump -h dbhost -d dbname -o dbdirectory
-h: mongodb 所在服务器地址,例如 127.0.0.1,也可以指定端口 127.0.0.1:27017
-d: 需要备份的数据库名称,例如:yapi
-o: 备份的数据存放的位置,例如:/home/bak
-u: 用户名称,使用权限验证的 mongodb 服务,需要指明导出账号
-p:用户密码,使用权限验证的 mongodb 服务,需要指明导出账号密码
恢复1mongorestore -h dbhost -d dbname --drop
-h: mongodb 所在服务器地址
-d: 需要恢复备份的数据库名称,例如:yapi,可以跟原来备份的数据库名称不一样
--drop: 加上这个参数的时候,会在恢复数据之前删除当前数据
: 备份数据所在位置,例如:/home/bak/yapi
--dir: 指定备份的目录,你不能同时指定 和 --dir 选项
yapi
方式一. 可视化部署
执行 yapi server 启动可视化部署程序,输入相应的配置和点击开始部署,就能完成整个网站的部署。部署完成之后,可按照提示信息,执行 node/{网站路径/server/app.js} 启动服务器。在浏览器打开指定 url, 点击登录输入您刚才设置的管理员邮箱,默认密码(ymfe.org) 登录系统(默认密码可在个人中心修改)。
1
2npm install -g yapi-cli --registry https://registry.npm.taobao.org
yapi server
经测试,ubuntu 18.04 中 9090 端口被占用,目前需在源码中修改端口:
1
2
3
4
5
6
7
8// 注:路径可能有所不同,下面的是我机器上的
// /usr/local/lib/node_modules/yapi-cli/src/commands/server.js
// line 91
...
// app.listen(9090)
app.listen(argv.port || 9090) // 支持 yapi server --port 9290
...
方式二. 命令行部署1
2
3
4
5
6
7
8
9
10mkdir yapi
cd yapi
git clone --depth=1 https://github.com/YMFE/yapi.git vendors
cp vendors/config_example.json ./config.json // 复制完成后请修改相关配置
cd vendors
npm install --production --registry https://registry.npm.taobao.org
# 在此之前请先修改配置 config.json
npm run install-server // 安装程序会初始化数据库索引和管理员账号,管理员账号名可在 config.json 配置
node server/app.js // 启动服务器后,请访问 127.0.0.1:{config.json配置的端口},初次运行会有个编译的过程,请耐心等候
请在启动前进行配置
1sudo vim config.json
pm2 进程守护1
2
3
4npm install pm2@latest -g
# 注意目录 app.js 的目录,pm2 start `real_path`/app.js
pm2 start ./server/app.js
pm2 常用命令开机自启动:pm2 startup,然后按提示操作
取消开机自启动:pm2 unstartup,然后按提示操作
保存当前应用:pm2 save
清理已保存的应用:pm2 cleardump
参考资料