搭建Yapi可視化接口平台


參考文章:內網搭建yapi接口管理平台

環境准備

  • 操作系統:centos 7

  • 環境要求:

    • nodejs 7.6+
    • mongodb 2.6+
    • git

安裝nodejs

  1. 獲取資源(部署nodejs盡可能選擇偶數版本,因為偶數版本官方有較長的維護時間,故這次選擇8.x。)
    curl -sL https://rpm.nodesource.com/setup_8.x | bash -
  2. 安裝
    yum install -y nodejs
  3. 查看版本
    node -v
  4. 查看npm版本
    npm -v

安裝mongodb

  1. 更新yum源,非必須但是更新一下無害
    yum -y update
  2. 添加mongodb源文件,在/etc/yum.repos.d 創建一個 mongodb-org.repo 文件
    touch /etc/yum.repos.d/mongodb-org.repo
  3. 編輯mongodb-org.repo文件
    vim /etc/yum.repos.d/mongodb-org.repo
  4. 添加文件內容
[mongodb-org]

name=MongoDB Repository
baseurl=http://mirrors.aliyun.com/mongodb/yum/redhat/7Server/mongodb-org/3.2/x86_64/
gpgcheck=0
enabled=1

這里可能退不出Vim,參考https://www.cnblogs.com/melodyjerry/p/13714705.html

  1. 安裝mongodb
    yum install -y mongodb-org
  2. 啟動mongodb
    service mongod start
  3. 設置開機啟動
    chkconfig mongod on
  4. 打開moMongoDB(可忽略)
    /bin/mongo
  5. 配置遠程訪問
  • 修改mongod.conf配置文件
    vim /etc/mongod.conf
  • 注釋 bindIp: 127.0.0.1
    #bindIp: 127.0.0.1
  • 重啟mongod
    service mongod restart

安裝git

  • 官方推薦,在內網部署的時候安裝git,可以根據自己所需安裝
    yum -y install git

搭建YApi環境

搭建YApi

  1. 准備環境搭建完成后,開始搭建YApi,安裝命令
npm install -g yapi-cli --registry https://registry.npm.taobao.org

yapi server
$ yapi server
/usr/lib/node_modules/yapi-cli/src/utils.js:68
  getVersions: async function(){
                     ^^^^^^^^

SyntaxError: Unexpected token function
    at createScript (vm.js:56:10)
    at Object.runInThisContext (vm.js:97:10)
    at Module._compile (module.js:549:28)
    at Object.Module._extensions..js (module.js:586:10)
    at Module.load (module.js:494:32)
    at tryModuleLoad (module.js:453:12)
    at Function.Module._load (module.js:445:3)
    at Module.require (module.js:504:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/usr/lib/node_modules/yapi-cli/src/index.js:4:15)

解決辦法:將node升級到版本>7.6

https://www.cnblogs.com/melodyjerry/p/13715111.html

  • 實例截圖:

    wXMJrq.png

yapi server后提示:

Accessing non-existent property 'cat' of module exports inside circular dependency

產生這個的原因是node的版本太高了
解決的辦法很簡單,卸載最新版的node v14,重新安裝穩定版的node v12,這個問題就解決了

有使用寶塔的話,還需要到寶塔防火牆里放行9090端口

部署YApi

  1. 執行 yapi server 啟動可視化部署程序,瀏覽器打開提示窗口上的地址,非本地服務器,將0.0.0.0替換指定的域名或IP,進入部署頁面。
  • 實例截圖
    wjZPfA.png
  1. 根據項目實際需要可以修改部署信息,點擊【開始部署】,完成部署任務
  • 部署成功截圖
    wj66rn.png

  • MongoDB數據庫連接失敗,檢查是不是配置文件的ip、port出錯。或者,直接shutdown -r now重啟一下服務器,反正我就是hh。
    wjKeiD.png

3.根據部署日志截圖上的提示信息,啟動服務
啟動服務:node vendors/server/app.js
瀏覽器打開部署日志上的訪問地址http://127.0.0.1:3000就可以訪問搭建的YApi工具了(非本地服務器,將127.0.0.1替換指定的域名或IP),此時YApi本地環境搭建完成

如果是阿里雲ecs服務器,端口需要在安全組里開放,不然訪問不了

4.pm2方式管理進程

要保證后台保持進程,需要安裝pm2。
全局安裝:

npm install -g pm2`

啟動:

pm2 start /root/my-yapi/vendors/server/app.js --watch -i 1

這樣以后就可以很方便的用pm2就行啟動關閉啦~

  1. 通過pm2 save保存當前進程狀態。

查看:

pm2 list

重啟:

pm2 restart service/app.js

停止:

可以先通過pm2 list獲取應用的名字(--name指定的)或者進程id。

# pm2 stop app_name|app_id
pm2 stop /root/my-yapi/vendors/server/app.js

pm2使用參考文檔:
http://imweb.io/topic/57c8cbb27f226f687b365636

6.升級

升級項目版本是非常容易的,並且不會影響已有的項目數據,只會同步 vendors 目錄下的源碼文件。

cd {項目目錄}
yapi ls //查看版本號列表
yapi update //更新到最新版本
yapi update -v {Version} //更新到指定版本

9.nginx代理

如果您是將服務器代理到 nginx 服務器,請配置 nginx 支持 websocket。

在location /添加

proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";

10.禁止注冊

在 config.json 添加 closeRegister:true 配置項,就可以禁止用戶注冊 yapi 平台,修改完成后,請重啟 yapi 服務器。

{

"port": "*****",

"closeRegister":true

}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM