一,環境配置

Centos7 + Node10.13.0 + MongoDB3.2.22  

安裝必備的依賴工具:gcc-c++  wget

yum -y install gcc-c++  wget

 

二,Node安裝

1.下載node

 

wget https://nodejs.org/dist/v10.13.0/node-v10.13.0-linux-x64.tar.xz

2.解壓縮node

xz -d node-v10.13.0-linux-x64.tar.xz2 

tar -xf node-v10.13.0-linux-x64.tar  -C /usr/local/

3.配置node和npm

ln -s /usr/local/node-v10.13.0-linux-x64/bin/node /usr/bin/node

ln -s /usr/local/node-v10.13.0-linux-x64/bin/npm /usr/bin/npm

4.檢測node是否成功

node -v 

npm -v

 

三,Mongdb安裝

1.下載mongodb 3.2.22安裝包 這里我是去官網下載的

https://www.mongodb.com/download-center/community

選擇自己需要的版本 系統以及安裝包

2.解壓縮並做軟鏈接

tar -zxvf mongodb-linux-x86_64-rhel70-3.2.22.tgz  -C /usr/local/

mv mongodb-linux-x86_64-rhel70-3.2.22 mongodb-linux-x86_64-3.2.22

ln -s /usr/local/mongodb-linux-x86_64-3.2.22 /usr/local/mongodb

3.配置系統環境變量

vim /etc/profile

export PATH=$PATH:/usr/local/mongodb/bin

4.配置mongodb數據存放目錄和日志文件夾

mkdir -p /data/{db,logs}

5.配置mongodb的配置文件

cd  /usr/local/mongodb/bin

vim mongodb.conf

 

dbpath = /data/db #數據文件存放目錄

logpath = /data/logs/mongodb.log #日志文件存放目錄

port = 27017 #端口

fork = true #以守護程序的方式啟用,即在后台運行

noauth = true # 不進行安全驗證

#auth=true #需要認證。如果放開注釋,就必須創建MongoDB的賬號,使用賬號與密碼才可遠程訪問,第一次安裝建議注釋

bind_ip=0.0.0.0 #允許遠程訪問,或者直接注釋,127.0.0.1是只允許本地訪問

6.啟動mongodb

./mongod  -f  mongodb.conf

默認端口27017

其他常用命令:

./mongod   --shuitdown

如果需要創建mongodb賬號,直接運行mongo命令即可

 

四,Git安裝配置

1.下載git

wget https://github.com/git/git/archive/v2.14.1.zip

2.安裝依賴

yum -y install zlib-devel openssl-devel cpio expat-devel gettext-devel curl-devel perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker

3.解壓縮並安裝

unzip v2.14.1.zip

cd git-2.14.1

make prefix=/usr/local all 

make prefix=/usr/local install

4.驗證安裝

git --version

 

五,Yapi安裝

1.安裝yapi

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

ln -s /usr/local/node-v10.13.0-linux-x64/bin/yapi  /usr/bin/yapi

2.啟動yapi

yapi server &     # 需在后台啟動 退出終端不要直接關閉 使用exit退出

打開瀏覽器初始化: 默認端口9090 

如果要修改端口編輯下面配置

/usr/local/node-v10.13.0-linux-x64/lib/node_modules/yapi-cli/src/commands/server.js 

https://127.0.0.1:9090
初始化成功后會有 管理員賬號和默認密碼

初始化管理員賬號成功,賬號名:"XXXX@admin.cn",密碼:"spacer.gifymfe.org"
3.啟動服務

進入my-yapi目錄 啟動服務

node vendors/server/app.js &

 

部署成功,請切換到部署目錄,輸入: "node vendors/server/app.js" 指令啟動服務器, 然后在瀏覽器打開 http://127.0.0.1:3000 訪問

 

五,常見問題

使用xshell服務,當關閉xshell 服務也隨之關閉

解決方式:部署PM2

1.安裝pm2

npm install -g pm2

2.連接配置pm2

ln -s /usr/local/node-v10.13.0-linux-x64/bin/pm2 /usr/bin/pm2

3.在項目中添加配置文件processes.json

自定義:

 

{

   "apps" : [{

     "name" : "Yapi",

     "script": "node ./my-yapi/vendors/server/app.js",

     "cwd": "./",

     "watch":[

         "server",

         "static",

         "test",

         "exts",

         "common"

     ]

     }]

}

4.在項目目錄下運行即可

pm2 start processes.json

 

 

PM2常用命令

pm2 start app.js -i max  # 根據有效CPU數目啟動最大進程數目

pm2 start app.js -i 3      # 啟動3個進程

pm2 start app.js -x        #用fork模式啟動 app.js 而不是使用 cluster

pm2 start app.js -x -- -a 23   # 用fork模式啟動 app.js 並且傳遞參數 (-a 23)

pm2 start app.js --name serverone  # 啟動一個進程並把它命名為 serverone

pm2 stop serverone       # 停止 serverone 進程

pm2 start app.json        # 啟動進程, 在 app.json里設置選項

pm2 start app.js -i max -- -a 23                   #在--之后給 app.js 傳遞參數

pm2 start app.js -i max -e err.log -o out.log  # 啟動 並 生成一個配置文件,你也可以執行用其他語言編寫的app  ( fork 模式):

pm2 start my-bash-script.sh    -x --interpreter bash

pm2 start my-python-script.py -x --interpreter python

pm2 start app.js -i 4 #后台運行pm2,啟動4個app.js 

                              # 也可以把'max' 參數傳遞給 start

                              # 正確的進程數目依賴於Cpu的核心數目

pm2 start app.js --name my-api # 命名進程

pm2 list               # 顯示所有進程狀態

pm2 monit              # 監視所有進程

pm2 logs               #  顯示所有進程日志

pm2 stop all           # 停止所有進程

pm2 restart all        # 重啟所有進程

pm2 reload all         # 0秒停機重載進程 (用於 NETWORKED 進程)

pm2 stop 0             # 停止指定的進程

pm2 restart 0          # 重啟指定的進程

pm2 startup            # 產生 init 腳本 保持進程活着

pm2 web                # 運行健壯的 computer API endpoint (http://localhost:9615)

pm2 delete 0           # 殺死指定的進程

pm2 delete all         # 殺死所有進程


六,mongodb數據拷貝

新部署環境如果想用老的數據,mongodb支持源數據目錄直接拷貝,前提是數據庫版本必須一致。

拷貝前,刪除初始化數據文件,將老的數據文件拷貝到新目錄中即可,拷貝前注意刪除lock結尾的文件以及diagnostic.data目錄,否則可能導致數據庫啟動失敗。

完成后不需要重啟初始化yapi server 直接啟動node服務即可。