新聞中心
YApi是去哪兒移動(dòng)架構(gòu)組開源的API管理系統(tǒng),之前使用碼云上開源的CrapApi,但是由于原作者很久沒有更新維護(hù)且聽公司開發(fā)人員說YApi功能更為強(qiáng)大,故讓我進(jìn)行部署。

網(wǎng)站建設(shè)公司,為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁設(shè)計(jì)及定制網(wǎng)站建設(shè)服務(wù),專注于企業(yè)網(wǎng)站設(shè)計(jì),高端網(wǎng)頁制作,對(duì)玻璃鋼坐凳等多個(gè)行業(yè)擁有豐富的網(wǎng)站建設(shè)經(jīng)驗(yàn)的網(wǎng)站建設(shè)公司。專業(yè)網(wǎng)站設(shè)計(jì),網(wǎng)站優(yōu)化推廣哪家好,專業(yè)營(yíng)銷推廣優(yōu)化,H5建站,響應(yīng)式網(wǎng)站。
一、準(zhǔn)備工作
1.1 環(huán)境
操作系統(tǒng):centos 7 (CentOS-7-x86_64-Minimal-1708)
環(huán)境要求:
- nodejs(7.6+)
- mongodb(2.6+)
二、部署nodejs
部署nodejs盡可能選擇偶數(shù)版本,因?yàn)榕紨?shù)版本官方有較長(zhǎng)的維護(hù)時(shí)間,故這次選擇8.x。
# 獲取資源
curl -sL https://rpm.nodesource.com/setup_8.x | bash -
# 安裝
yum install -y nodejs
# 查看node版本
node -v
# 查看npm版本
npm -v
三、部署mongodb
mongodb奇數(shù)版(如3.5)是開發(fā)版本,故選擇安裝v3.4。
3.1 添加yum源
# 修改文件mongodb-3.4.repo
vim /etc/yum.repos.d/mongodb-3.4.repo
添加下面的內(nèi)容,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
# 修改config文件
vim /etc/selinux/config
將SELINUX=enforcing改為SELINUX=disabled,wq保存。
# 重啟OS
reboot
3.4 關(guān)閉防火墻
由于需要做數(shù)據(jù)遷移,所以直接省事將防火墻直接關(guān)了。
# 關(guān)閉,并取消開機(jī)啟動(dòng)
systemctl stop firewalld systemctl disable firewalld
3.5 啟動(dòng)
systemctl start mongod
四、部署YApi
4.1 安裝
npm install -g yapi-cli --registry https://registry.npm.taobao.org yapi server
根據(jù)提示,瀏覽器訪問 http://部署YApi服務(wù)器的IP:9090。
填寫完信息后,點(diǎn)擊“開始部署”。(大概等待1分鐘)
# 退出當(dāng)前狀態(tài)
CTRL + C
4.2 修改配置
這里我們不急著根據(jù)提示進(jìn)行啟動(dòng),有些參數(shù)我們可以通過修改配置達(dá)到。
# 修改config.json
vim /root/my-yapi/config.json
修改下面的內(nèi)容(郵箱可以不用163的),wq保存。
{
"port": "80",
"adminAccount": "yizitadmin@yizit.cn",
"db": {
"servername": "127.0.0.1",
"DATABASE": "yapi",
"port": "27017"
},
"mail": {
"enable": true,
"host": "smtp.163.com",
"port": 465,
"from": "可用于發(fā)送郵件的163郵箱",
"auth": {
"user": "163郵箱",
"pass": "163郵箱對(duì)應(yīng)的密碼或授權(quán)碼"
}
}
}
4.3 啟動(dòng)
# 切換到部署目錄下
cd /root/my-yapi
# 啟動(dòng)服務(wù)
node vendors/server/app.js
由于修改了配置,所以直接訪問 http://部署YApi服務(wù)器的IP/login。
(ps:沒有進(jìn)行4.2修改配置的話是訪問http://部署YApi服務(wù)器的IP:3000/login)
五、部署Supervisor
Supervisor是守護(hù)進(jìn)程服務(wù),在沒有守護(hù)進(jìn)程之前存在一些問題:
- 應(yīng)用程序運(yùn)行在當(dāng)前終端發(fā)起的子shell中,hangup信號(hào)中斷后會(huì)導(dǎo)致應(yīng)用退出,我們不可能在長(zhǎng)期使用的環(huán)境中用一個(gè)終端去做長(zhǎng)連接。
- 當(dāng)服務(wù)器重啟后,還是需要人工連上服務(wù)器啟動(dòng)服務(wù)。
- 進(jìn)程出現(xiàn)意外終止,等人為發(fā)現(xiàn)再連上去開啟,這樣的反應(yīng)顯然已經(jīng)慢了。
5.1 安裝
yum install python-setuptools -y easy_install supervisor
5.2 修改配置
# 創(chuàng)建目錄/etc/supervisor
mkdir /etc/supervisor
# 創(chuàng)建supervisord.conf模板文件
echo_supervisord_conf > /etc/supervisor/supervisord.conf
# 修改文件supervisord.conf
vim /etc/supervisor/supervisord.conf
增加下面的內(nèi)容,wq保存。
[include] files = conf.d/*.conf
??如果服務(wù)已啟動(dòng),修改配置文件可用“supervisorctl reload”命令來使其生效)
# 創(chuàng)建目錄/etc/supervisor/conf.d/
mkdir -p /etc/supervisor/conf.d/
# 修改文件YApi.conf
vim /etc/supervisor/conf.d/YApiGhost.conf
增加下面的內(nèi)容,wq保存。
[program: YApiGhost] command=node vendors/server/app.js ; 運(yùn)行程序的命令 directory=/root/my-yapi ; 命令執(zhí)行的目錄 autorestart=true ; 程序意外退出是否自動(dòng)重啟 stderr_logfile=/var/log/YApiGhost.err.log ; 錯(cuò)誤日志文件 stdout_logfile=/var/log/YApiGhost.out.log ; 輸出日志文件 environment=ASPNETCORE_ENVIRONMENT=Production ; 進(jìn)程環(huán)境變量 user=root ; 進(jìn)程執(zhí)行的用戶身份 stopsignal=INT
5.3 啟動(dòng)
# 根據(jù)supervisord.conf啟動(dòng)守護(hù)進(jìn)程
supervisord -c /etc/supervisor/supervisord.conf
# 查看進(jìn)程
ps -ef | grep YApiGhost
如果存在YApiGhost 進(jìn)程則代表運(yùn)行成功。
5.4 設(shè)置為開機(jī)啟動(dòng)
# 修改文件supervisord.service
vim /usr/lib/systemd/system/supervisord.service
添加下面的內(nèi)容,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
# 開機(jī)啟動(dòng)
systemctl enable supervisord
1.https://github.com/YMFE/yapi
3.https://github.com/nodesource/distributions#rpm
5.https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/
文章名稱:CentOS7部署YApi
標(biāo)題鏈接:http://www.dlmjj.cn/article/dphsgej.html


咨詢
建站咨詢
