今天將學習如何將本地開發的應用部署到雲端伺服器,並確保應用能在網路上運行。
1.選擇伺服器與部署平台
2.部署應用到雲端伺服器
3.應用伺服器配置
4.管理與監控應用
有許多雲端平台可以選擇來部署你的 Node.js/Express 應用,下面是幾個常見的平台:
安裝 Heroku CLI:
npm install -g heroku
登錄 Heroku 並創建應用:
heroku login
heroku create my-express-app
部署應用:
git init
git add .
git commit -m "initial commit"
git push heroku master
打開應用:
heroku open
創建一個 Droplet(虛擬伺服器):
在 DigitalOcean 上創建一個新的 Droplet,選擇 Ubuntu 作為操作系統。
配置伺服器:
1.使用 SSH 連接到伺服器:
ssh root@your-server-ip
2.安裝 Node.js 和 npm:
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt-get install -y nodejs
3.安裝 PM2 來管理 Node.js 應用:
npm install -g pm2
部署應用:
pm2 start app.js
pm2 startup
pm2 save
sudo apt-get install nginx
配置 Nginx 的配置文件:
sudo nano /etc/nginx/sites-available/default
在配置文件中添加:
server {
listen 80;
server_name your-domain.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
反向代理:Nginx 或 Apache 是常用的反向代理伺服器,當外部請求進入伺服器時,它們負責將請求轉發給後端的 Express 應用,從而提高應用的性能和安全性。
PM2:這是一個強大的進程管理器,適合用來監控和管理 Node.js 應用。它可以保證應用在崩潰後自動重啟,並支援負載均衡。
部署後,應用的健康狀態和性能監控是至關重要的。以下是幾個常見的監控方式:
pm2 logs