在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项目。