在Ubuntu系統中部署Node.js項目,可以按照以下步驟進行:
首先,確保你的Ubuntu系統上已經安裝了Node.js和npm。你可以使用以下命令來安裝它們:
sudo apt update
sudo apt install nodejs npm
你可以通過以下命令檢查Node.js和npm的版本:
node -v
npm -v
如果你還沒有一個Node.js項目,可以使用以下命令創建一個新的項目:
mkdir my-nodejs-app
cd my-nodejs-app
npm init -y
在你的項目目錄中,使用npm安裝項目所需的依賴包:
npm install
Nginx是一個高性能的HTTP和反向代理服務器,常用于部署Node.js應用。首先,安裝Nginx:
sudo apt install nginx
然后,配置Nginx以反向代理到你的Node.js應用。編輯Nginx配置文件:
sudo nano /etc/nginx/sites-available/default
在文件中添加以下內容:
server {
listen 80;
server_name your_domain_or_ip;
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;
}
}
將your_domain_or_ip
替換為你的域名或IP地址,并確保proxy_pass
指向你的Node.js應用監聽的端口(默認是3000)。
保存并退出編輯器,然后測試Nginx配置:
sudo nginx -t
如果沒有錯誤,重新加載Nginx以應用更改:
sudo systemctl reload nginx
在你的項目目錄中,使用以下命令啟動Node.js應用:
node app.js
或者,如果你使用的是pm2
來管理Node.js進程,可以先安裝pm2
:
sudo npm install -g pm2
然后使用pm2
啟動你的應用:
pm2 start app.js --name my-nodejs-app
pm2
會自動管理你的Node.js進程,并在服務器重啟時自動恢復。
確保你的防火墻允許HTTP(端口80)和HTTPS(端口443)流量。你可以使用以下命令來配置防火墻:
sudo ufw allow 'Nginx Full'
打開瀏覽器,訪問你的域名或IP地址,你應該能夠看到你的Node.js應用。
通過以上步驟,你就可以在Ubuntu系統中成功部署一個Node.js項目。