在Ubuntu上部署Node.js項目通常涉及以下幾個步驟:
安裝Node.js和npm: 首先,你需要在你的Ubuntu系統上安裝Node.js和npm。你可以使用NodeSource二進制分發庫來安裝最新版本的Node.js。
# 導入NodeSource庫的密鑰
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
# 安裝Node.js和npm
sudo apt-get install -y nodejs
這里setup_16.x是Node.js 16.x版本的安裝腳本,你可以根據需要替換為其他版本。
上傳項目到服務器: 你可以使用SCP、SFTP或其他文件傳輸方法將你的Node.js項目上傳到Ubuntu服務器。
scp -r /path/to/your/project username@your_server_ip:/path/to/destination
安裝項目依賴: 在項目目錄中,運行以下命令來安裝項目的依賴包。
cd /path/to/your/project
npm install
配置環境變量(可選):
如果你的應用需要特定的環境變量,你可以在服務器上設置它們。通常,這些變量會在.env文件中定義,并通過dotenv包加載。
啟動Node.js應用:
使用npm腳本來啟動你的Node.js應用。在你的package.json文件中,你應該有一個start腳本。
npm start
或者,如果你想手動啟動應用,可以使用:
node app.js
其中app.js是你的主應用文件。
使用進程管理器(推薦): 為了確保你的Node.js應用在后臺穩定運行,你可以使用進程管理器,如PM2。
# 安裝PM2
sudo npm install pm2 -g
# 使用PM2啟動你的應用
pm2 start app.js --name "your-app-name"
# 查看應用狀態
pm2 status
# 保存當前進程列表以便重啟后自動恢復
pm2 save
配置Nginx反向代理(可選): 如果你想通過HTTP/HTTPS訪問你的Node.js應用,你可能需要配置Nginx作為反向代理。
# 安裝Nginx
sudo apt-get install nginx
# 配置Nginx
sudo nano /etc/nginx/sites-available/your-app
在打開的文件中,添加一個server塊來代理請求到你的Node.js應用。
server {
listen 80;
server_name your_domain.com;
location / {
proxy_pass http://localhost:3000; # Node.js應用的端口
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;
}
}
然后,創建一個符號鏈接到sites-enabled目錄,并重啟Nginx。
sudo ln -s /etc/nginx/sites-available/your-app /etc/nginx/sites-enabled/
sudo nginx -t # 測試配置文件是否有誤
sudo systemctl restart nginx
設置防火墻規則(可選): 如果你的服務器啟用了防火墻,確保開放了Node.js應用使用的端口。
sudo ufw allow 3000
這里假設你的Node.js應用運行在3000端口。
以上步驟應該可以幫助你在Ubuntu上部署Node.js項目。記得根據你的具體需求調整這些步驟。