Centos7.4 Yapi 服務搭建

Centos Yapi服務搭建

參考以下網址,排名不分先後

https://github.com/YMFE/yapi
https://blog.csdn.net/guangzhou007_java/article/details/90779222
https://www.jianshu.com/p/994bc7b19b26

我的服務器環境

阿里雲服務器 centos 7.4
使用 https://oneinstack.com/auto/ 搭建的lnmp環境
以下所有操作全部基於root用戶

環境要求

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

開始搭建

一、安裝nodejs


  • 先檢查是否已經安裝了nodejs,如果安裝了版本低於環境要求,請先卸載刪除
<code>[root@moyang /]# node -v /<code>


  • yum刪除nodejs低版本庫
<code>[root@moyang /]# yum remove nodejs npm -y/<code> 


  • 刪除nodejs安裝目錄及軟鏈接,以下為yum安裝所在目錄
<code>[root@moyang /]# rm -rf /usr/bin/npm[root@moyang /]# rm -rf /usr/bin/node[root@moyang /]# rm -rf /usr/lib/node_modules/<code>
  • 安裝10以上版本nodejs
<code>[root@moyang /]# yum clean all && yum makecache fast[root@moyang /]# yum install -y gcc-c++ make/<code>


  • 添加10以上nodejs yum庫
<code>[root@moyang /]# curl -sL https://rpm.nodesource.com/setup_10.x | sudo -E bash -/<code>


  • yum安裝nodejs
<code>[root@moyang /]# yum install -y nodejs[root@moyang /]# node -v // 本次安裝的版本為:v10.19.0[root@moyang /]# npm -v // 本次安裝的版本為:6.13.4/<code>


二、安裝mongodb


  • 1、切換到安裝目錄
<code>[root@moyang /]# cd /usr/local/<code>


  • 2、下載mongodb4.0壓縮包
<code>[root@moyang local]# wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.0.tgz/<code>


  • 3、解壓縮安裝包,重命名文件夾 && 刪除壓縮包
<code>[root@moyang local]# tar zxvf mongodb-linux-x86_64-4.0.0.tgz[root@moyang local]# mv mongodb-linux-x86_64-4.0.0 mongodb && rm -f mongodb-linux-x86_64-4.0.0.tgz/<code>


  • 4、配置環境變量 && 使其生效
<code>[root@moyang local]# cd / && vim /etc/profileexport PATH=/usr/mongodb/bin:$PATH[root@moyang /]# source /etc/profile/<code>


  • 5、查看mongodb版本,如果正確顯示,則表示環境變量配置成功
<code>[root@moyang /]# mongod --version // 顯示如下:db version v4.0.0git version: 3b07af3d4f471ae89e8186d33bbb1d5259597d51allocator: tcmallocmodules: nonebuild environment:    distarch: x86_64    target_arch: x86_6/<code>


  • 6、創建數據庫目錄和日誌目錄
<code>[root@moyang /]# cd /usr/local/mongodb[root@moyang mongodb]# mkdir db && mkdir log && touch log/mongodb.log/<code>


  • 7、創建mongodb配置文件
<code>[root@moyang mongodb]# vim /usr/local/mongodb/mongodb.conf // 添加以下內容# 端口port=27017# 數據庫存文件存放目錄dbpath=/usr/local/mongodb/db# 日誌文件存放路徑logpath=/usr/local/mongodb/log/mongodb.log# 使用追加的方式寫日誌logappend=true# 以守護進程的方式運行,創建服務器進程fork=true# 最大同時連接數maxConns=100# 不啟用驗證noauth=true#auth=true# 每次寫入會記錄一條操作日誌(通過journal可以重新構造出寫入的數據)# 即使宕機,啟動時wiredtiger會先將數據恢復到最近一次的checkpoint點,然後重放後續的journal日誌來恢復。journal=true# 存儲引擎有mmapv1、wiretiger、mongorocksstorageEngine=wiredTiger# 這樣就可外部訪問了,例如從win10中去連虛擬機中的MongoDBbind_ip=0.0.0.0/<code>


  • 8、mongodb命令 && 查看是否啟動成功
