站長資訊網(wǎng)
        最全最豐富的資訊網(wǎng)站

        有關(guān)centos部署yapi的問題記錄

        前言

        這幾天終于完成了為期三個月的公司某個demo版的項(xiàng)目,在這期間和公司的后臺因?yàn)锳PI的事懟過無數(shù)次了,'我的接口沒問題,是你請求的方式不對吧!'、'一定是你請求的參數(shù)不對'……諸如此類問題貫穿這三個月,僅僅因?yàn)槲覀儧]有一個良好的接口管理習(xí)慣,一堆省事的工具沒有被利用起來,接口定義很隨意基本靠口頭傳達(dá)。于是乎,我想YApi接口管理平臺必須先用起來,再者,張鑫旭大大也在為接口管理打call,前端也應(yīng)該把工具用起來。解放生產(chǎn)力,提高效率!

        安裝node

        因?yàn)閥api的安裝必須依賴node,centos環(huán)境安裝node的各種方法google一下,千千萬萬種。而我還是踩到坑了,不知道為什么我根據(jù)wget安裝源碼的方法,失敗了,當(dāng)然也不是完全失敗,是make的時候,等的太久,我直接ctrl+c了。還是用nvm安裝吧,盡管我也不知道合不合理。請代碼說話:

        • Wget下載安裝nvm

             wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash

          或者Curl

             curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
        • 下載完成后加入系統(tǒng)環(huán)境

             source   ~/.bashrc
        • 驗(yàn)證安裝

             command -v nvm
        • 查看遠(yuǎn)程node版本

             nvm ls-remote
        • 安裝所需版本 要求nodejs(7.6+)

             nvm install 10.2.1

        安裝mongdb

        yapi依賴mongodb(2.6+,理論上可配置遠(yuǎn)程的mlab,此處安裝centos的mongdb,前提是確保centos為64位。
        同樣安裝方法也有千千萬萬種,這里用yum安裝

        • 修改yum包管理配置

                     vi /etc/yum.repos.d/mongodb-org-3.4.repo   // 會自動新建mongodb-org-3.4.repo文件
        • 復(fù)制下面配置信息:

                     [mongodb-org-3.4]            name=MongoDB Repository            baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/            gpgcheck=0            enabled=1
        • 安裝mongodb

                     yum install -y mongodb-org   // 一路yes安裝mongodb
        • 修改mongdb配置(公網(wǎng)可訪問:127.0.0.1 => 0.0.0.0)

                     vi /etc/mongod.conf
        • 啟動mongodb

                 systemctl start mongod.service  // 啟動mongodb

        此時如果是阿里云服務(wù)器,安全組添加端口12071就能通過公網(wǎng)地址訪問,當(dāng)然此時是不安全的

        有關(guān)centos部署yapi的問題記錄

        此時任何一個人都能通過連接你的mongdb數(shù)據(jù)篡改你的數(shù)據(jù),這時候試著加下驗(yàn)證試試,這里方法也有千千萬萬種,請自行g(shù)oogle,例如:

        mongo --port 27017  use admin  db.createUser(   {     user: "adminUser",     pwd: "adminPass",     roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]   } )

        ## 部署yapi
        根據(jù)官方文檔,部署方法有兩種,鑒于我前幾天在電腦上用第一種方法安裝時失敗,于是就采用第二種復(fù)雜一點(diǎn)的方法

        mkdir yapi cd yapi git clone https://github.com/YMFE/yapi.git vendors //或者下載 zip 包解壓到 vendors 目錄 cp vendors/config_example.json ./config.json //復(fù)制完成后請修改相關(guān)配置 cd vendors npm install --production --registry https://registry.npm.taobao.org npm run install-server //安裝程序會初始化數(shù)據(jù)庫索引和管理員賬號,管理員賬號名可在 config.json 配置 node server/app.js //啟動服務(wù)器后,請?jiān)L問 127.0.0.1:{config.json配置的端口},初次運(yùn)行會有個編譯的過程,請耐心等候

        此時只是暫時成功部署了,還要永久守護(hù)這個yapi進(jìn)程,這里用到pm2

        • 安裝pm2

               npm i pm2 -g
        • 切換到y(tǒng)api的vendors目錄 執(zhí)行pm2 start

               pm2 start server/app.js  --watch

        有關(guān)centos部署yapi的問題記錄

        正常的話,應(yīng)該能正常訪問到,默認(rèn)接口是3000

        有關(guān)centos部署yapi的問題記錄

        總結(jié)

        至此,已經(jīng)把yapi的源代碼clone了一份到你自己的內(nèi)網(wǎng),當(dāng)然,期間還是會遇到不少的坑,我遇到的主要還是mongdb認(rèn)證的坑:比如認(rèn)證設(shè)置不成功、config文件配置不正確之類的,甚至pm2啟動yapi失敗,總之多嘗試多動手,自己實(shí)在不能解決再去請教大牛。

        ① mongdb認(rèn)證獲取失敗

        有關(guān)centos部署yapi的問題記錄

        解決: 檢查mongdb配置是否正確、認(rèn)證設(shè)置是否成功,yapi的config文件是否配置正確

        ② pm2啟動yapi失敗,一直重啟

        有關(guān)centos部署yapi的問題記錄

        解決:通過pm2 log查看是之前通過npm開啟的服務(wù)沒有結(jié)束,導(dǎo)致端口占用,ctrl+c之前的服務(wù)就行
        前兩個問題貌似都不算是坑,無非就是攔路虎

        ③配置好的郵箱失敗

        有關(guān)centos部署yapi的問題記錄

        解決:那肯定是郵箱配置不對嘍,重來吧!然后就繼續(xù)采坑
        不確定是不是網(wǎng)易郵箱有點(diǎn)問題還是怎么的,換成qq的就行,修改完config.json文件,我以為重npm run install-server就萬事大吉了,其實(shí) –>

        有關(guān)centos部署yapi的問題記錄

        應(yīng)該是mongdb中yapi已經(jīng)存在這個管理員的信息,如果admin下面沒有數(shù)據(jù)的話就直接刪掉這條,如果有點(diǎn)話就修改數(shù)據(jù)吧。我很懶,直接用mongdb compass把整個yapi都刪掉了,刪庫跑路!

        不足之處歡迎拍磚指正!

        有關(guān)centos部署yapi的問題記錄

        yapi開啟https訪問

        雖然對小白來說https然并卵,我還是想搗鼓一下試著通過https來訪問我的yapi,首先證書我是有了,獲取證書的方法也有千千萬萬種,我這里用的阿里云的免費(fèi)證書,總之有證書的話應(yīng)該能拿到證書文件如.pem、.key、.pfx之類文件。技術(shù)菜的我天真的以為還能開啟3000端口的https訪問,結(jié)果啪啪啪打臉打的很清脆,于是乎把https的端口設(shè)定成了8443。大概步驟如下:

        • 獲取證書文件(默認(rèn)有證書并且能拿到.key和.pem文件或者.pfx文件)

          有關(guān)centos部署yapi的問題記錄

        • 上傳證書(我直接放在app.js同級,根據(jù)個人喜好)

          有關(guān)centos部署yapi的問題記錄

        • 修改app.js 是基于koa的 不過我沒有再引用koa-ssl,直接用的node的https方法的第一種

          // 引入相關(guān)的服務(wù)和文件 const fs = require('fs'); const https = require('https'); const options = {     key: fs.readFileSync(__dirname + '/server.key'),     cert: fs.readFileSync(__dirname + '/server.pem')   }; const port = 8443; //... //開啟https端口 https.createServer(options, app.callback()).listen(port)
        • 成功開啟https

          有關(guān)centos部署yapi的問題記錄

        • 同樣還是踩了不少坑

          • 文件徑不對 not such file
            解決:用__dirname
          • mac verify failure
            解決: 用node https提供的第一種方法引入證書文件

        推薦:《centos教程》

        贊(0)
        分享到: 更多 (0)
        網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
        主站蜘蛛池模板: 国产大片91精品免费观看不卡| 天天爽夜夜爽精品视频app| 国产精品久久久久久福利69堂| 久久精品国产一区二区三区不卡| 国产精品无码A∨精品影院 | 国内精品伊人久久久久AV影院| 精品人妻少妇一区二区三区| 午夜精品福利视频| 久久国产精品99国产精| 中文成人无字幕乱码精品区| 精品人妻无码专区中文字幕| 2024最新国产精品一区| www国产精品| 凹凸国产熟女精品视频app| 日韩精品一区二区亚洲AV观看| 亚洲精品岛国片在线观看| 精品国产爽爽AV| 精品国产一区二区三区久久蜜臀 | 99久久99久久精品国产| 精品国产免费一区二区三区香蕉| 国产综合色在线精品| 精品无码人妻一区二区免费蜜桃 | 国产69精品久久久久777| 久久免费的精品国产V∧| 亚洲精品无码久久久久| 午夜精品久久影院蜜桃| 欧美日韩成人精品久久久免费看 | 亚洲?V乱码久久精品蜜桃| 欧美日韩国产成人高清视频,欧美日韩在线精品一 | 国产精品视频一区国模私拍| 精品国际久久久久999波多野| 亚洲AV乱码久久精品蜜桃| 日韩精品无码一区二区中文字幕| 亚洲欧洲成人精品香蕉网| 亚洲av永久无码精品网站| 野狼第一精品社区| 亚洲AV无码成人精品区在线观看| 亚洲AV日韩精品久久久久久久| 久久精品人人做人人爽97| 久久99精品久久久久久动态图| 国产亚洲精品资源在线26u|