gogogo
管理员
管理员
  • UID25
  • 粉丝0
  • 关注0
  • 发帖数1384
阅读:2967回复:0

Nginx 前后端分离项目部署配置

楼主#
更多 发布于:2022-08-26 14:36
实现前后端分离,可以让前后端独立开发、独立部署、独立单测,双方通过JSON进行数据交互。


对于前端开发人员来说,不用每次调试都需要启动或配置Java/Tomcat运行环境;对于后端开发人员来说 ,也不用在需要往页面注入数据。


一:部署前端资源


前端资源部署在nginx的html文件中;





 


二:配置前端资源访问路径和默认访问路径


root 是指定项目的根目录,适用与server和location。可以指定多个,如果locaiton没有指定,会往其外层的server或http中寻找继承。


index 是指定网站初始页。该指令后面可以跟多个文件,用空格隔开;如果包括多个文件,Nginx会根据文件的枚举顺序来检查,直到查找的文件存在;文件可以是相对路径也可以是绝对路径,绝对路径需要放在最后;文件可以使用变量$来命。


try_files  最核心的功能是可以替代rewrite;按顺序检查文件是否存在,返回第一个找到的文件。结尾的斜线表示为文件夹 -$uri/。如果所有的文件都找不到,会进行一个内部重定向到最后一个参数。


rewrite 是实现URL重定向的重要指令,他根据regex(正则表达式)来匹配内容跳转到replacement,结尾是flag标记。


location / {
    root  html/dist;
    index  index.html;    
}
或者
location / {
    root  html/dist;
    try_files $uri $uri/ @rewrite;
}
 
location @rewrite{
    rewrite ^.*$ /index.html last;
}
 


三:部署后端资源


后端资源部署在tomcat中;





 


四:配置后端资源访问路径


proxy_pass 配置的路径如果是以/结尾,如上面的配置v1,那么此时路径为相对路径,否则为绝对路径;


proxy_connect_timeout 该指令设置与upstream server的连接超时时间,有必要记住,这个超时不能超过75秒;


proxy_read_timeout  该指令设置与代理服务器的读超时时间。它决定了nginx会等待多长时间来获得请求的响应。这个时间不是获得整个response的时间,而是两次reading操作的时间。


proxy_send_timeout  说明 这个指定设置了发送请求给upstream服务器的超时时间。超时设置不是为了整个发送期间,而是在两次write操作期间。如果超时后,upstream没有收到新的数据,nginx会关闭连接;


client_max_body_size   设置nginx的client_max_body_size解决nginx+java上传大文件的问题;500m表示最大上传500M,需要多大设置多大;


proxy_set_header  用来重定义发往后端服务器的请求头;


location /manage {
    proxy_pass http://127.0.0.1:8881;
    proxy_connect_timeout 3;
    proxy_send_timeout 30;
    proxy_read_timeout 30;
    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-Server $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    client_max_body_size 100m;
}
五:Nginx完整配置;





 
————————————————
版权声明:本文为CSDN博主「kung900519」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/kung_com/article/details/96113183
游客


返回顶部