linux中如何启动nodejs

Linux中启动Node.js应用,先安装Node.js,进入项目目录执行node [入口文件名].js即可运行。

是在Linux系统中启动Node.js的详细步骤指南,涵盖从安装到进程管理的完整流程:

linux中如何启动nodejs

安装Node.js环境

通过包管理器安装(推荐)

  • Ubuntu/Debian系列:依次执行以下命令更新软件源并安装Node.js及npm工具:
    sudo apt update
    sudo apt install nodejs
    sudo apt install npm
  • CentOS/RHEL系列:使用YUM进行安装:
    sudo yum update
    sudo yum install nodejs
    sudo yum install npm

    ⚠️ 注意:不同发行版的默认仓库可能提供较旧版本,若需最新版,建议改用NodeSource脚本或NVM管理多版本。

使用Node Version Manager (NVM)灵活切换版本

如果需要同时管理多个Node.js版本,可通过NVM实现:

   curl -ohttps://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
   source ~/.bashrc
   nvm install node       # 安装最新稳定版
   nvm use node           # 切换为默认版本

验证安装成功:node --versionnpm --version应分别显示对应版本号。


创建与配置项目

初始化新项目

进入目标目录后运行:

   mkdir mynodeapp && cd mynodeapp
   npm init -y                 # 快速生成默认package.json文件

此操作会创建基础的项目结构文件,其中包含依赖管理和脚本配置入口。

linux中如何启动nodejs

编写示例代码

创建入口文件(如app.js如下:

   const http = require('http');
   const hostname = '127.0.0.1';
   const port = 3000;
   const server = http.createServer((req, res) => {
     res.statusCode = 200;
     res.setHeader('Content-Type', 'text/plain');
     res.end('Hello Worldn');
   });
   server.listen(port, hostname, () => {
     console.log(`Server running at http://${hostname}:${port}/`);
   });

该代码实现了一个简单的HTTP服务器,访问本地3000端口时返回文本响应。


启动应用的多种方式对比

方法 命令示例 适用场景 优点
直接运行 node app.js 开发测试 简单快捷
npm脚本启动 npm start(需在package.json定义scripts字段) 标准化项目管理 符合社区惯例
Nodemon监控模式 nodemon app.js 开发调试 代码修改后自动重启
PM2进程管理 pm2 start app.js 生产环境部署 支持集群、日志记录、性能监控
Systemd服务化 创建.service文件后systemctl start 系统级守护进程 开机自启、异常恢复

常用命令详解:

  • 基础启动:在项目根目录执行node app.js,终端将输出日志信息,浏览器访问http://localhost:3000可看到结果,按Ctrl+C终止进程。
  • PM2高级用法:先全局安装PM2:sudo npm install -g pm2,然后启动应用并设置开机自启:
    pm2 start app.js          # 后台运行
    pm2 list                  # 查看所有进程列表
    pm2 save                   # 保存当前状态以便后续恢复
    pm2 startup                # 根据提示配置系统服务(如centos/ubuntu)

    💡提示:PM2支持负载均衡(pm2 scale <app_name> N)、环境变量注入等高级功能。


进阶部署方案

Docker容器化部署

适合云原生架构的场景:

   # Dockerfile示例
   FROM node:14
   WORKDIR /usr/src/app
   COPY package.json ./
   RUN npm install
   COPY . .
   EXPOSE 3000
   CMD ["node", "app.js"]

构建镜像并运行容器:

linux中如何启动nodejs

   docker build -t my-node-app .
   docker run -p 3000:3000 -d my-node-app

Systemd服务配置

创建/etc/systemd/system/node-app.service文件:

   [Unit]
   Description=Node.js Application
   After=network.target
   [Service]
   ExecStart=/usr/bin/node /path/to/app.js
   Restart=always
   User=nobody
   Group=nobody
   Environment=PATH=/usr/bin:/usr/local/bin
   Environment=NODE_ENV=production
   WorkingDirectory=/path/to/app
   [Install]
   WantedBy=multi-user.target

启用服务:

   sudo systemctl daemon-reload
   sudo systemctl enable node-app      # 开机自启
   sudo systemctl start node-app       # 立即启动

相关问答FAQs

Q1: 如何判断Node.js是否已成功安装?

:运行node -vnpm -v命令,若正常输出版本号则说明安装成功,若报错可能是环境变量未正确配置,检查PATH中是否包含/usr/local/bin或NVM的安装路径。

Q2: PM2管理的进程突然消失怎么办?

:首先用pm2 list查看状态,若显示异常退出,可通过pm2 logs查看错误日志,常见问题包括端口冲突、内存不足或代码异常,建议结合pm2 restart <app_name>尝试恢复,并检查系统资源使用情况(如top命令),对于频繁崩溃的应用,可在PM2配置文件中增加最大内存限制参数(–max-memory-restart

原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/77162.html

(0)
酷盾叔的头像酷盾叔
上一篇 2025年7月26日 08:19
下一篇 2025年7月26日 08:24

相关推荐

  • linux如何跳转到指定行

    Linux中跳转到指定行可用多种方法:sed -n ‘行号p’ 文件名、awk ‘NR==行号’ 文件名、less +行号 文件名或在vi/vim中输入:行号

    2025年7月25日
    000
  • linux 如何打开db文件怎么打开

    Linux中打开db文件,可使用命令sqlite3 [db文件路径],若未安装需先通过包管理器安装

    2025年7月8日
    000
  • Linux如何关掉终端?

    要退出Linux终端,可直接输入命令 exit 或按快捷键 Ctrl + D,若在图形界面中,也可点击窗口的关闭按钮,这些操作会安全结束当前终端会话。

    2025年6月13日
    000
  • 怎样高效掌握Linux内核开发核心技能

    精通Linux内核需深入理解操作系统原理及C语言基础,系统学习内核架构与源码结构,掌握进程管理、内存管理、文件系统等核心模块,结合QEMU模拟器进行模块开发调试,参与开源社区贡献代码,持续阅读《Linux内核设计与实现》等经典著作,通过实践项目强化对调度机制、设备驱动及网络协议栈的底层认知。

    2025年5月28日
    300
  • linux vim如何查找

    在Linux的Vim中,按/输入关键词回车可向下查找,按n跳转至下一个匹配项

    2025年7月23日
    000

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN