一,環境配置
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",密碼:"ymfe.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服務即可。