CentOS部署yapi

轉載自 https://www.linuxidc.com/Linux/2018-01/150513.htmnode

在mongoDB添加yum源時,源路徑有修改,原文中的路徑404不可用python

 

1、準備工做linux

1.1 環境git

操做系統:CentOS 7 (租了個阿里雲服務器  CentOS 7.3 64位github

環境要求:mongodb

  • nodejs(7.6+)
  • mongodb(2.6+)

 

2、部署nodejsshell

部署nodejs儘量選擇偶數版本,由於偶數版本官方有較長的維護時間,故此次選擇8.x。npm

# 獲取資源json

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

# 安裝vim

yum install -y nodejs

# 查看node版本

node -v

# 查看npm版本

npm -v

 

3、部署mongodb

 mongodb裝的是2.6

3.1 添加yum源

 # 修改文件mongodb.repo

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

 添加下面的內容,wq保存。 

[mongodb-org]
name=MongoDB Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/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 啓動

systemctl start mongod


4、部署YApi

 4.1 安裝

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

根據提示,瀏覽器訪問 http://部署YApi服務器的IP:9090。

 

填寫完信息後,點擊「開始部署」。(大概等待1分鐘)

 

# 退出當前狀態

CTRL + C

 4.2 修改配置

這裏咱們不急着根據提示進行啓動,有些參數咱們能夠經過修改配置達到。

 # 修改config.json 

vim /root/my-yapi/config.json

修改下面的內容(我用的qq郵箱,不一樣的郵箱host,port有所不一樣),wq保存。 

{
  "port": "80", // 可不改,80是http協議的默認端口,這樣修改訪問時能夠不輸入ip.不改則用3000端口訪問
  "adminAccount": "yizitadmin@yizit.cn",
  "db": {
       "servername": "127.0.0.1",
       "DATABASE": "yapi",
       "port": "27017"
   },
  "mail": {
       "enable": true,
       "host": "smtp.qq.com",
       "port": 465,
       "from": "可用於發送郵件的郵箱",
       "auth": {
           "user": "郵箱",
           "pass": "郵箱對應的密碼或受權碼"
       }
  }
} 

 4.3 啓動

 # 切換到部署目錄下 

cd /root/my-yapi

 # 啓動服務 

node vendors/server/app.js

 因爲修改了配置,因此直接訪問 http://部署YApi服務器的IP/login。

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




5、部署Supervisor

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

  1.  應用程序運行在當前終端發起的子shell中,hangup信號中斷後會致使應用退出,咱們不可能在長期使用的環境中用一個終端去作長鏈接。
  2.  當服務器重啓後,仍是須要人工連上服務器啓動服務。
  3.  進程出現意外終止,等人爲發現再連上去開啓,這樣的反應顯然已經慢了。

5.1 安裝

yum install python-setuptools -y
easy_install supervisor

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 進程則表明運行成功。

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

參考資料:

 1.https://github.com/YMFE/yapi

 2.http://www.linuxidc.com/Linux/2018-01/150512.htm

 3.https://github.com/nodesource/distributions#rpm

 5.https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/

本文永久更新連接地址http://www.linuxidc.com/Linux/2018-01/150513.htm

相關文章
相關標籤/搜索