ubuntu

ubuntu js项目如何部署上线

小樊
49
2025-07-19 21:40:06
栏目: 编程语言

在Ubuntu上部署JavaScript项目(通常是一个Node.js项目)涉及多个步骤,包括系统准备、环境配置、项目部署、配置反向代理以及安全性和防火墙设置。以下是一个详细的部署流程:

系统准备与环境配置

  1. 更新系统软件包
sudo apt update && sudo apt upgrade -y
  1. 安装基础工具
sudo apt install -y build-essential git curl
  1. 安装Node.js(推荐使用LTS版本)
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt install -y nodejs
  1. 验证安装
node -v && npm -v
  1. 全局安装PM2进程管理工具
sudo npm install -g pm2
  1. 设置PM2开机自启
pm2 startup systemd

根据提示执行生成的命令。

项目部署流程

  1. 上传Node.js项目
    • 通过SCP上传
      scp -r /本地/项目路径 ubuntu@服务器IP:/目标路径
      
    • 通过Git克隆
      git clone https://github.com/你的仓库地址.git
      cd 项目目录
      
  2. 进入项目目录
cd /path/to/your/project
  1. 安装项目依赖
npm install
  1. 配置环境变量(按需):
    • 方式1:直接写入:
      echo "PORT=3000" >> .env
      
    • 方式2:手动创建.env文件并填写配置。
  2. 启动项目(任选其一):
    • 直接启动js文件:
      pm2 start app.js
      
    • 启动npm脚本:
      pm2 start "npm start" --name "my-app"
      
    • 使用配置文件:
      pm2 start ecosystem.config.js
      
  3. 保存PM2进程列表
pm2 save
  1. 查看运行状态
pm2 list
pm2 logs

网络配置(可选)

  1. 开放防火墙端口
sudo ufw allow 22 # SSH端口(已默认开放)
sudo ufw allow 3000 # 应用端口
sudo ufw enable
  1. 配置Nginx反向代理(推荐):
    • 安装Nginx:
      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;
        }
      }
      
    • 启用配置并重启Nginx:
      sudo ln -s /etc/nginx/sites-available/your-domain.conf /etc/nginx/sites-enabled/
      sudo nginx -t
      sudo systemctl restart nginx
      
  2. 配置SSL证书(Let’s Encrypt)
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

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

0
看了该问题的人还看了