linux deploy运行mongo,yapi 本地部署(基于 ubuntu 18.04)

环境准备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

linux deploy运行mongo,yapi 本地部署(基于 ubuntu 18.04)_第1张图片

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

参考资料

你可能感兴趣的:(linux,deploy运行mongo)