经过两天的折腾,迁移成功。以杭州地区为例,香港地区不支持,浪费了我一天的时间。

前提:
需要有一个mongo服务器,必须设置密码,然后开放所有IP登录。
也可以直接使用阿里的,只要不介意价格。

步骤:

  1. 离线下载yapi,并install
  2. 修改配置文件,给mongo设置密码
  3. 修改yapi源码:修改日志文件地址,否则会启动失败,因为函数计算文件不能修改。

离线yapi

安装

  1. mkdir yapi
  2. cd yapi
  3. git clone https://github.com/YMFE/yapi.git vendors
  4. cp vendors/config_example.json ./config.json
  5. cd vendors
  6. npm install --production

初始化数据库

本地配置好mongo数据库,为了安全,可以使用vpc网络,我是个人用户,所以给mongo加密就够了。

  1. cd ./yapi/vendors
  2. npm run install-server

本地测试

  1. node vendors/server/app.js

没有问题后,开始配置函数计算相关的东西。

迁移函数计算

修改日志目录

image.png

添加bootstrap启动脚本

bootstrap

  1. #!/bin/bash
  2. node vendors/server/app.js

注意必须是unix格式,可以使用 dos2unix bootstrap 转换,否则会报错。

template.yml

  1. ROSTemplateFormatVersion: '2015-09-01'
  2. Transform: 'Aliyun::Serverless-2018-04-03'
  3. Resources:
  4. node:
  5. Type: 'Aliyun::Serverless::Service'
  6. Properties:
  7. Description: This is FC service
  8. NasConfig: Auto
  9. my-api:
  10. Type: 'Aliyun::Serverless::Function'
  11. Properties:
  12. Handler: index.handler
  13. Runtime: custom
  14. CodeUri: ./
  15. MemorySize: 512
  16. Timeout: 120
  17. Events:
  18. httpTrigger:
  19. Type: HTTP
  20. Properties:
  21. AuthType: ANONYMOUS
  22. Methods:
  23. - GET
  24. - POST
  25. - PUT

发布

  1. fun deploy

自定义域名

1、添加域名解析,指向自己的函数计算地址
2、在函数计算web页,添加自定义域名
image.png

然后就可以啦,展示下:
image.png