阿里云服務器,CentOS7.9上安裝YApi 接口管理平臺

? ?

目錄

1.node安裝

1.1下載node,解壓

1.2 部署bin文件

1.3 安裝mongodb

2.啟動yapi

2.1? 前置命令

2.2 啟動服務

3.利用pm2方便服務管理維護

3.1.安裝pm2

3.2 常用 PM2 命令

4.常見問題

4.1. 確認 MongoDB 是否安裝

4.2. 安裝 MongoDB(若未安裝)

4.3. 如果 MongoDB 已安裝但服務未啟動

4.4. 檢查 MongoDB 數據目錄

4.5. 重新啟動 YApi

4.6. 驗證 YApi 數據持久化


阿里云服務器申請過程,這個步驟省略了,以下是搭建YApi - 接口管理平臺的過程

安裝Yapi環境要求:

nodejs(7.6+)
mongodb(2.6+)
git

1.node安裝

?1.1下載node,解壓

使用wget直接下載

命令:cd /usr/local
然后輸入命令:
wget https://nodejs.org/download/release/v12.18.4/node-v12.18.4-linux-x64.tar.xz
解壓縮
xz -d node-v12.18.4-linux-x64.tar.xz
tar -xf node-v12.18.4-linux-x64.tar 

下載后。mv 命令重命名下:

 mv node-v12.18.4-linux-x64 node

?

1.2 部署bin文件

命令

ln -s /usr/local/node/bin/node /usr/bin/node
ln -s /usr/local/node/bin/npm /usr/bin/npm
ln -s /usr/local/node/bin/npx /usr/bin/npx

1.3 安裝mongodb

??下載mongodb壓縮包到本地,解壓縮文件,移動并重命名mongodb

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.4.22.tgz

# 解壓壓縮包
tar -zxvf mongodb-linux-x86_64-rhel70-4.4.22.tgz
# 移動node位置并重新命名
mv mongodb-linux-x86_64-rhel70-4.4.22 /usr/local/mongodb

配置mongoDB文件夾和配置文件,進入mongodb目錄 cd /usr/local/mongodb
執行mkdir data用來存放mongodb的數據庫數據
執行mkdir logs用來存放mongodb運行產生的日志

創建mongodb.conf文件

touch mongodb.conf
更改權限:
chmod +x mongodb.conf

然后復制下面的命令到mongodb.conf里面,vi mongodb.conf

# 日志文件位置
logpath=/usr/local/mongodb/logs/mongod.log
# 以追加方式寫入日志
logappend=true
# 是否以守護進程方式運行
fork=true
# 默認27017
port = 27017
# 數據庫文件位置
dbpath=/usr/local/mongodb/data
# 允許哪個ip的連接,0.0.0.0表示任意ip都可以連接
bind_ip=0.0.0.0
# 是否以安全認證方式運行,默認是不認證的非安全方式
auth = false

將mongoDB的命令,添加到profile中

vim /etc/profile
# 文件尾部添加一行
export PATH=/usr/local/mongodb/bin:$PATH

# 刷新使修改生效
source /etc/profile

啟動mongodb,進入到 /usr/local/mongodb/bin 下面,執行

mongod -f mongodb.conf

?出現successfully,代表啟動成功。

2.啟動yapi

2.1? 前置命令

然后輸入命令:

回到主目錄
cd 執行命令清除npm緩存:
npm cache clean --force執行命令取消ssl驗證
npm config set strict-ssl false然后重新執行npm install -g yapi-cli --registry https://registry.npm.taobao.org

然后輸入命令:

切換目錄:
cd /usr/local/node/bin./yapi server

?2.2 啟動服務

在瀏覽器輸入:http://101.132.58.85:9090/,選擇這個版本

初始化管理員賬號成功,賬號名:"admin@admin.com",密碼:"ymfe.org"

部署成功,請切換到部署目錄,輸入: "node vendors/server/app.js" 指令啟動服務器, 然后在瀏覽器打開 http://127.0.0.1:3000 訪問

如果無法訪問這個頁面,得在阿里云安全組設置端口訪問

?啟動yapi

如果不知道yapi安裝目錄,用命令:
find / -name "config.json" | grep yapi然后到目錄
/usr/local/node/bin/my-yapi/vendors/server啟動yapi
node app.js后臺運行,關掉窗口后yapi還在
node app.js &

YApi-高效、易用、功能強大的可視化接口管理平臺

3.利用pm2方便服務管理維護

3.1.安裝pm2

? ?由于命令管理yapi不方便比如想停止yapi進程:

