温馨提示×

在Debian上如何部署Node.js应用

小樊
55
2025-06-07 19:26:00
栏目: 编程语言

在Debian上部署Node.js应用可以通过以下步骤完成:

1. 更新系统包

首先,确保你的Debian系统是最新的:

sudo apt update
sudo apt upgrade -y

2. 安装Node.js和npm

你可以使用NodeSource的二进制分发库来安装Node.js和npm。以下是安装Node.js 14.x版本的示例:

# 添加NodeSource库
curl -fsSL https://deb.nodesource.com/setup_14.x | sudo -E bash -

# 安装Node.js和npm
sudo apt-get install -y nodejs

3. 验证安装

验证Node.js和npm是否正确安装:

node -v
npm -v

4. 创建项目目录

创建一个新的目录来存放你的Node.js应用:

mkdir my-node-app
cd my-node-app

5. 初始化Node.js项目

使用npm初始化一个新的Node.js项目:

npm init -y

6. 安装依赖

安装你的应用所需的依赖包。例如,如果你使用Express框架:

npm install express

7. 创建应用文件

创建一个入口文件,例如app.js

const express = require('express');
const app = express();
const port = 3000;

app.get('/', (req, res) => {
  res.send('Hello World!');
});

app.listen(port, () => {
  console.log(`App listening at http://localhost:${port}`);
});

8. 运行应用

在项目目录中运行你的Node.js应用:

node app.js

9. 使用PM2管理Node.js应用

为了确保你的应用在生产环境中稳定运行,可以使用PM2来管理Node.js进程。首先安装PM2:

sudo npm install -g pm2

然后使用PM2启动你的应用:

pm2 start app.js --name my-node-app

PM2会自动管理你的Node.js进程,并提供日志、监控和自动重启等功能。

10. 配置Nginx反向代理

为了通过HTTP/HTTPS访问你的Node.js应用,可以使用Nginx作为反向代理。首先安装Nginx:

sudo apt install nginx -y

然后配置Nginx以代理到你的Node.js应用。编辑Nginx配置文件(通常位于/etc/nginx/sites-available/default):

server {
    listen 80;
    server_name your_domain.com;

    location / {
        proxy_pass http://localhost:3000;
        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 ln -s /etc/nginx/sites-available/default /etc/nginx/sites-enabled
sudo nginx -t
sudo systemctl restart nginx

11. 配置防火墙

确保你的防火墙允许HTTP(80)和HTTPS(443)流量:

sudo ufw allow 'Nginx Full'

12. 启动应用并监控

使用PM2启动你的应用,并确保它持续运行:

pm2 start app.js --name my-node-app

你可以使用以下命令查看应用的日志和状态:

pm2 logs my-node-app
pm2 status

通过以上步骤,你就可以在Debian上成功部署一个Node.js应用。

0