目錄
前言
安裝node
安裝mongdb
不足之处欢迎拍砖指正!
yapi开启https访问
首頁 運維 CentOS 有關centos部署yapi的問題記錄

有關centos部署yapi的問題記錄

Jul 10, 2021 pm 04:12 PM
centos

前言

這幾天終於完成了為期三個月的公司某個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中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱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.能量晶體解釋及其做什麼(黃色晶體)
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
威爾R.E.P.O.有交叉遊戲嗎?
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

怎樣優化CentOS HDFS配置 怎樣優化CentOS HDFS配置 Apr 14, 2025 pm 07:15 PM

提升CentOS上HDFS性能:全方位優化指南優化CentOS上的HDFS(Hadoop分佈式文件系統)需要綜合考慮硬件、系統配置和網絡設置等多個方面。本文提供一系列優化策略,助您提升HDFS性能。一、硬件升級與選型資源擴容:盡可能增加服務器的CPU、內存和存儲容量。高性能硬件:採用高性能網卡和交換機,提升網絡吞吐量。二、系統配置精調內核參數調整:修改/etc/sysctl.conf文件,優化TCP連接數、文件句柄數和內存管理等內核參數。例如,調整TCP連接狀態和緩衝區大小

centos關機命令行 centos關機命令行 Apr 14, 2025 pm 09:12 PM

CentOS 關機命令為 shutdown,語法為 shutdown [選項] 時間 [信息]。選項包括:-h 立即停止系統;-P 關機後關電源;-r 重新啟動;-t 等待時間。時間可指定為立即 (now)、分鐘數 ( minutes) 或特定時間 (hh:mm)。可添加信息在系統消息中顯示。

centos和ubuntu的區別 centos和ubuntu的區別 Apr 14, 2025 pm 09:09 PM

CentOS 和 Ubuntu 的關鍵差異在於:起源(CentOS 源自 Red Hat,面向企業;Ubuntu 源自 Debian,面向個人)、包管理(CentOS 使用 yum,注重穩定;Ubuntu 使用 apt,更新頻率高)、支持週期(CentOS 提供 10 年支持,Ubuntu 提供 5 年 LTS 支持)、社區支持(CentOS 側重穩定,Ubuntu 提供廣泛教程和文檔)、用途(CentOS 偏向服務器,Ubuntu 適用於服務器和桌面),其他差異包括安裝精簡度(CentOS 精

centos配置ip地址 centos配置ip地址 Apr 14, 2025 pm 09:06 PM

CentOS 中配置 IP 地址的步驟:查看當前網絡配置:ip addr編輯網絡配置文件:sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0更改 IP 地址:編輯 IPADDR= 行更改子網掩碼和網關(可選):編輯 NETMASK= 和 GATEWAY= 行重啟網絡服務:sudo systemctl restart network驗證 IP 地址:ip addr

如何檢查CentOS HDFS配置 如何檢查CentOS HDFS配置 Apr 14, 2025 pm 07:21 PM

檢查CentOS系統中HDFS配置的完整指南本文將指導您如何有效地檢查CentOS系統上HDFS的配置和運行狀態。以下步驟將幫助您全面了解HDFS的設置和運行情況。驗證Hadoop環境變量:首先,確認Hadoop環境變量已正確設置。在終端執行以下命令,驗證Hadoop是否已正確安裝並配置:hadoopversion檢查HDFS配置文件:HDFS的核心配置文件位於/etc/hadoop/conf/目錄下,其中core-site.xml和hdfs-site.xml至關重要。使用

Centos停止維護2024 Centos停止維護2024 Apr 14, 2025 pm 08:39 PM

CentOS將於2024年停止維護,原因是其上游發行版RHEL 8已停止維護。該停更將影響CentOS 8系統,使其無法繼續接收更新。用戶應規劃遷移,建議選項包括CentOS Stream、AlmaLinux和Rocky Linux,以保持系統安全和穩定。

CentOS上GitLab的備份方法有哪些 CentOS上GitLab的備份方法有哪些 Apr 14, 2025 pm 05:33 PM

CentOS系統下GitLab的備份與恢復策略為了保障數據安全和可恢復性,CentOS上的GitLab提供了多種備份方法。本文將詳細介紹幾種常見的備份方法、配置參數以及恢復流程,幫助您建立完善的GitLab備份與恢復策略。一、手動備份利用gitlab-rakegitlab:backup:create命令即可執行手動備份。此命令會備份GitLab倉庫、數據庫、用戶、用戶組、密鑰和權限等關鍵信息。默認備份文件存儲於/var/opt/gitlab/backups目錄,您可通過修改/etc/gitlab

centos8怎麼重啟網絡 centos8怎麼重啟網絡 Apr 14, 2025 pm 08:57 PM

在 CentOS 8 中重啟網絡需執行以下步驟:停止網絡服務(NetworkManager)重新加載網絡模塊(r8169)啟動網絡服務(NetworkManager)檢查網絡狀態(通過 ping 8.8.8.8)

See all articles