顶部右侧自定义内容
顶部左侧自定义内容
当前位置:首页 > 我的文章 > 正文

乌班图系统怎么部署前后端分离系统

作者:neal发布时间:2025-12-29 10:03分类: 我的文章 浏览:192评论:0


导读:在Ubuntu系统部署前后端分离系统,核心是分别部署前端静态资源、后端服务,并配置反向代理实现统一访问,以下是通用步骤: 1. 准备环境安装所需依赖,如Node.js(前...

在Ubuntu系统部署前后端分离系统,核心是分别部署前端静态资源、后端服务,并配置反向代理实现统一访问,以下是通用步骤:
 
1. 准备环境
安装所需依赖,如Node.js(前端打包+后端Node服务)、Python/Java/Go(对应后端语言环境)、Nginx(反向代理+静态资源服务)、Docker(可选,容器化部署更便捷)。
- 安装Node.js: curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - && sudo apt-get install -y nodejs 
- 安装Nginx: sudo apt update && sudo apt install nginx 
2. 部署前端项目
- 本地或服务器上打包前端项目(以Vue/React为例): npm run build ,生成 dist 静态文件夹。
- 将 dist 文件夹上传至Ubuntu服务器,推荐路径: /var/www/[项目名]-frontend 。
- 配置Nginx指向该静态目录,编辑Nginx配置文件( /etc/nginx/sites-available/default ),添加:
 
plaintext   
server {
    listen 80;
    server_name 你的服务器IP/域名;

    location / {
        root /var/www/[项目名]-frontend/dist;
        index index.html;
        try_files $uri $uri/ /index.html; # 解决前端路由刷新404
    }
}
 
3. 部署后端项目
- 若为Node.js后端:上传代码至服务器,安装依赖 npm install --production ,用 pm2 (进程守护工具)启动服务: pm2 start app.js --name [后端服务名] 。
- 若为Java后端:打包为 jar 包,上传后用 nohup java -jar [xxx.jar] & 后台运行;或用 systemd 配置开机自启。
- 确保后端服务监听指定端口(如 3000 ),且服务器防火墙/安全组开放该端口。
4. 配置Nginx反向代理(关键)
为解决跨域问题,在Nginx配置中添加后端接口代理规则,示例:
plaintext   
server {
    listen 80;
    server_name 你的服务器IP/域名;

    # 前端静态资源
    location / {
        root /var/www/[项目名]-frontend/dist;
        index index.html;
        try_files $uri $uri/ /index.html;
    }

    # 后端接口代理
    location /api {
        proxy_pass http://127.0.0.1:3000; # 后端服务地址+端口
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}
 
 
配置完成后,重启Nginx生效: sudo nginx -t && sudo systemctl restart nginx 
5. 验证部署
浏览器访问服务器IP/域名,能正常加载前端页面,且前端调用 /api 接口可成功获取后端数据,即部署完成。
 

标签:


发表评论: