搜尋
首頁運維CentOS有關centos部署yapi的問題記錄

前言

這幾天終於完成了為期三個月的公司某個demo版的項目,在這期間和公司的後台因為API的事懟過無數次了,'我的接口沒問題,是你要求的方式不對! '、'一定是你請求的參數不對'......諸如此類問題貫穿這三個月,僅僅因為我們沒有一個良好的接口管理習慣,一堆省事的工具沒有被利用起來,接口定義很隨意基本靠口頭傳達。於是乎,我想YApi介面管理平台必須先用起來,再者,張鑫旭大大也在為介面管理打call,前端也應該把工具用起來。解放生產力,提高效率!

安裝node

因為yapi的安裝必須依賴node,centos環境安裝node的各種方法google一下,千千萬萬種。而我還是踩到坑了,不知道為什麼我根據wget安裝源碼的方法,失敗了,當然也不是完全失敗,是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
  • 下載完成後加入系統環境

       source   ~/.bashrc
  • 驗證安裝

       command -v nvm
  • 查看遠端node版本

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

       nvm install 10.2.1

安裝mongdb

yapi依賴mongodb(2.6 ,理論上可設定遠端的mlab,此處安裝centos的mongdb,前提是確保centos為64位元。
同樣安裝方法也有千千萬萬種,這裡用yum安裝

  • #修改yum套件管理設定

               vi /etc/yum.repos.d/mongodb-org-3.4.repo   // 会自动新建mongodb-org-3.4.repo文件
  • ##複製以下設定資訊:

               [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設定(公網可存取:127.0.0.1 => 0.0.0.0 )

               vi /etc/mongod.conf
  • 啟動mongodb

           systemctl start mongod.service  // 启动mongodb
此時如果是阿里雲端伺服器,安全群組新增連接埠12071就能透過公網位址訪問,當然此時是不安全的

有關centos部署yapi的問題記錄

此時任何一個人都能透過連接你的mongdb數據篡改你的數據,這時候試著加下驗證試試,這裡方法也有千千萬萬種,請自行google,例如:

mongo --port 27017

use admin

db.createUser(
  {
    user: "adminUser",
    pwd: "adminPass",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
)
## 部署yapi

根據官方文檔,部署方法有兩種,鑑於我前幾天在電腦上用第一種方法安裝時失敗,於是就採用第二種複雜一點的方法

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配置的端口},初次运行会有个编译的过程,请耐心等候
此時只是暫時成功部署了,還要永久守護這個yapi進程,這裡用到pm2

  • 安裝pm2

         npm i pm2 -g
  • 切換到yapi的vendors目錄執行pm2 start

         pm2 start server/app.js  --watch

有關centos部署yapi的問題記錄

正常的话,应该能正常访问到,默认接口是3000

有關centos部署yapi的問題記錄

總結

至此,已經把yapi的原始碼clone了一份到你自己的內網,當然,期間還是會遇到不少的坑,我遇到的主要還是mongdb認證的坑:例如認證設定不成功、config檔案設定不正確之類的,甚至pm2啟動yapi失敗,總之多嘗試多動手,自己實在不能解決再去請教大牛。

① mongdb認證取得失敗

有關centos部署yapi的問題記錄

解決: 檢查mongdb設定是否正確、認證設定是否成功,yapi的config檔是否設定正確

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

有關centos部署yapi的問題記錄

解決:透過pm2 log查看是先前透過npm開啟的服務沒有結束,導致連接埠佔用,ctrl c之前的服務就行

前兩個問題似乎都不算是坑,無非就是攔路虎

③配置好的郵箱失敗

有關centos部署yapi的問題記錄

解決:那肯定是郵箱設定不對嘍,重來吧!然後就繼續採坑

不確定是不是網易信箱有點問題還是怎麼的,換成qq的就行,修改完config.json文件,我以為重npm run install-server就萬事大吉了,其實-->

有關centos部署yapi的問題記錄

應該是mongdb中yapi已經存在這個管理員的訊息,如果admin下面沒有資料的話就直接刪掉這條,如果有點話就修改資料吧。我很懶,直接用mongdb compass把整個yapi都刪掉了,刪庫跑路!

不足之处欢迎拍砖指正!

有關centos部署yapi的問題記錄

yapi开启https访问

虽然对小白来说https然并卵,我还是想捣鼓一下试着通过https来访问我的yapi,首先证书我是有了,获取证书的方法也有千千万万种,我这里用的阿里云的免费证书,总之有证书的话应该能拿到证书文件如.pem、.key、.pfx之类文件。技术菜的我天真的以为还能开启3000端口的https访问,结果啪啪啪打脸打的很清脆,于是乎把https的端口设定成了8443。大概步骤如下:

  • 获取证书文件(默认有证书并且能拿到.key和.pem文件或者.pfx文件)

    有關centos部署yapi的問題記錄

  • 上传证书(我直接放在app.js同级,根据个人喜好)

    有關centos部署yapi的問題記錄

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

    // 引入相关的服务和文件
    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

    有關centos部署yapi的問題記錄

  • 同样还是踩了不少坑

    • 文件径不对 not such file
      解决:用__dirname
    • mac verify failure
      解决: 用node https提供的第一种方法引入证书文件

推荐:《centos教程

以上是有關centos部署yapi的問題記錄的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:segmentfault。如有侵權,請聯絡admin@php.cn刪除
Centos的中斷:討論Centos的中斷:討論Apr 11, 2025 am 12:09 AM

CentOS已停止維護,轉向CentOSStream,不再提供適合生產環境的版本。影響包括系統遷移和企業重新評估Linux策略。替代方案有:1.遷移到RHEL,2.轉向Ubuntu或Debian,3.考慮CentOSStream作為測試平台,4.使用AlmaLinux或RockyLinux。建議儘早制定遷移計劃,評估現有系統和團隊需求。

Ansible:基礎架構作為代碼的CentOS自動化Ansible:基礎架構作為代碼的CentOS自動化Apr 10, 2025 am 09:40 AM

使用Ansible可以實現CentOS的自動化管理。具體步驟包括:1)編寫playbook來定義任務,如安裝和配置Apache;2)通過SSH協議執行playbook,確保系統配置的一致性;3)使用條件判斷和循環功能來處理複雜場景;4)優化性能和遵循最佳實踐,如使用異步任務和優化inventory文件。

