編譯打包nodejs服務(wù)代碼如何部署到服務(wù)器
環(huán)境
express+node+mysql2+node14.x
使用NCC方式
下載打包依賴(lài)
npm i -g @vercel/ncc
編譯node文件 -m 打包壓縮 -o 導(dǎo)出文件夾
ncc build index.js -m -0 dist
在服務(wù)器或本地運(yùn)行編譯后的node文件
ncc run index.js
在網(wǎng)站可以直接訪問(wèn)node服務(wù)接口,非404即成功
使用pkg方式
下載打包依賴(lài)
npm install -g pkg
編譯node文件,打包出來(lái)是一個(gè).exe文件,雙擊運(yùn)行即可
pkg -t win start.js
在服務(wù)器或本地運(yùn)行編譯后的node文件
pkg index.js
目前pkg支持的平臺(tái)有l(wèi)inux、win、macos、alpine、freebsd、openbsd和sunos。
pkg . --output myapp .表示打包當(dāng)前目錄,--output指定輸出文件名,myapp表示輸出文件名。 如果想打包到不同平臺(tái)的可執(zhí)行文件,還需要加上--target參數(shù)。例如,打包成Windows平臺(tái)的執(zhí)行文件: pkg . --output myapp --target win
使node服務(wù)永久啟動(dòng),關(guān)閉終端不終止服務(wù)
使用npm安裝:
npm install -g forever
啟動(dòng)應(yīng)用程序:
forever server.js
作為服務(wù):
forever start server.js
Forever因某種原因崩潰或停止時(shí)會(huì)永遠(yuǎn)重啟您的應(yīng)用.要將重新啟動(dòng)限制為5,您可以使用:
forever -m5 server.js
列出所有正在運(yùn)行的進(jìn)程:
forever list
請(qǐng)注意括號(hào)中的整數(shù),并按如下所示使用它來(lái)停止進(jìn)程:
forever stop 0
重新啟動(dòng)正在運(yùn)行的進(jìn)程:
forever restart 0
如果您正在處理應(yīng)用程序文件,則可以使用該-w參數(shù)在server.js文件更改時(shí)自動(dòng)重新啟動(dòng):
forever -w server.js
停止所有運(yùn)行進(jìn)程
forever stopall
列出所有的用戶配置項(xiàng)
forever config
設(shè)置用戶配置項(xiàng)
forever set <key> <val>
清除用戶配置項(xiàng)
forever clear <key>
列出所有forever進(jìn)程的日志
forever logs
顯示最新的日志
forever logs <script|index>
自定義指標(biāo)到forever list
columns add <col>
刪除forever list的指標(biāo)
columns rm <col>
設(shè)置所有的指標(biāo)到forever list
forever columns set<cols>
刪除所有的forever歷史日志
forever cleanlogs
報(bào)錯(cuò)整理
運(yùn)行命令forever server.js報(bào)錯(cuò)
listen EADDRINUSE: address already in use :::3000
原因:3000端口被占用
解決方法:關(guān)閉3000進(jìn)程占用或改變當(dāng)前項(xiàng)目啟動(dòng)端口號(hào)
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
如何在node.js中使用?JsonWebToken模塊進(jìn)行token加密
目前在web框架中最流行的身份驗(yàn)證是使用jsonwebtoken,簡(jiǎn)稱(chēng)jwt.可以設(shè)置加密方式,過(guò)期時(shí)間,存放個(gè)人信息,逆解析,下面這篇文章主要給大家介紹了關(guān)于如何在node.js中使用?JsonWebToken模塊進(jìn)行token加密的相關(guān)資料,需要的朋友可以參考下2023-03-03
淺談node如何優(yōu)雅地獲取mac系統(tǒng)版本
這篇文章主要和大家聊聊node如何優(yōu)雅地獲取mac系統(tǒng)版本,文中有詳細(xì)的代碼示例和流程步驟,對(duì)我們學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2023-06-06
nodejs使用Express框架寫(xiě)后端接口的全過(guò)程
最近學(xué)習(xí)了基于前后端分離的開(kāi)發(fā)模式,我前端使用Vue框架,后端使用nodejs開(kāi)發(fā)API接口,下面這篇文章主要給大家介紹了關(guān)于nodejs使用Express框架寫(xiě)后端接口的相關(guān)資料,需要的朋友可以參考下2022-05-05

