编译打包nodejs服务代码如何部署到服务器
作者:是祈安呐
这篇文章主要介绍了编译打包nodejs服务代码如何部署到服务器问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
环境
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
使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进程占用或改变当前项目启动端口号
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。