[root@iZuf6iom68zjwhoqb0cw70Z server]# ps aux | grep "node app.js"
root      4476  0.0  0.0 112812   992 pts/1    S+   22:08   0:00 grep --color=auto node app.js
root     30798  0.6  3.3 659992 59804 pts/0    Sl   21:57   0:03 node app.js
[root@iZuf6iom68zjwhoqb0cw70Z server]# kill -9 30798  # 強制終止
[root@iZuf6iom68zjwhoqb0cw70Z server]# 
# 安裝 PM2
npm install pm2 -g

# 切換到 YApi 目錄
cd /usr/local/node/bin/my-yapi/vendors/server# 用 PM2 啟動 YApi(命名為 yapi)
pm2 start app.js --name yapi

如果報錯誤:-bash: pm2: command not found

那么是環境變量沒有安裝

npm list -g | grep pm2

如果輸出中包含?pm2(例如?/usr/local/lib/node_modules/pm2),說明已安裝,但系統找不到它。

運行以下命令,查看 npm 全局包的安裝位置:

npm config get prefix

典型輸出可能是:

  • /usr/local(默認)

  • /usr/local/node(自定義路徑)

  • /root/.nvm/versions/node/[版本號](如果使用 nvm 管理 Node.js)

假設輸出是?/usr/local/node,則 PM2 的可執行文件路徑為:
/usr/local/node/bin/pm2

將路徑添加到?PATH?環境變量

vi /etc/profile
添加
export PATH=$PATH:/usr/local/node/binsource  /etc/profile確保 Node.js 和 npm 已正確安裝

?再次執行

# 切換到 YApi 目錄
cd /usr/local/node/bin/my-yapi/vendors/server# 用 PM2 啟動 YApi(命名為 yapi)
pm2 start app.js --name yapi# 設置開機自啟
pm2 startup
pm2 save

3.2 常用 PM2 命令

# 查看 YApi 運行狀態
pm2 status yapi# 查看日志
pm2 logs yapi# 重啟 YApi
pm2 restart yapi# 停止 YApi
pm2 stop yapi# 監控資源占用
pm2 monit

瀏覽器訪問?http://你的服務器IP:3000?確認 YApi 界面是否加載。

完成后,YApi 將由 PM2 守護運行,即使服務器重啟也會自動恢復。

4.常見問題

如果遇到注冊一個賬號隔一會或第二天就提示不存在了

4.1. 確認 MongoDB 是否安裝

運行以下命令檢查 MongoDB 是否已安裝:

bash

復制

下載

# 檢查 MongoDB 程序是否存在
which mongod# 或查看安裝包
rpm -qa | grep mongo
  • 如果無輸出,說明?MongoDB 未安裝,需先安裝。

  • 如果有輸出(如?mongodb-org-server-4.4.x),說明已安裝但服務未正確配置。


4.2. 安裝 MongoDB(若未安裝)

步驟 1:添加 MongoDB 官方倉庫

bash

復制

下載