<code>[root@moyang mongodb]# ./bin/mongod -f mongodb.conf  // 啟動,顯示如下:about to fork child process, waiting until server is ready for connections.forked process: 30685child process started successfully, parent exiting[root@moyang mongodb]# ./bin/mongod --shutdown -f mongodb.conf  // 停止,顯示如下:killing process with pid: 30685[root@moyang mongodb]# ps -ef|grep mongod // 查看mongod進程狀態/<code>


  • 9、使用service服務啟動mongod
<code>[root@moyang /]# cd / && vim /etc/init.d/mongod // 添加內容如下--------------------------------------------------------#!/bin/sh#chkconfig:#MogoDB home directory MONGODB_HOME=/usr/local/mongodb#mongodb command  MONGODB_BIN=$MONGODB_HOME/bin/mongod#mongodb config fileMONGODB_CONF=$MONGODB_HOME/mongodb.conf#mongodb PIDMONGODB_PID=/var/run/mongo.pid#set open file limitSYSTEM_MAXFD=65535MONGODB_NAME="mongodb". /etc/rc.d/init.d/functionsif [ ! -f $MONGODB_BIN ]    then        echo "$MONGODB_NAME startup: $MONGODB_BIN not exists! "          exitfistart(){    ulimit -HSn $SYSTEM_MAXFD    $MONGODB_BIN -f "$MONGODB_CONF"    ret=$?    if [ $ret -eq 0 ]; then        action $"Starting $MONGODB_NAME: " /bin/true    else        action $"Starting $MONGODB_NAME: " /bin/false    fi}stop(){    PID=$(ps aux |grep "$MONGODB_NAME" |grep "$MONGODB_CONF" |grep -v grep |wc -l)    if [[ $PID -eq 0  ]];then        action $"Stopping $MONGODB_NAME: " /bin/false        exit    fi    kill -HUP `cat $MONGODB_PID`    ret=$?    if [ $ret -eq 0 ]; then        action $"Stopping $MONGODB_NAME: " /bin/true        rm -f $MONGODB_PID    else        action $"Stopping $MONGODB_NAME: " /bin/false    fi}restart() {    stop    sleep 2    start}case "$1" in    start)        start        ;;    stop)        stop        ;;    status)        status $prog        ;;    restart)        restart        ;;    *)        echo $"Usage: $0 {start|stop|status|restart}"esac--------------------------------------------------------[root@moyang /]# chmod +x /etc/init.d/mongod[root@moyang /]# service mongod start       // 啟動服務[root@moyang /]# service mongod restart     // 重啟服務[root@moyang /]# service mongod stop        // 停止服務/<code>


  • 10、配置系統服務啟動mongod
<code>[root@moyang /]# vim /lib/systemd/system/mongod.service// 添加內容如下--------------------------------------------------------[Unit]Description=mongodbAfter=network.target remote-fs.target nss-lookup.target[Service]Type=forkingExecStart=/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/mongodb.confExecReload=/bin/kill -s HUP $MAINPIDExecStop=/usr/local/mongodb/bin/mongod --shutdown -f /usr/local/mongodb/mongodb.confPrivateTmp=true[Install]WantedBy=multi-user.target--------------------------------------------------------[root@moyang /]# chmod 754 /lib/systemd/system/mongod.service[root@moyang /]# systemctl status mongod.service    // 查看啟動狀態[root@moyang /]# systemctl start mongod.service     // 啟動服務[root@moyang /]# systemctl restart mongod.service   // 重啟服務[root@moyang /]# systemctl stop mongod.service      // 停止服務/<code>


00f">小知識:開機啟動服務相關命令

centos7自啟項已不用chkconfig

  • https://www.cnblogs.com/zwcry/p/9602756.html
  • 查看開機自啟項 左邊是服務名稱,右邊是狀態,enabled是開機啟動,disabled是開機不啟動
<code>[root@moyang /]# systemctl list-unit-files/<code>


  • 過濾查看開機啟動項
<code>[root@moyang /]# systemctl list-unit-files | grep enabled[root@moyang /]# systemctl list-unit-files | grep mongod/<code>


  • 啟用 | 禁用 開機啟動
