在Linux上部署Node.js項目通常涉及以下幾個步驟:
首先,你需要在Linux系統上安裝Node.js和npm(Node包管理器)。你可以使用以下命令來安裝:
# 使用NodeSource二進制分發庫安裝Node.js和npm
curl -fsSL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo apt-get install -y nodejs
確保你的Node.js項目已經準備好,并且包含一個package.json
文件,這個文件列出了項目的依賴項和其他配置信息。
在你的項目目錄中運行以下命令來安裝所有依賴項:
npm install
如果你的項目需要特定的環境變量,你可以在項目根目錄下創建一個.env
文件,并在其中定義這些變量。例如:
PORT=3000
DATABASE_URL=mongodb://localhost:27017/mydatabase
然后,你可以使用dotenv
包來加載這些環境變量:
npm install dotenv
在你的應用程序入口文件(例如app.js
或index.js
)中添加以下代碼:
require('dotenv').config();
你可以使用以下命令來啟動你的Node.js應用程序:
node app.js
或者,如果你希望使用pm2
來管理你的應用程序,可以按照以下步驟進行:
npm install pm2 -g
pm2 start app.js --name my-app
如果你希望通過HTTP/HTTPS訪問你的Node.js應用程序,可以使用Nginx或Apache作為反向代理。
安裝Nginx:
sudo apt-get install nginx
配置Nginx:
編輯Nginx配置文件(通常位于/etc/nginx/sites-available/default
),添加以下內容:
server {
listen 80;
server_name yourdomain.com;
location / {
proxy_pass http://localhost: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;
}
}
重啟Nginx:
sudo systemctl restart nginx
你可以使用pm2
來監控和管理你的Node.js應用程序。例如,查看應用程序狀態:
pm2 status
查看日志:
pm2 logs
重啟應用程序:
pm2 restart my-app
停止應用程序:
pm2 stop my-app
刪除應用程序:
pm2 delete my-app
通過以上步驟,你應該能夠在Linux上成功部署你的Node.js項目。