在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 接口可成功获取后端数据,即部署完成。
标签:一般
- 上一篇:已经是第一篇了
- 下一篇:怎么在Ubuntu系统部署项目



发表评论: