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

 更新时间:2023年10月31日 08:42:22   作者:是祈安呐  
这篇文章主要介绍了编译打包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进程占用或改变当前项目启动端口号

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Nodejs+Socket.io实现通讯实例代码

    Nodejs+Socket.io实现通讯实例代码

    本篇文章主要介绍了Nodejs+Socket.io实现通讯实例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • 快速了解Node中的Stream流是什么

    快速了解Node中的Stream流是什么

    今天小编就为大家分享一篇关于快速了解Node中的Stream流是什么,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02
  • NodeJs实现简易WEB上传下载服务器

    NodeJs实现简易WEB上传下载服务器

    这篇文章主要为大家详细介绍了NodeJs实现一个简易WEB上传下载服务器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-08-08
  • node.js 使用 net 模块模拟 websocket 握手进行数据传递操作示例

    node.js 使用 net 模块模拟 websocket 握手进行数据传递操作示例

    这篇文章主要介绍了node.js 使用 net 模块模拟 websocket 握手进行数据传递操作,结合实例形式分析了node.js基于net模块模拟 websocket握手相关原理及进行数据传递具体操作技巧,需要的朋友可以参考下
    2020-02-02
  • node自定义安装更改npm全局模块默认安装路径的步骤

    node自定义安装更改npm全局模块默认安装路径的步骤

    有段时间没用npm了,新建个项目,需要改变npm全局包默认安装的路径,本文就来介绍一下node自定义安装更改npm全局模块默认安装路径的步骤,感兴趣的可以了解下
    2021-09-09
  • Node.js环境下JavaScript实现单链表与双链表结构

    Node.js环境下JavaScript实现单链表与双链表结构

    Node环境下通过npm可以获取list的几个相关库,但是我们这里注重于自己动手实现,接下来就一起来看一下Node.js环境下JavaScript实现单链表与双链表结构
    2016-06-06
  • 深入解析桶排序算法及Node.js上JavaScript的代码实现

    深入解析桶排序算法及Node.js上JavaScript的代码实现

    桶排序Radix Sort算法利用分治思想将元素分入各桶中排序后汇总,以下我们就来深入解析桶排序算法及Node.js上JavaScript的代码实现,需要的朋友可以参考下
    2016-07-07
  • 如何用Node写页面爬虫的工具集

    如何用Node写页面爬虫的工具集

    这篇文章主要介绍了如何用Node写页面爬虫的工具集,主要介绍了三种方法,分别是Puppeteer、cheerio和Auto.js,感兴趣的小伙伴们可以参考一下
    2018-10-10
  • nodejs npm错误Error:UNKNOWN:unknown error,mkdir ''D:\Develop\nodejs\node_global''at Error

    nodejs npm错误Error:UNKNOWN:unknown error,mkdir ''D:\Develop\n

    今天小编就为大家分享一篇关于nodejs npm错误Error:UNKNOWN:unknown error,mkdir 'D:\Develop\nodejs\node_global'at Error,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • Node.js操作Firebird数据库教程

    Node.js操作Firebird数据库教程

    这篇文章主要为大家分享了Node.js操作Firebird数据库教程,思路清晰便于大家理解,感兴趣的小伙伴们可以参考一下
    2016-03-03

最新评论