forever 后台启动nodejs

 forever可以看做是一个nodejs的守护进程,能够启动,停止,重启我们的app应用。

1.全局安装 forever

// 记得加-g,forever要求安装到全局环境下 
sudo npm install forever -g

2.启动

// 1. 简单的启动 
forever start app.js 

// 2. 指定forever信息输出文件,当然,默认它会放到~/.forever/forever.log 
forever start -l forever.log app.js 

// 3. 指定app.js中的日志信息和错误日志输出文件, 
// -o 就是console.log输出的信息,-e 就是console.error输出的信息 
forever start -o out.log -e err.log app.js 

// 4. 追加日志,forever默认是不能覆盖上次的启动日志, 
// 所以如果第二次启动不加-a,则会不让运行 
forever start -l forever.log -a app.js 

// 5. 监听当前文件夹下的所有文件改动 
forever start -w app.js

3.文件改动监听并自动重启

// 1. 监听当前文件夹下的所有文件改动(不太建议这样) 
forever start -w app.js 

4. 显示所有运行的服务

forever list 

5. 停止操作

// 1. 停止所有运行的node App 
forever stopall 

// 2. 停止其中一个node App 
forever stop app.js 
// 当然还可以这样 
// forever list 找到对应的id,然后: 
forever stop [id]

6.重启操作

重启操作跟停止操作保持一致。 

// 1. 启动所有 
forever restartall

<think>嗯,用户问的是关于Node.js启动,我需要详细解释如何启动Node.js应用。首先得明确Node.js是什么,它是一个JavaScript运行时,基于Chrome的V8引擎,对吧?然后用户可能想知道怎么启动一个脚本,比如通过命令行运行node命令,后面跟文件名。可能需要举例子,比如node app.js。 然后,用户可能还想了解不同的启动方式,比如调试模式,用--inspect参数,或者用nodemon这样的工具来自动重启。这些工具对开发很有帮助,应该提到。还有可能涉及到环境变量,比如设置NODE_ENV=production,这在部署时很重要。 另外,可能需要讲解一下入口文件的概念,通常是一个app.js或者index.js,里面用express创建服务器,监听端口。这部分要简单说明代码结构,比如const express = require('express'); app.listen(3000)这种例子。 还有,用户可能不知道如何保持进程在后台运行,这时候可以介绍pm2或者forever这样的进程管理工具,说明它们的作用和基本用法,比如pm2 start app.js。这样应用即使终端关闭了也能继续运行。 需要注意区分开发环境和生产环境的启动方式,开发时可能需要实时重载,而生产环境需要稳定和性能优化。比如开发用nodemon,生产用pm2。 另外,可能还需要提到一些常见的启动参数,比如--max-old-space-size来调整内存限制,或者如何传递环境变量。例如,PORT=3000 node app.js。 最后,要检查有没有遗漏的常见问题,比如权限问题,比如用sudo运行,或者端口被占用如何处理。可能用户遇到启动失败的情况,但用户没有具体问,所以可能不需要深入,但可以稍微提一下。 总之,结构应该是先介绍Node.js的基本启动方法,然后扩展不同的启动方式和工具,再讲生产环境的注意事项,最后提到一些有用的参数和工具。确保语言简洁,步骤清晰,例子明确,帮助用户一步步理解如何启动Node.js应用。</think>以下是Node.js应用的启动方法及常见场景介绍: ### 一、基础启动方式 1. 命令行直接启动 ```bash node 你的入口文件.js # 示例: node app.js ``` 2. 带调试参数启动(开发常用) ```bash node --inspect app.js # 配合Chrome DevTools使用,访问 chrome://inspect 进行调试 ``` ### 二、自动重启工具 1. 安装nodemon(开发环境推荐) ```bash npm install -g nodemon ``` 2. 启动应用 ```bash nodemon app.js # 特点:文件修改后自动重启服务 ``` ### 三、生产环境启动 1. 使用进程管理工具pm2 ```bash npm install -g pm2 pm2 start app.js --name "my-app" # 常用命令: pm2 list # 查看进程列表 pm2 logs # 查看日志 pm2 restart all # 重启所有应用 ``` ### 四、入口文件示例 ```javascript // app.js const express = require('express'); const app = express(); app.get('/', (req, res) => { res.send('Hello World!'); }); // 启动服务器 const PORT = process.env.PORT || 3000; app.listen(PORT, () => { console.log(`Server running on port ${PORT}`); }); ``` ### 五、环境变量配置 启动时指定环境变量: ```bash NODE_ENV=production PORT=8080 node app.js ``` ### 六、常用启动参数 | 参数 | 作用 | |----------------------|------------------------------| | `--max-old-space-size=4096` | 设置内存限制为4GB | | `--trace-warnings` | 打印Promise未处理警告堆栈 | | `--prof` | 生成V8分析文件 | ### 七、注意事项 1. 权限问题:若使用1024以下端口,需加`sudo` 2. 端口冲突:通过`lsof -i :3000`查看端口占用 3. 日志管理:推荐使用winston/morgan等日志库 开发建议:使用`nodemon` + `--inspect`组合启动,便于调试和热更新 生产建议:使用`pm2`启动并配置集群模式(`pm2 start app.js -i max`)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猿大师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值