在Debian上部署JavaScript应用到线上,可按以下步骤操作:
安装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
上传应用代码
通过SCP/FTP/Git将项目文件上传至服务器目录,确保包含package.json。
安装依赖
进入项目目录执行:
npm install
配置环境变量
export 变量名=值。~/.bashrc或/etc/environment中添加,如:NODE_ENV=production
启动应用
node app.js(不推荐,无进程管理)。sudo npm install -g pm2
pm2 start app.js --name "my-app"
pm2 startup # 设置开机自启
pm2 save # 保存进程列表
配置反向代理(可选)
用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
配置HTTPS(可选)
使用Let’s Encrypt免费证书:
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d yourdomain.com
防火墙设置(可选)
开放HTTP/HTTPS端口:
sudo ufw allow 'Nginx Full'
sudo ufw reload
完成以上步骤后,应用即可通过域名或IP访问。生产环境建议定期备份、监控日志,并更新依赖包以确保安全。