前言
想要將express項(xiàng)目部署到服務(wù)器说庭,但使用node ./bin/www
命令時,一旦我們關(guān)掉會話窗口摸吠,它就自動關(guān)閉了丛塌,這顯然不符合我們的需求较解。所以我們選用pm2,他是一個進(jìn)程管理器,進(jìn)程一旦啟動姨伤,可以保證你的項(xiàng)目一直在線哨坪。
然而我的Windows服務(wù)器沒連接互聯(lián)網(wǎng)庸疾,只能離線安裝乍楚。具體安裝過程如下。
安裝pm2
先在一臺能聯(lián)網(wǎng)的機(jī)器上安裝PM2,windows/linux都可以届慈。
npm i pm2 -g
執(zhí)行命令 npm config get prefix
查看默認(rèn)的全局安裝目錄徒溪。
在該目錄下的node_modules找到剛下載的pm2文件夾,上傳到服務(wù)器的npm默認(rèn)全局安裝目錄金顿。
比如我的默認(rèn)目錄是C:\Users\Administrator\AppData\Roaming\npm臊泌,打開默認(rèn)目錄,然后新建文件夾node_modules揍拆,把解壓的pm2包放進(jìn)去渠概。
在新建的文件夾里打開命令行,重新編譯一下嫂拴。
npm build pm2 -g
這時候在上層目錄已經(jīng)生成了運(yùn)行相關(guān)的文件播揪。
然后通過命令 pm2 -v檢查是否安裝成功!
pm2的使用
先進(jìn)入到項(xiàng)目根目錄來啟動項(xiàng)目
pm2 start ./bin/www
啟動完成后可以調(diào)用命令查看項(xiàng)目
pm2 ls
pm2的常用命令
pm2 start [name] //啟動項(xiàng)目
pm2 ls //查看所有啟動的進(jìn)程
pm2 restart [name | id] //我們可以根據(jù)項(xiàng)目的名字或前面的id重啟項(xiàng)目
pm2 delete [name | id] // 刪除指定項(xiàng)目
pm2 delete all // 刪除所有項(xiàng)目
pm2 stop [name | id] //停止指定項(xiàng)目
pm2 stop all //停止所有項(xiàng)目
pm2 monit //監(jiān)視所有進(jìn)程的活動情況 包括各個進(jìn)程的根目錄占cpu大小等等
pm2 log //可以查看項(xiàng)目的日志
Nginx配置
express項(xiàng)目啟動后本機(jī)可訪問筒狠,但局域網(wǎng)內(nèi)其他計(jì)算機(jī)不能訪問猪狈。于是啟用Nginx進(jìn)行反向代理(雖然不懂為什么要這樣做,但這樣做問題可以解決)辩恼。
修改nginx.conf文件
server{
listen 8080;
server_name localhost;
location / {
proxy_pass http://localhost:3000;
}
}
Tips
Nginx常用命令
nginx //啟動nginx
nginx -v //版本等簡單介紹
nginx -s reload //重啟nginx
nginx -s stop //停止nginx
nginx -s quit //停止nginx
進(jìn)程相關(guān)命令
tasklist | findstr nginx //查找nginx相關(guān)進(jìn)程
taskkill /pid 6508 /F //殺死pid為6508的進(jìn)程
netstat -ano //顯示所有的端口占用情況