CentOS 7.6 部署可視化接口平台YAPI

一、環境要求:
       nodejs 版本在7.6以上
       mongodb版本在2.6以上
   :無外網需要配置代理 vi /etc/profile     

http_proxy=http://username:password@yourproxy:8080/
https_proxy=https://username:password@yourproxy:8080/
export http_proxy
export https_proxy

二、安裝nodejs (版本8.17.0)   
    方式一:
    2.1.查看是否安裝gcc-c++
        yum list installed | grep gcc-c++
    2.2.下載nodejs
        wget https://nodejs.org/dist/v8.17.0/node-v8.17.0.tar.gz
    2.3.解壓並進入目錄:
        tar zxvf node-v8.17.0.tar.gz
        cd node-v8.17.0
    2.4.配置:
        ./configure
    2.5.編譯及安裝:
        make & make install
      2.6.檢查
        node --version
        npm --version
    方式二:
        curl -sL https://rpm.nodesource.com/setup_8.x | bash -
        yum install nodejs    
三、安裝mongodb (版本4.2)
    3.1.設置yum源
        vim /etc/yum.repos.d/mongodb-org-4.2.repo

[mongodb-org-4.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc

    3.2.安裝
        yum install mongodb-org
    3.3.啟動服務
        systemctl enable mongodb
        systemctl start mongodb    
    如果在使用過程中遇到mongod服務器無法啟動處理:
        報錯信息:Process: 3831 ExecStart=/usr/bin/mongod $OPTIONS (code=exited, status=14)

        
        解决方案:修改/tmp/*.sock用戶群組
            chown mongod:mongod mongodb-27017.sock    
四、部署YAPI
    4.1.無外網需要配置NPM代理(有外網可忽略)
        npm config set proxy http://username:password@yourproxy:8080/
        npm config set https-proxy http://username:password@yourproxy:8080/
        註:查看npm config list        
    4.2.部署分可視化部署和命令部署,由於網絡問題本實例採用命令部署
        4.2.1.方法一:可視化部署(/usr/local/bin/yapi)    
                npm install -g yapi-cli --registry https://registry.npm.taobao.org
            啟動YAPI:yapi server
            訪問瀏覽器進行部署            
        4.2.2.方法二:命令部署
            參考:https://hellosean1025.github.io/yapi/devops/index.html / https://github.com/YMFE/yapi            
           

mkdir /var/www/html/yapi  //建立目錄
cd /var/www/html/yapi   //切換目錄
wget https://github.com/YMFE/yapi/archive/v1.8.5.tar.gz //下載yapi
tar -zxvf v1.8.5.tar.gz
mv yapi-1.8.5 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配置的端口},初次运行会有个编译的过程,请耐心等候 

        註: 初始化管理员账号成功,账号名:"[email protected]",密码:"ymfe.org"
        4.2.3.基於AD賬號登錄設置:
        vim /var/www/html/yapi/config.json
            

"ldapLogin": {
            "enable": true, 
            "server": "ldap://ipaddr:389",
            "baseDn": "CN=test,ou=users,DC=test,DC=com",LDAP服務器登錄用戶名
            "bindPassword": "123456", LADP服務器登錄用戶名密碼
            "searchDn": "DC=test,DC=com",
            "searchStandard": "&(objectClass=user)(SamAccountName=%s)" //此查詢條件是AD SamAccountName,如果查詢條件是郵箱:"mail"
            },
            "closeRegister":true //用戶註冊禁用,開啟false

        
5、部署Supervisor
    部署原由:

  • shell中執行node /var/www/html/yapi/vendors/app.js運行應用程式,如果出現中斷/重啟/進程意外終止等都會導致應用退出
  • 不可能在長期運行環境中用一個Client/Server終端去做長鏈接
  •  部署supervisor可以很方便的監聽(監聽進程,重新啟動)、啟動、停止、重啟一個或多個進程。

    5.1.安裝
        yum install supervisor / easy_insatll supervisor //系統環境python3.6和相應組件
        已安裝組件信息如下:
        supervisord(server) :負責管理子進程,響應客戶端命令及日誌輸出等
        supervisorctl(client):命令行客戶端,用戶通過他與不同supervisord進程聯繫,獲取子進程的狀態等。
        echo_supervisord_conf:生成初始配置文件程序,見5.2    
        web server :界面管理進程
            
    5.2.創建目錄/etc/supervisor和supervisord.conf 模板文件
        mkdir /etc/supervisor
        echo_supervisord_conf > /etc/supervisor/supervisord.conf
    5.3.修改supervisord.conf並加入內容
        vim /etc/supervisor/supervisord.conf
        [include]
        files = conf.d/*.conf
    5.4.創建目錄/etc/supervisor/conf.d/
        mkdir -p /etc/supervisor/conf.d/
    5.5.修改文件並增加內容
        vim /etc/supervisor/conf.d/YApiGhost.conf       

[program: YApiGhost]
command=node vendors/server/app.js ; 运行程序的命令
directory=/root/my-yapi ; 命令执行的目录
autostart=true ;在supervisord啟動的時候自動啟動
autorestart=true ; 程序意外退出是否自动重启
startretries=3 ;啟動失敗自動重試次數,默認是3
stderr_logfile=/var/log/YApiGhost.err.log ; 错误日志文件
stdout_logfile=/var/log/YApiGhost.out.log ; 输出日志文件
environment=ASPNETCORE_ENVIRONMENT=Production ; 进程环境变量
user=root ; 进程执行的用户身份
stopsignal=INT

   5.6.啟動,如果服務已啟動,修改配置文件可用“supervisorctl reload”
        啟動守護進程
        supervisord -c /etc/supervisor/supervisord.conf
        查看進程:
        ps -ef | grep YApiGhost
    5.7.設置開機啟動
        修改文件supervisord.service&添加內容
        vim /usr/lib/systemd/system/supervisord.service      

[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

  5.8.Web 界面管理

        vim /etc/supervisor/supervisord.conf

        

        注:不需要登錄與密碼,請注釋掉

       打開瀏覽器如下圖:

       CentOS 7.6 部署可視化接口平台YAPI_第1张图片

你可能感兴趣的:(Linux運維,開發工具類,linux,运维,centos)