編譯打包nodejs服務(wù)代碼如何部署到服務(wù)器
環(huán)境
express+node+mysql2+node14.x
使用NCC方式
下載打包依賴
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方式
下載打包依賴
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中package.json中庫(kù)的版本號(hào)(~和^)
這篇文章主要介紹了Node.js中package.json中庫(kù)的版本號(hào)(~和^),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-04-04node將geojson轉(zhuǎn)shp返回給前端的實(shí)現(xiàn)方法
這篇文章主要介紹了node將geojson轉(zhuǎn)shp返回給前端的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05Node.js 利用cheerio制作簡(jiǎn)單的網(wǎng)頁(yè)爬蟲(chóng)示例
本篇文章主要介紹了Node.js 利用cheerio制作簡(jiǎn)單的網(wǎng)頁(yè)爬蟲(chóng)示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-03-03node.js使用npm 安裝插件時(shí)提示install Error: ENOENT報(bào)錯(cuò)的解決方法
這篇文章主要介紹了node.js使用npm 安裝插件時(shí)提示install Error: ENOENT報(bào)錯(cuò)的解決方法,需要的朋友可以參考下2014-11-11nvm版本導(dǎo)致npm?install報(bào)錯(cuò)Unexpected?token?'.'的解決辦法
最近做項(xiàng)目遇到npm install 的問(wèn)題,下面這篇文章主要給大家介紹了關(guān)于nvm版本導(dǎo)致npm?install報(bào)錯(cuò)Unexpected?token?'.'的解決辦法,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07node.js中的fs.lchmod方法使用說(shuō)明
這篇文章主要介紹了node.js中的fs.lchmod方法使用說(shuō)明,本文介紹了fs.lchmod的方法說(shuō)明、語(yǔ)法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下2014-12-12node.js中的http.request方法使用說(shuō)明
這篇文章主要介紹了node.js中的http.request方法使用說(shuō)明,本文介紹了http.request的方法說(shuō)明、語(yǔ)法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼需要的朋友可以參考下2014-12-12Node.js?操作本地文件及深入了解fs內(nèi)置模塊
這篇文章主要介紹了Node.js?操作本地文件及深入了解fs內(nèi)置模塊,node.js作為服務(wù)端應(yīng)用,肯定少不了對(duì)本地文件的操作,像創(chuàng)建一個(gè)目錄、創(chuàng)建一個(gè)文件、讀取文件內(nèi)容等都是我們開(kāi)發(fā)中經(jīng)常需要用到的功能2022-09-09