linux

Linux服务器上Node.js应用如何部署

小樊
36
2025-11-14 19:43:07
栏目: 云计算

在Linux服务器上部署Node.js应用通常涉及以下几个步骤:

  1. 准备工作

    • 确保你的Linux服务器已经安装了Node.js和npm(Node包管理器)。如果没有安装,可以通过以下命令安装:
      curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
      sudo apt-get install -y nodejs
      
    • 确保服务器上有一个Web服务器(如Nginx或Apache)来处理HTTP请求。
  2. 上传应用代码

    • 使用FTP、SCP或其他文件传输工具将你的Node.js应用代码上传到服务器上的一个目录中,例如/var/www/myapp
  3. 安装依赖

    • 进入应用目录并运行以下命令来安装所有依赖项:
      cd /var/www/myapp
      npm install
      
  4. 配置环境变量

    • 如果你的应用需要特定的环境变量(如数据库连接字符串、API密钥等),可以在服务器上设置这些变量。例如,可以在/etc/environment文件中添加:
      MY_APP_SECRET=my_secret_key
      
    • 或者在应用启动脚本中设置环境变量。
  5. 启动应用

    • 你可以手动启动应用,也可以使用进程管理工具(如PM2)来管理应用的生命周期。以下是手动启动应用的命令:
      node app.js
      
    • 使用PM2启动应用:
      npm install pm2 -g
      pm2 start app.js --name myapp
      
  6. 配置反向代理

    • 如果你使用Nginx作为Web服务器,可以配置一个反向代理来将HTTP请求转发到Node.js应用。以下是一个简单的Nginx配置示例:
      server {
          listen 80;
          server_name example.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;
          }
      }
      
    • 将上述配置保存到/etc/nginx/sites-available/myapp,然后创建一个符号链接到sites-enabled目录:
      sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/
      
    • 测试Nginx配置并重启服务:
      sudo nginx -t
      sudo systemctl restart nginx
      
  7. 设置防火墙规则

    • 确保防火墙允许HTTP(端口80)和HTTPS(端口443)流量。例如,使用ufw
      sudo ufw allow 'Nginx Full'
      
  8. 监控和维护

    • 使用PM2或其他监控工具来监控应用的运行状态,并设置日志轮转以便于维护。

通过以上步骤,你应该能够在Linux服务器上成功部署你的Node.js应用。

0
看了该问题的人还看了