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