在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
请注意,上述步骤是一个基本的部署流程,具体步骤可能会根据您的项目需求和使用的工具有所不同。此外,确保在部署前进行充分的测试,以验证一切配置正确无误。