內網部署Yapi接口管理工具
內網部署
使用我們提供的 yapi-cli 工具,部署 YApi 平臺是非常容易的。建議部署成 http 站點,因 chrome 瀏覽器安全限制,部署成 https 會導致測試功能在請求 http 站點時文件上傳功能異常。
如果您是將服務器代理到 nginx 服務器,請配置 nginx 支持 websocket。
在location /添加 proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade";
環境要求
- nodejs(7.6+)
- mongodb(2.6+)
- git
安裝
方式一. 可視化部署[推薦]
執行 yapi server 啟動可視化部署程序,輸入相應的配置和點擊開始部署,就能完成整個網站的部署。部署完成之後,可按照提示信息,執行 node/{網站路徑/server/app.js} 啟動服務器。在瀏覽器打開指定url, 點擊登錄輸入您剛才設置的管理員郵箱,默認密碼(ymfe.org) 登錄系統(默認密碼可在個人中心修改)。
npm install -g yapi-cli --registry https://registry.npm.taobao.org yapi server
方式二. 命令行部署
如果 github 壓縮文件無法下載,或需要部署到一些特殊的服務器,可嘗試此方法
mkdir yapi cd yapi git clone https://github.com/YMFE/yapi.git vendors //或者下載 zip 包解壓到 vendors 目錄 cp vendors/config_example.json ./config.json //復制完成後請修改相關配置 cd vendors npm install --production --registry https://registry.npm.taobao.org npm run install-server //安裝程序會初始化數據庫索引和管理員賬號,管理員賬號名可在 config.json 配置 node server/app.js //啟動服務器後,請訪問 127.0.0.1:{config.json配置的端口},初次運行會有個編譯的過程,請耐心等候
安裝後的目錄結構如下:
|-- config.json |-- init.lock |-- log `-- vendors |-- CHANGELOG.md |-- LICENSE |-- README.md |-- client |-- common |-- config_example.json |-- doc |-- exts |-- nodemon.json |-- npm-debug.log |-- package.json |-- plugin.json |-- server |-- static |-- test |-- webpack.alias.js |-- yapi-base-flow.jpg |-- ydocfile.js `-- ykit.config.js
安裝後,將會在數據庫生成管理員賬號,修改 config.json 管理員賬號將會無效.
服務器管理
推薦使用 pm2 管理 node 服務器啟動,停止,具體使用方法可參考下面的教程:
- 官網文檔
- PM2實用入門指南
升級
方式一. yapi-cli升級[推薦]
升級項目版本是非常容易的,並且不會影響已有的項目數據,只會同步 vendors 目錄下的源碼文件。
cd {項目目錄} yapi ls //查看版本號列表 yapi update //升級到最新版本 yapi update -v v1.1.0 //升級到指定版本
方式二. 命令行升級
cd yapi/venders git pull origin master //或者下載 zip 包解壓到 vendors 目錄 npm install --production --registry https://registry.npm.taobao.org node server/app.js //啟動服務器後,請訪問 127.0.0.1:{config.json配置的端口},初次運行會有個編譯的過程,請耐心等候
配置郵箱
打開項目目錄 config.json 文件,新增 mail 配置, 替換默認的郵箱配置
{ "port": "*****", "adminAccount": "********", "db": {...}, "mail": { "enable": true, "host": "smtp.163.com", //郵箱服務器 "port": 465, //端口 "from": "***@163.com", //發送人郵箱 "auth": { "user": "***@163.com", //郵箱服務器賬號 "pass": "*****" //郵箱服務器密碼 } } }
如何申請STMP服務器賬號和密碼可以參考下面的教程:如何開通電子郵箱的SMTP功能
配置LDAP登錄
打開項目目錄 config.json 文件,添加如下字段:
{ "port": "*****", "adminAccount": "********", "db": {...}, "mail": {...}, "ldapLogin": { "enable": true, "server": "ldap://l-ldapt1.com", "baseDn": "CN=Admin,CN=Users,DC=test,DC=com", "bindPassword": "password123", "searchDn": "OU=UserContainer,DC=test,DC=com", "searchStandard": "mail", // 自定義格式: "searchStandard": "&(objectClass=user)(cn=%s)" "emailPostfix": "@163.com", "emailKey": "mail", "usernameKey": "name" } }
這裏面的配置項含義如下:
- enable 表示是否配置 LDAP 登錄,true(支持 LDAP登錄 )/false(不支持LDAP登錄);
- server LDAP 服務器地址,前面需要加上 ldap:// 前綴,也可以是 ldaps:// 表示是通過 SSL 連接;
- baseDn LDAP 服務器的登錄用戶名,必須是從根結點到用戶節點的全路徑(非必須);
- bindPassword 登錄該 LDAP 服務器的密碼(非必須);
- searchDn 查詢用戶數據的路徑,類似數據庫中的一張表的地址,註意這裏也必須是全路徑;
- searchStandard 查詢條件,這裏是 mail 表示查詢用戶信息是通過郵箱信息來查詢的。註意,該字段信息與LDAP數據庫存儲數據的字段相對應,如果如果存儲用戶郵箱信息的字段是 email, 這裏就需要修改成 email.(1.3.18+支持)自定義filter表達式,基本形式為:&(objectClass=user)(cn=%s), 其中%s會被username替換
- emailPostfix 登陸郵箱後綴(非必須)
- emailKey: ldap數據庫存放郵箱信息的字段(v1.3.21 新增 非必須)
- usernameKey: ldap數據庫存放用戶名信息的字段(v1.3.21 新增 非必須)
重啟服務器後,可以在登錄頁看到如下畫面,說明 ladp 配置成功
禁止註冊
在 config.json 添加 closeRegister:true 配置項,就可以禁止用戶註冊 yapi 平臺,修改完成後,請重啟 yapi 服務器。
{ "port": "*****", "closeRegister":true }
版本通知
(v1.3.19+ 增加)在 config.json 添加 "versionNotify": true 配置項,就可以開啟版本通知功能,默認為 false,修改完成後,請重啟 yapi 服務器。
{ "port": "******", "adminAccount": "*****", "versionNotify": true }
內網部署Yapi接口管理工具