基础启动命令
通过终端执行 .js
文件是最直接的方式:
node app.js
- 关键参数:
--watch
:文件修改时自动重启(Node.js 18.11+原生支持)node --watch app.js
--inspect
:启用调试器(默认端口9229)node --inspect app.js
开发环境:使用 Nodemon 实现热重载
Nodemon 监控文件变动并自动重启,提升开发效率:
- 安装:
npm install -g nodemon # 全局安装 npm install --save-dev nodemon # 项目级安装
- 启动应用:
nodemon app.js
- 高级配置(在
package.json
中):"scripts": { "dev": "nodemon --ignore 'logs/*' app.js" }
--ignore
:排除无需监控的目录- 执行:
npm run dev
生产环境:PM2 进程管理
PM2 提供进程守护、负载均衡和日志管理:
- 安装:
npm install pm2 -g
- 启动应用:
pm2 start app.js --name "my-app"
- 核心功能:
- 集群模式(利用多核CPU):
pm2 start app.js -i max # 根据CPU核心数启动进程
- 查看日志:
pm2 logs my-app
- 开机自启:
pm2 startup && pm2 save
- 集群模式(利用多核CPU):
其他实用工具
- Forever:轻量级守护进程
npm install forever -g forever start app.js
- 环境变量管理:
- 使用
.env
文件(配合dotenv
包):npm install dotenv
在代码中引入:
require('dotenv').config(); console.log(process.env.DB_HOST);
- 使用
安全与最佳实践
- 最小权限原则:
- 避免使用
root
用户运行:pm2 start app.js --user www-data
- 避免使用
- 依赖安全:
- 定期扫描漏洞:
npm audit
- 定期扫描漏洞:
- 日志管理:
- 禁止将敏感信息(如密钥)输出到日志
- 使用 PM2 的日志轮转:
pm2 install pm2-logrotate
- 防火墙配置:
仅开放必要端口(如 HTTP/HTTPS)
场景化建议
- 开发阶段:
nodemon
+--inspect
调试 - 测试环境:PM2 模拟生产配置
- 生产部署:PM2 集群模式 + Nginx 反向代理
- 容器化:在 Docker 中使用
CMD ["node", "app.js"]
根据需求选择工具:
- 快速调试 →
node --watch
- 开发效率 → Nodemon
- 生产稳定 → PM2
定期更新 Node.js 版本(通过nvm
管理),并遵循安全准则,可显著提升应用可靠性。
引用说明:
- Node.js 官方文档(https://nodejs.org/api/cli.html)
- Nodemon 使用指南(https://nodemon.io/)
- PM2 功能详解(https://pm2.keymetrics.io/docs/usage/quick-start/)
- OWASP Node.js 安全规范(https://cheatsheetseries.owasp.org/cheatsheets/Nodejs_Security_Cheat_Sheet.html)
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/6406.html