在Ubuntu中部署JS项目(以Node.js项目为例)的核心步骤如下:
1. 环境准备
- 安装Node.js和npm:
- 使用默认仓库安装:
sudo apt update sudo apt install nodejs npm - 或使用nvm(推荐管理多版本):
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash source ~/.bashrc nvm install 18 # 指定版本
- 使用默认仓库安装:
2. 项目部署
- 上传项目文件:
通过scp/sftp/git将项目代码上传至服务器(避免上传node_modules,可后续安装)。 - 安装依赖:
进入项目目录执行:npm install
3. 启动应用
- 直接运行(开发环境):
node app.js # 或根据项目入口文件调整 - 生产环境(推荐PM2):
- 全局安装PM2:
sudo npm install -g pm2 - 启动应用:
pm2 start app.js --name "your-app" # 或 "npm" -- run start(针对框架如Next.js) pm2 save # 保存进程列表 pm2 startup # 设置开机自启
- 全局安装PM2:
4. 配置Nginx反向代理(可选,生产环境必备)
- 安装Nginx:
sudo apt install nginx - 修改配置文件:
编辑/etc/nginx/sites-available/your-app,添加:server { listen 80; server_name your-domain.com; location / { proxy_pass http://localhost:3000; # 转发至Node.js端口 proxy_set_header Host $host; } }启用配置并重启Nginx:
sudo ln -s /etc/nginx/sites-available/your-app /etc/nginx/sites-enabled/ sudo nginx -t && sudo systemctl reload nginx
5. 安全与优化
- 开放防火墙:
sudo ufw allow 'Nginx Full' - 设置SSL(可选):
使用Let’s Encrypt免费证书,通过certbot配置HTTPS。
验证访问
浏览器输入服务器IP或域名,若配置正确则可看到应用运行。
说明:不同框架(如React、Vue、Next.js)的构建命令可能不同(如npm run build),需根据项目类型调整步骤。