天天看點

CentOS 7 部署 YApi 并內建ladp

YApi 可視化接口管理平台

平台介紹

CentOS 7 部署 YApi 并內建ladp

YApi 是高效、易用、功能強大的 api 管理平台,旨在為開發、産品、測試人員提供更優雅的接口管理服務。可以幫助開發者輕松建立、釋出、維護 API,YApi 還為使用者提供了優秀的互動體驗,開發人員隻需利用平台提供的接口資料寫入工具以及簡單的點選操作就可以實作接口的管理。

文檔:https://github.com/YMFE/yapi

一、準備工作

1.1 環境

作業系統:CentOS 7 (CentOS-7-x86_64-Minimal-1708)

環境要求:

nodejs(7.6+)

mongodb(2.6+)

二、部署nodejs

部署nodejs盡可能選擇偶數版本,因為偶數版本官方有較長的維護時間,故這次選擇8.x。

#擷取資源

curl -sL https://rpm.nodesource.com/setup_8.x | bash -

#安裝

yum install -y nodejs

#檢視node版本

node -v

#檢視npm版本

npm -v

三、部署mongodb

mongodb奇數版(如3.5)是開發版本,故選擇安裝v3.4。

3.1 添加yum源

#修改檔案mongodb-3.4.repo

vim /etc/yum.repos.d/mongodb-3.4.repo

添加下面的内容,wq儲存。

[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

3.2 安裝

yum install -y mongodb-org

3.3 禁用selinux

官方教程有提到selinux對mongodb會産生負面影響,故選擇禁用。

#修改config檔案

vim /etc/selinux/config

将SELINUX=enforcing改為SELINUX=disabled,wq儲存。

#重新開機OS

reboot

3.4 關閉防火牆

由于需要做資料遷移,是以直接省事将防火牆直接關了。

#關閉,并取消開機啟動

systemctl stop firewalld

systemctl disable firewalld

3.5 啟動mongodb

systemctl start mongod

四、部署YApi

4.1 安裝

#npm install -g yapi-cli --registry https://registry.npm.taobao.org

#yapi server

CentOS 7 部署 YApi 并內建ladp

根據提示,浏覽器通路 http://部署YApi伺服器的IP:9090。

CentOS 7 部署 YApi 并內建ladp

填寫完資訊後,點選“開始部署”。(大概等待1分鐘)

CentOS 7 部署 YApi 并內建ladp
CentOS 7 部署 YApi 并內建ladp

# 退出目前狀态

CTRL + C

4.2 修改配置(配置ladp內建)

這裡我們不急着根據提示進行啟動,有些參數我們可以通過修改配置達到。

#修改config.json

vim /root/my-yapi/config.json

修改下面的内容(郵箱可以不用163的),wq儲存。

CentOS 7 部署 YApi 并內建ladp

4.3 啟動

#切換到部署目錄下

cd /root/my-yapi

#啟動服務

node vendors/server/app.js

由于修改了配置,是以直接通路 http://部署YApi伺服器的IP/login。

(ps:沒有進行4.2修改配置的話是通路http://部署YApi伺服器的IP:3000/login)

CentOS 7 部署 YApi 并內建ladp

五、部署Supervisor

Supervisor是守護程序服務,在沒有守護程序之前存在一些問題:

應用程式運作在目前終端發起的子shell中,hangup信号中斷後會導緻應用退出,我們不可能在長期使用的環境中用一個終端去做長連接配接。

當伺服器重新開機後,還是需要人工連上伺服器啟動服務。

程序出現意外終止,等人為發現再連上去開啟,這樣的反應顯然已經慢了。

5.1 安裝

yum install python-setuptools -y

easy_install supervisor

CentOS 7 部署 YApi 并內建ladp

5.2 修改配置

#建立目錄/etc/supervisor

mkdir /etc/supervisor

#建立supervisord.conf模闆檔案

echo_supervisord_conf > /etc/supervisor/supervisord.conf

#修改檔案supervisord.conf

vim /etc/supervisor/supervisord.conf

增加下面的内容,wq儲存。

[include]

files = conf.d/*.conf

��如果服務已啟動,修改配置檔案可用“supervisorctl reload”指令來使其生效)

#建立目錄/etc/supervisor/conf.d/

mkdir -p /etc/supervisor/conf.d/

#修改檔案YApi.conf

vim /etc/supervisor/conf.d/YApiGhost.conf

增加下面的内容,wq儲存。

[program: YApiGhost]

command=node vendors/server/app.js ; 運作程式的指令

directory=/root/my-yapi ; 指令執行的目錄

autorestart=true ; 程式意外退出是否自動重新開機

stderr_logfile=/var/log/YApiGhost.err.log ; 錯誤日志檔案

stdout_logfile=/var/log/YApiGhost.out.log ; 輸出日志檔案

environment=ASPNETCORE_ENVIRONMENT=Production ; 程序環境變量

user=root ; 程序執行的使用者身份

stopsignal=INT

5.3 啟動

#根據supervisord.conf啟動守護程序

supervisord -c /etc/supervisor/supervisord.conf

#檢視程序

ps -ef | grep YApiGhost

如果存在YApiGhost 程序則代表運作成功。

CentOS 7 部署 YApi 并內建ladp

5.4 設定為開機啟動

#修改檔案supervisord.service

vim /usr/lib/systemd/system/supervisord.service

添加下面的内容,wq儲存。

[Unit]

Description=Supervisor daemon

[Service]

Type=forking

ExecStart=/usr/bin/supervisord -c /etc/supervisor/supervisord.conf

ExecStop=/usr/bin/supervisorctl shutdown

ExecReload=/usr/bin/supervisorctl reload

KillMode=process

Restart=on-failure

RestartSec=42s

[Install]

WantedBy=multi-user.target

#開機啟動

systemctl enable supervisord

繼續閱讀