编译打包nodejs服务代码部署到服务器

avatar
作者
筋斗云
阅读量:1

环境

express+node+mysql2+node14.x

一、使用NCC方式

下载打包依赖
npm i -g @vercel/ncc 
编译node文件 -m 打包压缩 -o 导出文件夹
ncc build index.js -m -0 dist 
在服务器或本地运行编译后的node文件
ncc run index.js 
在网站可以直接访问node服务接口,非404即成功

二、使用pkg方式

下载打包依赖
npm install -g pkg 
编译node文件,打包出来是一个.exe文件,双击运行即可
pkg -t win start.js 
在服务器或本地运行编译后的node文件
pkg index.js  

目前pkg支持的平台有linux、win、macos、alpine、freebsd、openbsd和sunos。

pkg . --output myapp .表示打包当前目录,--output指定输出文件名,myapp表示输出文件名。  如果想打包到不同平台的可执行文件,还需要加上--target参数。例如,打包成Windows平台的执行文件: pkg . --output myapp --target win 
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中 https://cloud.tencent.com/act/cps/redirect?redirect=2446&cps_key=bc107465ebc0ce3b7bfd31dd5fedaaed&from=console

使node服务永久启动,关闭终端不终止服务

使用npm安装:
npm install -g forever 
启动应用程序:
forever server.js 
作为服务:
forever start server.js 
Forever因某种原因崩溃或停止时会永远重启您的应用.要将重新启动限制为5,您可以使用:
forever -m5 server.js 
列出所有正在运行的进程:
forever list 
请注意括号中的整数,并按如下所示使用它来停止进程:
forever stop 0 
重新启动正在运行的进程:
forever restart 0 
如果您正在处理应用程序文件,则可以使用该-w参数在server.js文件更改时自动重新启动:
forever -w server.js 
停止所有运行进程
forever stopall 
列出所有的用户配置项
forever config 
设置用户配置项
forever set <key> <val> 
清除用户配置项
forever clear <key> 
列出所有forever进程的日志
forever logs 
显示最新的日志
forever logs <script|index> 
自定义指标到forever list
columns add <col> 
删除forever list的指标
columns rm <col> 
设置所有的指标到forever list
forever columns set<cols> 
删除所有的forever历史日志
forever cleanlogs 

报错整理

运行命令forever server.js报错
listen EADDRINUSE: address already in use :::3000 

原因:3000端口被占用
解决方法:关闭3000进程占用或改变当前项目启动端口号

*方法来源于网络,各方借鉴学习,博主已实测 本文原创记录学习,侵权联系删除 *

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!