在Ubuntu系統中部署Node.js應用通常涉及以下幾個步驟:
安裝Node.js: 首先,你需要在你的Ubuntu系統上安裝Node.js。你可以使用NodeSource的二進制分發庫來安裝特定版本的Node.js。
# 導入NodeSource倉庫的GPG密鑰
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
# 安裝Node.js和npm
sudo apt-get install -y nodejs
上面的命令會安裝Node.js的長期支持(LTS)版本。如果你想安裝特定版本,只需將setup_16.x替換為你想要的版本號。
上傳你的Node.js應用: 將你的Node.js應用上傳到服務器。你可以使用SCP、SFTP或其他文件傳輸方法。
安裝依賴: 在你的應用目錄中,運行以下命令來安裝所有必要的npm包:
npm install
配置環境變量(可選):
如果你的應用需要特定的環境變量,你可以在服務器上設置它們。例如,你可以在~/.bashrc或~/.profile文件中添加它們,或者創建一個.env文件并在應用中使用dotenv包來加載它們。
運行你的應用:
使用node命令來啟動你的應用:
node app.js
其中app.js是你的Node.js應用的入口文件。
使用進程管理器(推薦): 為了確保你的Node.js應用在后臺運行,并且在服務器重啟后自動啟動,你可以使用進程管理器,如PM2。
安裝PM2:
sudo npm install pm2 -g
使用PM2啟動你的應用:
pm2 start app.js
PM2提供了許多有用的功能,如日志管理、性能監控和應用自動重啟。
配置Nginx反向代理(可選): 如果你想通過HTTP/HTTPS訪問你的Node.js應用,你可能需要配置一個Web服務器,如Nginx,作為反向代理。
安裝Nginx:
sudo apt-get 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 ln -s /etc/nginx/sites-available/your-config /etc/nginx/sites-enabled/
sudo nginx -t # 檢查配置文件是否有語法錯誤
sudo systemctl restart nginx
按照這些步驟,你應該能夠在Ubuntu系統上成功部署你的Node.js應用。記得根據你的具體應用需求調整配置。