linux

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

小樊
47
2025-06-07 02:43:34
栏目: 编程语言

在 Linux 上部署 Node.js 应用可以通过多种方式实现,以下是一些常见的方法:

方法一:使用 PM2 管理 Node.js 应用

PM2 是一个流行的 Node.js 进程管理器,可以帮助你管理和监控 Node.js 应用。

  1. 安装 PM2

    npm install pm2 -g
    
  2. 启动应用

    pm2 start app.js --name my-app
    
  3. 查看应用状态

    pm2 status
    
  4. 停止应用

    pm2 stop my-app
    
  5. 重启应用

    pm2 restart my-app
    
  6. 删除应用

    pm2 delete my-app
    

方法二:使用 systemd 创建服务

你可以创建一个 systemd 服务来管理你的 Node.js 应用。

  1. 创建 systemd 服务文件

    sudo nano /etc/systemd/system/my-app.service
    
  2. 添加以下内容

    [Unit]
    Description=My Node.js App
    After=network.target
    
    [Service]
    ExecStart=/usr/bin/node /path/to/your/app.js
    WorkingDirectory=/path/to/your/app
    User=your-user
    Group=your-group
    Environment=NODE_ENV=production
    Restart=always
    
    [Install]
    WantedBy=multi-user.target
    
  3. 重新加载 systemd 配置

    sudo systemctl daemon-reload
    
  4. 启动服务

    sudo systemctl start my-app
    
  5. 查看服务状态

    sudo systemctl status my-app
    
  6. 设置开机自启动

    sudo systemctl enable my-app
    

方法三:使用 Nginx 反向代理

你可以使用 Nginx 作为反向代理来处理 HTTP 请求并将它们转发到你的 Node.js 应用。

  1. 安装 Nginx

    sudo apt update
    sudo apt install nginx
    
  2. 配置 Nginx: 编辑 Nginx 配置文件:

    sudo nano /etc/nginx/sites-available/my-app
    

    添加以下内容:

    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;
        }
    }
    
  3. 启用配置: 创建符号链接:

    sudo ln -s /etc/nginx/sites-available/my-app /etc/nginx/sites-enabled
    
  4. 测试 Nginx 配置

    sudo nginx -t
    
  5. 重启 Nginx

    sudo systemctl restart nginx
    

方法四:使用 Docker 容器化部署

Docker 可以帮助你创建一个隔离的环境来运行你的 Node.js 应用。

  1. 安装 Docker

    sudo apt update
    sudo apt install docker.io
    
  2. 创建 Dockerfile: 在你的应用目录中创建一个 Dockerfile

    FROM node:14
    WORKDIR /usr/src/app
    COPY package*.json ./
    RUN npm install
    COPY . .
    EXPOSE 3000
    CMD ["node", "app.js"]
    
  3. 构建 Docker 镜像

    docker build -t my-node-app .
    
  4. 运行 Docker 容器

    docker run -p 3000:3000 my-node-app
    
  5. 查看容器状态

    docker ps
    
  6. 停止容器

    docker stop <container_id>
    

通过以上方法,你可以在 Linux 上部署你的 Node.js 应用。选择哪种方法取决于你的具体需求和偏好。

0
看了该问题的人还看了