温馨提示×

Debian与JS框架如何搭配

小樊
46
2025-11-29 09:27:47
栏目: 编程语言

在 Debian 上,前端与后端 JS 框架的搭配通常分为两条链路:用 Node.js 运行后端框架(如 Express、NestJS),以及用 Node.js 工具链开发前端框架(如 Vue、React、Svelte)。下面给出兼顾稳定与可维护性的实践方案。


一、环境准备与版本选择

  • 优先使用系统自带或官方仓库的 Node.js LTS,减少维护成本。
    • Debian 13 自带 Node.js 20Debian 12 自带 Node.js 18,可直接安装:
      sudo apt update && sudo apt install -y nodejs npm
  • 多项目需要不同版本时,使用 NVM 管理版本:
    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
    source ~/.bashrc
    nvm install --lts
    nvm use --lts
  • 国内网络建议切换 npm 镜像npmmirror.com,避免证书过期导致的安装失败:
    npm config set registry https://registry.npmmirror.com
    或使用 nrm 管理镜像源:
    npm i -g nrm && npx nrm use taobao
    如需恢复官方源:npx nrm use npm
    注意:旧域名 registry.npm.taobao.org 的 HTTPS 证书已于 2024-01-22 过期,务必使用新域名。

二、后端 API 搭配 Express 与进程守护

  • 初始化与依赖:
    mkdir my-api && cd my-api
    npm init -y
    npm i express
  • 最小可用服务(server.js):
    const express = require(‘express’);
    const app = express();
    const port = process.env.PORT || 3000;
    app.get(‘/api/hello’, (_, res) => res.json({ msg: ‘Hello from Debian + Express’ }));
    app.listen(port, () => console.log(API listening on :${port}));
  • 本地运行与脚本:
    在 package.json 添加:
    “scripts”: { “start”: “node server.js” }
    运行:npm start
  • 生产进程守护与开机自启:
    npm i -g pm2
    pm2 start server.js --name api
    pm2 startup systemd # 按提示完成开机自启
    pm2 save
    pm2 status / logs / monit 可查看状态与日志。

三、前端框架搭配 Vue 与构建部署

  • 工具链安装(示例采用 Yarn):
    npm i -g yarn nrm
    npx nrm use taobao
  • 创建与启动项目:
    yarn create vue my-app
    cd my-app
    yarn
    yarn dev # 开发服务器默认 5173 端口
  • 生产构建与产物:
    yarn build # 生成 dist 静态文件
  • 静态托管与反向代理(Nginx 示例):
    • 将 dist 部署到站点目录(如 /var/www/my-app),Nginx 配置:
      server {
      listen 80;
      server_name your_domain_or_ip;
      root /var/www/my-app;
      index index.html;
      location / {
      try_files $uri $uri/ /index.html;
      }
      }
    • 如需将前端与后端 API 统一域名,可用同一 Nginx 承载前端静态与反向代理后端:
      location /api/ {
      proxy_pass http://127.0.0.1:3000/;
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      }
    • 检查并重载:
      sudo nginx -t && sudo systemctl reload nginx。

四、常见搭配与部署要点

  • 版本矩阵建议:
    • Debian 12/13 + Node.js 18/20 LTS + Express/NestJS/Vue/React/Svelte,兼顾稳定与生态兼容。
  • 进程与日志:
    • 后端用 PM2 管理(集群、监控、日志轮转);前端构建产物为纯静态,由 Nginx 托管。
  • 安全与运维:
    • 仅暴露必要端口(如 80/443),Node.js 服务绑定 127.0.0.1 由 Nginx 反向代理。
    • 启用 HTTPS/TLS(可用 Let’s Encrypt),设置安全响应头(如 CSP、X-Frame-Options)。
    • 使用 systemdPM2 开机自启,配置日志轮转(journald 或 PM2 日志)。
  • 镜像与缓存:
    • 统一使用 npmmirror.com 镜像源,避免旧域名证书问题;必要时配置私有仓库或缓存代理。

0