阅读:3026回复:0
Nginx 前后端分离项目部署配置
实现前后端分离,可以让前后端独立开发、独立部署、独立单测,双方通过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 |
|