在Debian上部署Node.js项目涉及几个步骤,包括安装Node.js、设置项目环境、配置Nginx以及启动和监控项目。以下是一个详细的指南:
首先,你需要在Debian系统上安装Node.js。你可以使用NodeSource的二进制分发库来安装特定版本的Node.js。
# 更新包列表
sudo apt update
# 安装NodeSource库
curl -fsSL https://deb.nodesource.com/setup_14.x | sudo -E bash -
# 安装Node.js和npm
sudo apt install -y nodejs
假设你已经有一个Node.js项目,并且项目已经准备好部署。
# 克隆项目到服务器
git clone https://github.com/your-repo/your-project.git /var/www/your-project
cd /var/www/your-project
# 安装项目依赖
npm install
Nginx将作为反向代理服务器来处理HTTP请求并将它们转发到你的Node.js应用程序。
# 安装Nginx
sudo apt install nginx
编辑Nginx配置文件以设置反向代理。
# 编辑Nginx配置文件
sudo nano /etc/nginx/sites-available/your-project
添加以下内容:
server {
listen 80;
server_name your-domain.com;
location / {
proxy_pass http://localhost:3000; # 假设你的Node.js应用运行在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;
}
}
保存并退出编辑器。
创建一个符号链接以启用该配置:
sudo ln -s /etc/nginx/sites-available/your-project /etc/nginx/sites-enabled/
测试Nginx配置:
sudo nginx -t
如果没有错误,重新加载Nginx:
sudo systemctl reload nginx
你可以使用pm2
来管理Node.js应用的启动和监控。
# 安装pm2
sudo npm install pm2 -g
# 启动Node.js应用
pm2 start app.js --name your-project
# 查看应用状态
pm2 status
# 监控应用日志
pm2 logs your-project
# 设置PM2开机自启动
pm2 startup
按照提示运行生成的命令。
确保你的服务器安全,配置防火墙以允许HTTP和HTTPS流量。
# 安装ufw
sudo apt install ufw
# 允许HTTP和HTTPS流量
sudo ufw allow 'Nginx Full'
# 启用防火墙
sudo ufw enable
为了安全起见,建议为你的域名配置SSL证书。你可以使用Let’s Encrypt来免费获取SSL证书。
# 安装Certbot
sudo apt install certbot python3-certbot-nginx
# 获取并安装SSL证书
sudo certbot --nginx -d your-domain.com
按照提示完成证书的安装和配置。
通过以上步骤,你应该能够在Debian上成功部署你的Node.js项目。