温馨提示×

在Debian上使用Node.js进行Web开发步骤

小樊
48
2025-09-19 17:06:15
栏目: 编程语言

1. 更新系统包
在Debian上安装Node.js前,先更新系统包列表以确保依赖项是最新的:

sudo apt update && sudo apt upgrade -y

2. 安装Node.js和npm
推荐使用NodeSource仓库安装最新稳定版本的Node.js(以16.x为例):

  • 导入NodeSource GPG密钥并添加仓库:
    curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
    
  • 安装Node.js(包含npm):
    sudo apt install -y nodejs
    
  • 验证安装:
    node -v  # 查看Node.js版本(如v16.x.x)
    npm -v   # 查看npm版本(如8.x.x)
    

注:若需安装其他版本(如14.x),将setup_16.x替换为setup_14.x即可。

3. 创建Node.js项目

  • 新建项目目录并进入:
    mkdir my-web-app && cd my-web-app
    
  • 初始化npm项目(生成package.json文件,记录项目元数据和依赖):
    npm init -y
    

4. 安装Web框架(以Express为例)
Express是Node.js最流行的Web框架,简化路由、中间件等操作:

npm install express --save

注:--save参数将Express添加到package.json的依赖列表中,便于后续版本管理。

5. 编写Web应用代码

  • 创建index.js(或app.js)文件:
    nano index.js
    
  • 输入以下基础Express代码:
    const express = require('express');
    const app = express();
    const port = 3000;
    
    // 定义根路由
    app.get('/', (req, res) => {
      res.send('Hello World from Node.js on Debian!');
    });
    
    // 启动服务器
    app.listen(port, () => {
      console.log(`Server running at http://localhost:${port}`);
    });
    
  • 保存并退出(Nano编辑器中按Ctrl+XYEnter)。

6. 运行Web应用
在终端执行以下命令启动服务器:

node index.js
  • 打开浏览器访问http://localhost:3000,应看到“Hello World from Node.js on Debian!”的响应。

7. 可选:提升开发体验

  • 使用Nodemon自动重启:安装Nodemon作为开发依赖,修改代码后自动重启服务器:

    npm install --save-dev nodemon
    

    修改package.jsonscripts部分,添加dev命令:

    "scripts": {
      "start": "node index.js",
      "dev": "nodemon index.js"
    }
    

    之后通过npm run dev启动开发模式。

  • 使用PM2进程管理:生产环境中,用PM2保持应用运行、监控状态及自动重启:

    sudo npm install -g pm2
    pm2 start index.js --name "my-web-app"
    pm2 status  # 查看应用状态
    pm2 save    # 保存当前进程列表
    pm2 startup # 设置开机自启动
    

8. 可选:配置Nginx反向代理
为提高性能、支持HTTPS或隐藏端口,可将Nginx作为反向代理:

  • 安装Nginx:
    sudo apt install -y nginx
    
  • 配置Nginx:编辑默认站点配置文件(/etc/nginx/sites-available/default),替换为以下内容:
    server {
      listen 80;
      server_name your_domain_or_ip;  # 替换为域名或IP
    
      location / {
        proxy_pass http://localhost:3000;  # 转发到Node.js应用
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
      }
    }
    
  • 测试配置并重启Nginx:
    sudo nginx -t  # 检查配置语法
    sudo systemctl restart nginx
    
    现在可通过http://your_domain_or_ip访问应用。

0