debian

Debian上js应用如何部署到线上

小樊
44
2025-08-16 06:50:29
栏目: 编程语言

在Debian上部署JavaScript应用到线上,可按以下步骤操作:

  1. 安装Node.js
    使用NodeSource仓库安装指定版本(如16.x):

    curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -  
    sudo apt-get install -y nodejs  
    

    或通过NVM管理多版本:

    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash  
    source ~/.bashrc  
    nvm install 16  
    nvm use 16  
    
  2. 上传应用代码
    通过SCP/FTP/Git将项目文件上传至服务器目录,确保包含package.json

  3. 安装依赖
    进入项目目录执行:

    npm install  
    
  4. 配置环境变量

    • 临时设置:在终端执行export 变量名=值
    • 永久设置:在~/.bashrc/etc/environment中添加,如:
      NODE_ENV=production  
      
  5. 启动应用

    • 直接运行:node app.js(不推荐,无进程管理)。
    • 使用PM2(推荐):
      sudo npm install -g pm2  
      pm2 start app.js --name "my-app"  
      pm2 startup  # 设置开机自启  
      pm2 save     # 保存进程列表  
      
  6. 配置反向代理(可选)
    用Nginx代理请求到Node.js端口(如3000):

    sudo apt install nginx  
    sudo nano /etc/nginx/sites-available/yourdomain.com  
    

    添加配置:

    server {  
        listen 80;  
        server_name yourdomain.com;  
        location / {  
            proxy_pass http://localhost:3000;  
            proxy_set_header Host $host;  
        }  
    }  
    

    启用配置并重启Nginx:

    sudo ln -s /etc/nginx/sites-available/yourdomain.com /etc/nginx/sites-enabled/  
    sudo nginx -t && sudo systemctl restart nginx  
    
  7. 配置HTTPS(可选)
    使用Let’s Encrypt免费证书:

    sudo apt install certbot python3-certbot-nginx  
    sudo certbot --nginx -d yourdomain.com  
    
  8. 防火墙设置(可选)
    开放HTTP/HTTPS端口:

    sudo ufw allow 'Nginx Full'  
    sudo ufw reload  
    

完成以上步骤后,应用即可通过域名或IP访问。生产环境建议定期备份、监控日志,并更新依赖包以确保安全。

0
看了该问题的人还看了