# 創建 MongoDB 倉庫文件
cat <<EOF | sudo tee /etc/yum.repos.d/mongodb-org-4.4.repo
[mongodb-org-4.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc
EOF

步驟 2:安裝 MongoDB

bash

復制

下載

sudo yum install -y mongodb-org# 啟動服務并設置開機自啟
sudo systemctl start mongod
sudo systemctl enable mongod

步驟 3:驗證服務狀態

bash

復制

下載

sudo systemctl status mongod  # 確認狀態為 "active (running)"

4.3. 如果 MongoDB 已安裝但服務未啟動

可能原因

  • 服務名稱不符(如某些系統使用?mongodb?而非?mongod)。

  • 服務文件未正確生成。

解決方案

bash

復制

下載

# 嘗試其他常見服務名稱
sudo systemctl status mongodb# 手動查找服務文件
ls /usr/lib/systemd/system/mongod*  # 或 mongodb*# 如果存在服務文件但未啟動
sudo systemctl start mongod
sudo systemctl enable mongod

4.4. 檢查 MongoDB 數據目錄

YApi 的數據依賴 MongoDB,需確保數據目錄存在且權限正確:

bash

復制

下載

# 默認數據目錄
ls -l /var/lib/mongo# 如果目錄不存在,手動創建并授權
sudo mkdir -p /var/lib/mongo
sudo chown -R mongod:mongod /var/lib/mongo

4.5. 重新啟動 YApi

確保 MongoDB 正常運行后,重啟 YApi:

bash

復制

下載

cd /usr/local/node/bin/my-yapi/vendors/server
pm2 restart app.js --name yapi

4.6. 驗證 YApi 數據持久化

連接到 MongoDB 檢查 YApi 的賬號數據是否存在:

bash

復制

下載

mongo
use yapi
db.user.find()  # 查看已注冊的用戶
  • 如果?user?集合為空,說明之前的數據未持久化,需重新注冊賬號并觀察是否再次丟失。

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/90633.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/90633.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/90633.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

阿里云錯題集分享

有最近想要考試阿里云的可以私信我 &#xff0c;一起加油錯題集1.在使用阿里云的負載均衡SLB實例時&#xff0c;做了如下健康檢查的配置:成功響應和超時響應時間均為1秒&#xff0c;健康檢查間隔為2秒&#xff0c;不健康閾值為3&#xff0c;健康閾值為3。即對于確認一個云服務器…

Android 12 - 部分相機橫屏顯示方案

1.相機過渡界面方向旋轉 Android 10 - 相機過渡界面默認角度 同A10 有些區別&#xff0c;再次增加記錄修改。 這個文件沒有修改&#xff0c;只是說明 src/com/android/camera/CameraActivity.javaprivate void freezeScreenCommon(boolean async) {long startTime System.…

Operation Blackout 2025 Phantom Check hayabusa+ControlSet001+VirtualBox

QAQA攻擊者使用哪個 WMI 類來檢索型號和制造商信息以進行虛擬化檢測&#xff1f;Win32_ComputerSystem攻擊者執行了哪個 WMI 查詢來檢索計算機的當前溫度值&#xff1f;SELECT CurrentTemperature FROM MSAcpi_ThermalZoneTemperature攻擊者加載了 PowerShell 腳本以檢測虛擬化…

《O-PAS?標準的安全方法》白皮書:為工業自動化系統筑起安全防線

The Open Group 最新白皮書《O-PAS?標準的安全方法》重磅發布&#xff0c;為流程工業在邁向開放架構與多供應商互操作的過程中&#xff0c;指明了安全實踐的方向。O-PAS?標準的安全方法ABOUT PUBLICATION亮點一&#xff1a;首次系統闡釋 O-PAS? 標準安全方法與 IEC/ISA 6244…

UML 圖類型全解析:結構圖與行為圖分類詳解

作為軟件架構的核心建模語言&#xff0c;UML&#xff08;統一建模語言&#xff09;通過14種標準圖表提供系統多維度視角。這些圖表分為結構圖&#xff08;靜態模型&#xff09; 和 行為圖&#xff08;動態模型&#xff09; 兩大類&#xff0c;覆蓋從需求到實現的完整生命周期。…

lodash不支持 Tree Shaking 而 lodash-es可以

lodash 無法有效支持 Tree Shaking 而 lodash-es 可以&#xff0c;核心區別在于?模塊規范、文件結構和靜態分析兼容性?。以下是具體原因分析&#xff1a; ?? 一、模塊規范差異&#xff08;核心原因&#xff09; lodash&#xff08;CommonJS 規范&#xff09;? 使用 requir…

java+vue+SpringBoo高校實習信息發布網站(程序+數據庫+報告+部署教程+答辯指導)

源代碼數據庫LW文檔&#xff08;1萬字以上&#xff09;開題報告答辯稿ppt部署教程代碼講解代碼時間修改工具 技術實現 開發語言&#xff1a;后端&#xff1a;Java 前端&#xff1a;vue框架&#xff1a;springboot數據庫&#xff1a;mysql 開發工具 JDK版本&#xff1a;JDK1.8 數…

uniApp實戰五:自定義組件實現便捷選擇

文章目錄1.最終效果預覽2.快速選擇組件封裝3.彈框組件封裝4.組件邏輯實現5.組件樣式6.頁面引入1.最終效果預覽 2.快速選擇組件封裝 <uv-cell :border"isShowBorder"><template v-slot:title><text class"title-key">{{ title }}</te…

AI在垂直領域的深度應用:醫療、金融與自動駕駛的革新之路

AI在垂直領域的深度應用:醫療、金融與自動駕駛的革新之路 一、醫療領域:AI驅動的精準診療與效率提升 1. 醫學影像診斷 AI算法通過深度學習技術,已實現對X光、CT、MRI等影像的快速分析,輔助醫生檢測癌癥、骨折等疾病。例如,Google DeepMind的AI系統在乳腺癌篩查中,誤檢率…

模塊三:現代C++工程實踐(4篇)第二篇《性能調優:Profile驅動優化與匯編級分析》

性能調優&#xff1a;Profile驅動優化與匯編級分析實戰&#xff1a;優化矩陣乘法至SSE/AVX指令集&#xff08;終極加強版&#xff09;一、性能瓶頸的全鏈路診斷&#xff08;深度擴展&#xff09;1.1 硬件性能計數器的極致利用PMU事件深度定制&#xff1a;# 捕獲L1緩存事件與分支…

二刷 黑馬點評 商戶查詢緩存

緩存 數據交換的緩沖區&#xff0c;俗稱的緩存是緩沖區內的數據&#xff0c;一般從數據庫中獲取&#xff0c; 例1:Static final ConcurrentHashMap<K,V> map new ConcurrentHashMap<>(); 本地用于高并發例2:static final Cache<K,V> USER_CACHE CacheBuild…

【前端】【組件庫開發】【原理】【無框架開發】現代網頁彈窗開發指南:從基礎到優化

效果 現代網頁彈窗開發指南&#xff1a;從基礎到優化 彈窗&#xff08;Modal&#xff09;作為網頁交互的重要組件&#xff0c;在用戶通知、確認操作和表單輸入等場景中廣泛應用。本文將循序漸進地講解彈窗的技術實現與最佳實踐。 一、彈窗基礎概念 彈窗是一種覆蓋在主內容之…

【操作系統】線程

JavaEE—線程 一、進程與線程 1.包含管理 2.資源布局 2.1公共資源 2.2私有資源 二、并發編程 1.多線程優勢 1.1創建 1.1.1多線程 1.1.2多進程 1.2通信 1.2.1多線程 1.2.2多進程 1.3調度 1.3.1多線程 1.3.2多進程 1.4銷毀 1.4.1多線程 1.4.2多進程 2.多進程…

React 自定義Hook——頁面或元素滾動到底部監聽 Hook

功能簡介 useReachBottom 是一個 React 自定義 Hook&#xff0c;支持監聽頁面&#xff08;body&#xff09;或任意可滾動元素&#xff08;如 div&#xff09;是否滾動到底部。它能幫助你在用戶滑動到底部時觸發加載更多、顯示提示等操作&#xff0c;極大提升前端交互體驗。 亮…

當Powerbi遇到quickbi,性能優化方式對比

powerbi性能優化對于powerbi&#xff0c;性能優化可以從15個方面考慮&#xff1a; 1.過濾源數據【quickbi數據集過濾或sql過濾】2.刪除無關列 【quickbi不選字段或sql不查詢】3.聚合分析粒度 【quickbi使用sql聚合或計算字段聚合】4.整理字段 【quickbi使用sql聚合或計算字段聚…

ValueConverter轉換器WPF

屬性搭橋 比如BoolToVisibility 創建兩個屬性 Bool Visibility 這樣不好 混亂了viewmodels 降低了泛用性系統自帶的convertor <Window.Resources><BooleanToVisibilityConverter x:Key"booltovis"></BooleanToVisibilityConverter><…

Qt數據庫編程詳解:SQLite實戰指南

Qt數據庫編程詳解&#xff1a;SQLite實戰指南 目錄 SQLite數據庫簡介Qt數據庫核心類數據庫操作全流程CRUD操作實戰運行效果展示 1. SQLite數據庫簡介 SQLite是Qt內置的輕量級嵌入式數據庫&#xff1a; #mermaid-svg-OiZ2cgq9n1G69iH5 {font-family:"trebuchet ms",…

FastAPI 與 OpenIddict 的微服務鑒權整合方案

架構概述基于微服務的身份認證架構采用OAuth 2.0/OpenID Connect協議&#xff0c;OpenIddict作為認證服務器&#xff0c;FastAPI作為資源服務器。系統包含三個核心組件&#xff1a;認證服務、API網關和業務微服務。OpenIddict負責頒發令牌&#xff0c;FastAPI通過JWT驗證訪問權…

計算兩個點的歐式距離

目錄 一、概述 二、公式 1、二維空間 2、三維空間 3、n 維空間 三、python實現 一、概述 歐式距離&#xff08;Euclidean Distance&#xff09;是一種在歐幾里得空間中度量兩個點之間距離的常用方法&#xff0c;其公式根據空間維度的不同而不同 二、公式 1、二維空間 對于二…

八股訓練--RabbitMQ

一、經典問題 1.為什么要用MQ&#xff1f; MQ的作用主要是3個&#xff0c; 第一個是流量削峰&#xff1a;當某個活動舉行時&#xff0c;訪問量可能是平時的幾百倍&#xff0c;可能一下會把服務器弄崩潰&#xff0c;所以通過MQ的形式&#xff0c;引入中間者&#xff0c;客戶端…