<code>[root@moyang /]# systemctl enable mongod    // 啟用[root@moyang /]# systemctl disable mongod   // 禁用/<code>


三、安裝git

<code>[root@moyang /]# yum -y install git/<code>


開始部署Yapi

注意事項


雲服務器請先確認安全組是否開放 3000 9090端口
服務器的防火牆和iptables是否開放 3000 9090端口或者可以直接關閉這兩個服務

http://tool.chinaz.com/port/

  1. 開始搭建YApi,安裝命令
<code>[root@moyang /] npm install -g yapi-cli --registry https://registry.npm.taobao.org/<code>


  1. 啟動服務
<code>[root@moyang /] yapi server在瀏覽器打開 http://0.0.0.0:9090 訪問。非本地服務器,請將 0.0.0.0 替換成指定的域名或ip  /<code> 


  1. 在線部署
  • 在瀏覽器訪問 :9090 服務器公網ip>
  • 根據提示配置,如果mongodb數據庫開啟了權限認證,需要開啟下圖的數據庫認證,並且輸入數據庫賬號,密碼
  • 部署完成啟動Yapi服務,這種模式shell終端不能關閉
<code>[root@moyang /] node <yapi>/vendors/server/app.js/<yapi>/<code>


yapi服務管理

利用pm2方便服務管理維護。

<code>// 更換npm淘寶鏡像源[root@moyang /] npm config set registry https://registry.npm.taobao.org// 安裝pm2[root@moyang /] npm install pm2 -g// pm2管理yapi服務[root@moyang /] cd  {yapi部署路徑}[root@moyang yapi] pm2 start "vendors/server/app.js" --name yapi //啟動服務[PM2] Starting /data/wwwroot/yapi/vendors/server/app.js in fork_mode (1 instance)[PM2] Done.┌─────┬─────────┬─────────────┬─────────┬─────────┬──────────┬────────┬──────┬───────────┬──────────┬──────────┬──────────┬──────────┐│ id  │ name    │ namespace   │ version │ mode    │ pid      │ uptime │ ↺    │ status    │ cpu      │ mem      │ user     │ watching │├─────┼─────────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┼──────────┼──────────┼──────────┤│ 0   │ yapi    │ default     │ 1.8.7   │ fork    │ 13231    │ 0s     │ 0    │ online    │ 0%       │ 13.1mb   │ root     │ disabled │└─────┴─────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴─────────[root@moyang /] pm2 info yapi       //查看服務信息[root@moyang /] pm2 stop yapi       //停止服務[root@moyang /] pm2 restart yapi    //重啟服務/<code>


00f">小知識:mongodb開啟權限驗證

https://www.jianshu.com/p/62736bff7e2e
也可以使用windows終端https://robomongo.org/

  1. 首先檢查mongodb.conf設置,設置不使用權限認證
<code>[root@moyang /] vim /usr/loca/mongodb/mongodb.confnoauth=true#auth=true/<code>


  1. 使用shell終端工具連接mongod,創建用戶及用戶權限
<code>[root@moyang /] ./usr/local/mongodb/bin/mongoMongoDB shell version v4.0.0connecting to: mongodb://127.0.0.1:27017MongoDB server version: 4.0.0> use admin> db.createUser({user:"root",pwd:"root",roles:["root"]})Successfully added user: { "user" : "root", "roles" : [ "root" ] }> use yapi> db.createUser({user:"yapi",pwd:"yapi",roles:["dbOwner"]})Successfully added user: { "user" : "yapi", "roles" : [ "dbOwner" ] }> exit/<code>


  1. 修改mongodb.conf,設置使用權限認證,重啟mongod服務
<code>[root@moyang /] vim /usr/loca/mongodb/mongodb.conf#noauth=trueauth=true[root@moyang /] service mongod restart/<code>


開始使用

  1. 在瀏覽器訪問 :3000 服務器公網ip> 就可以開始使用yapi了
  2. 點擊登錄 賬號: 在線部署時填寫的管理員郵箱> 密碼: > 默認密碼:>
  3. 登錄成功後可以修改密碼
Centos7.4 Yapi 服務搭建


去未知的世界進行探索


分享到:


相關文章: