在Ubuntu上部署Node.js項目通常涉及以下幾個步驟:
安裝Node.js和npm: 首先,你需要在Ubuntu系統上安裝Node.js和npm(Node.js的包管理器)。你可以使用以下命令來安裝它們:
sudo apt update
sudo apt install nodejs npm
安裝完成后,你可以通過運行以下命令來檢查Node.js和npm的版本:
node -v
npm -v
傳輸項目文件: 將你的Node.js項目文件傳輸到Ubuntu服務器上。你可以使用SCP、SFTP或其他文件傳輸方法。
安裝項目依賴: 在項目目錄中,運行以下命令來安裝項目的依賴包:
npm install
這將根據你的package.json文件安裝所有必需的模塊。
配置環境變量(可選):
如果你的應用需要特定的環境變量,比如數據庫連接字符串或API密鑰,你應該在服務器上設置這些變量。你可以在~/.bashrc或~/.profile文件中設置環境變量,或者在啟動腳本中設置。
啟動應用: 使用npm啟動你的應用。通常,這可以通過運行以下命令來完成:
npm start
如果你的應用需要在后臺運行,你可以使用pm2這樣的進程管理器來啟動你的應用。首先安裝pm2:
npm install pm2 -g
然后使用pm2啟動你的應用:
pm2 start app.js --name "my-app"
這里的app.js是你的入口文件,--name是給你的應用指定的名稱。
配置Nginx反向代理(可選): 如果你想要通過HTTP/HTTPS訪問你的Node.js應用,你可能需要配置Nginx作為反向代理。首先安裝Nginx:
sudo apt install nginx
然后配置Nginx以將流量轉發到你的Node.js應用。編輯Nginx配置文件(通常位于/etc/nginx/sites-available/目錄下),并添加一個server塊:
server {
listen 80;
server_name example.com; # 替換為你的域名或公網IP
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;
}
}
保存文件并退出編輯器,然后重啟Nginx以應用更改:
sudo systemctl restart nginx
設置防火墻規則(可選): 如果你的服務器運行的是UFW防火墻,你需要允許HTTP(端口80)和HTTPS(端口443)流量:
sudo ufw allow 'Nginx Full'
完成以上步驟后,你的Node.js應用應該已經在Ubuntu服務器上部署并運行了。記得定期備份你的應用和數據庫,并保持系統和依賴包的更新以確保安全。