CENTOS面試問題:ACE您的Linux系統管理員面試CENTOS面試問題:ACE您的Linux系統管理員面試Apr 09, 2025 am 12:17 AM

CentOS面試常見問題及解答包括:1.使用yum或dnf命令安裝軟件包,如sudoyuminstallnginx。 2.通過useradd和groupadd命令管理用戶和組,如sudouseradd-m-s/bin/bashnewuser。 3.使用firewalld配置防火牆,如sudofirewall-cmd--permanent--add-service=http。 4.設置自動更新使用yum-cron,如sudoyuminstallyum-cron並配置apply_updates=yes。

CENTOS故障排除:診斷和解決常見問題CENTOS故障排除:診斷和解決常見問題Apr 08, 2025 am 12:09 AM

在CentOS系統中,如何診斷和解決常見問題?首先,檢查啟動日誌解決系統啟動失敗;其次,檢查網絡配置文件解決網絡問題;最後,使用Yum命令解決軟件包管理問題。通過這些步驟,你可以有效地診斷和解決CentOS系統中的常見問題。

CENTOS安全硬化:保護服務器免受入侵者的侵害CENTOS安全硬化:保護服務器免受入侵者的侵害Apr 07, 2025 am 12:05 AM

CentOS服務器安全加固可以通過以下步驟實現:1.保持系統軟件更新,使用“sudoyumupdate-y”命令;2.禁用不必要的服務,如“sudosystemctldisablecups&&sudosystemctlstopcups”;3.配置SELinux為強制模式,使用“sudosetenforce1&&sudosed-i's/SELINUX=permissive/SELINUX=enforcing/g'/etc/selinux/config”命令;4.定期

高級CentOS系統管理:掌握命令行高級CentOS系統管理:掌握命令行Apr 06, 2025 am 12:10 AM

CentOS的高級命令行管理技巧包括:1.使用systemctl管理系統服務,2.使用top監控系統資源,3.使用yum管理軟件包,4.使用find和xargs批量處理文件,5.使用rsync優化文件複製。這些技巧能提高工作效率,解決常見問題,並優化系統性能。

CentOS服務器管理:用戶帳戶,權限和服務CentOS服務器管理:用戶帳戶,權限和服務Apr 05, 2025 am 12:01 AM

在CentOS中,如何管理用戶賬戶、權限和服務? 1.使用useradd命令創建用戶,2.通過usermod和groupmod命令管理用戶權限,3.使用systemd管理服務,如systemctlstart/stop/status命令。通過這些步驟,可以高效管理CentOS服務器,確保其安全和高效運行。

CentOS備份和恢復:確保數據完整性和可用性CentOS備份和恢復:確保數據完整性和可用性Apr 04, 2025 am 12:02 AM

在CentOS中進行備份和恢復的步驟包括:1.使用tar命令進行基本備份和恢復,如tar-czvf/backup/home_backup.tar.gz/home備份/home目錄;2.使用rsync進行增量備份和恢復,如rsync-avz/home//backup/home_backup/進行首次備份。這些方法確保數據的完整性和可用性,適用於不同場景的需求。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境