在Ubuntu上部署JavaScript項目(通常是一個Node.js項目)涉及多個步驟,包括系統準備、環境配置、項目部署、配置反向代理以及安全性和防火墻設置。以下是一個詳細的部署流程:
sudo apt update && sudo apt upgrade -y
sudo apt install -y build-essential git curl
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt install -y nodejs
node -v && npm -v
sudo npm install -g pm2
pm2 startup systemd
根據提示執行生成的命令。
scp -r /本地/項目路徑 ubuntu@服務器IP:/目標路徑
git clone https://github.com/你的倉庫地址.git
cd 項目目錄
cd /path/to/your/project
npm install
echo "PORT=3000" >> .env
pm2 start app.js
pm2 start "npm start" --name "my-app"
pm2 start ecosystem.config.js
pm2 save
pm2 list
pm2 logs
sudo ufw allow 22 # SSH端口(已默認開放)
sudo ufw allow 3000 # 應用端口
sudo ufw enable
sudo apt install nginx
sudo nano /etc/nginx/sites-available/your-domain.conf
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;
}
}
sudo ln -s /etc/nginx/sites-available/your-domain.conf /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d your-domain.com
pm2 logs
pm2 restart app-name
pm2 stop app-name
pm2 delete app-name
git pull
npm install
pm2 restart all
請注意,上述步驟是一個基本的部署流程,具體步驟可能會根據您的項目需求和使用的工具有所不同。此外,確保在部署前進行充分的測試,以驗證一切配置正確無誤。