1. 背景
目前,Java Web开发的前后端分离技术越来越成熟,许多新开发的信息系统使用了前后端分离的方案,这里就来记录一下前后端分离的项目部署。这里我们使用的前端框架是Vue,后台使用SpringBoot框架提供数据接口。
Nginx
nginx (engine x) 是一个高性能的HTTP和反向代理服务器,这里我们使用nginx来作为前端页面的静态服务器。
2. 思路
前端部署
nginx作为静态服务器部署前端代码
后端部署
nginx配置端口转发指向后台应用服务的预设端口
nginx反向代理
将发往nginx服务器的数据请求发送到后台端口,同时重写cookie路径使前后端共享cookie
3. 代码实现
代码语言:javascript复制 worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name your.domain.name;
location / {
root html/build;
try_files $uri /index.html; # try_files:检查文件; $uri:监测的文件路径; /index.html:文件不存在重定向的新路径
index index.html;
}
location /api/ {
# 把 /api 路径下的请求转发给真正的后端服务器
proxy_pass http://localhost:8080/;
# 把host头传过去,后端服务程序将收到your.domain.name, 否则收到的是localhost:8080
proxy_set_header Host $http_host;
# 把cookie中的path部分从/api替换成/
proxy_cookie_path /api /;
# 把cookie的path部分从localhost:8080替换成your.domain.name
proxy_cookie_domain localhost:8080 your.domain.name;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
版权属于:。。。源
本文链接:https://cloud.tencent.com/developer/article/2169639
转载时须注明出处及本声明。我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=2py75w7904qok