nginx实现前后端分离

article/2025/9/18 13:53:14

文章目录

    • nginx实现前后端分离
      • 1、安装nginx
      • 2、配置conf
        • 2.1、设置前端代码位置
        • 2.2、配置后台请求拦截
        • 2.3、完整配置


nginx实现前后端分离

1、安装nginx

参考 https://blog.csdn.net/mybook201314/article/details/73604640

2、配置conf

路径:nginx/conf/nginx.conf

2.1、设置前端代码位置

location / {# root写前端代码位置 Linux 如:/home/frontend/xxxroot   E:\\desktop\\HTML;index  index.html index.htm;
}

2.2、配置后台请求拦截

#后台跳转
#拦截所有前端 以 /api 开始的请求
#转发到 后端服务 http://localhost:8080/backend_project_name/api/......
location ~ ^/api {proxy_set_header Host $host;proxy_set_header X-Real-Ip $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forworded-For $http_x_forwarded_for;## allow 允许访问,限制其他IP访问 可以配置多个allow 192.168.1.101;allow 192.168.1.102;# 存 cookieproxy_cookie_path //backend_project_name/ / ;# 重写 后台请求项目名称# 若后台项目名称为/,或者没有,则此不用配置rewrite /(.+)$ /backend_project_name/$1 break;# 后台服务路径proxy_pass   http://localhost:8080;
}

2.3、完整配置

#定义Nginx运行的用户和用户组
#user  nobody;#nginx进程数,建议设置为等于CPU总核心数
worker_processes  1;#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;#进程文件
#pid        logs/nginx.pid;events {worker_connections  1024;
}#http服务器
http {include       mime.types;default_type  application/octet-stream;sendfile        on;#tcp_nopush     on;#keepalive_timeout  0;keepalive_timeout  65;#gzip  on;## 自定义服务 可以定义多个,监听不同端口server {// nginx服务监听端口listen       80;// nginx服务名称server_name  localhost;#charset koi8-r;#access_log  logs/host.access.log  main;// 前端位置配置location / {# root写前端代码位置 Linux 如:/home/frontend/xxxroot   E:\\desktop\\HTML;index  index.html index.htm;}#配置500 error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}#后台跳转#拦截所有前端 以 /api 开始的请求#转发到 后端服务 http://localhost:8080/backend_project_name/api/......location ~ ^/api {proxy_set_header Host $host;proxy_set_header X-Real-Ip $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forworded-For $http_x_forwarded_for;# 设置 cookieproxy_cookie_path //backend_project_name/ / ;# 重写 后台请求项目名称# 若后台项目名称为/,或者没有,则此不用配置rewrite /(.+)$ /backend_project_name/$1 break;# 后台服务路径proxy_pass   http://localhost:8080;}}
}

刚开始写微信公众号,请多多关注,欢迎,多谢!
微信公众号:《Java学习积累》
微信公众号:Java学习积累


http://chatgpt.dhexx.cn/article/LRSDP5Cw.shtml

相关文章

前后端分离和不分离图解

原理(JSON字符串作为前后端之间信息传递载体) 前后端进行信息传递前都要先将数据转化为json字符串形式才可以进行数据传输。 例如:前端向后端传递对象参数时需要将对象转为json形式,而后端return数据时,也要将数据转化…

使用IIS部署若依前后端分离项目

本章教程,介绍一下如何使用IIS部署若依前后端分离项目。 目录 一、准备需要部署的包 二、IIS服务器配置流程

java前后端分离怎么测试,前后端分离如何提高开发测试效率

前后端分离如何提高开发测试效率 三丰 soft张三丰 前后端分离项目 开发步骤: 项目是基于前后端分离的架构进行开发,前后端分离架构总体上包括前端和服务端,通常是多人协作并行开发,对于不同职位的人来说,有不同的侧重点。 1、需求分析 梳理用户的需求,分析业务流程 2、接…

前后端分离的好处知多少?

编者按:熟悉软件开发的小伙伴应该都知道,软件开发分前端和后端,那么前后端分不分离,这直接影响到开发的难度和复杂程度,跟小编一起来了解一下前后端分离让人意想不到的好处吧。 1、前后端的概念 在了解前后端分离之前…

前后端分离的好处是什么?

WEB 前后端分离三个最大的优点在于: 1:最大的好处就是前端js可以做很大部分的数据处理工作,对服务器的压力减小到最小2:后台错误不会直接反映到前台,错误接秒较为友好3:由于后台是很难去探知前台页面的分布…

消息队列面试相关

(1)为什么使用消息队列啊? 其实就是问问你消息队列都有哪些使用场景,然后你项目里具体是什么场景,说说你在这个场景里用消息队列是什么 面试官问你这个问题,期望的一个回答是说,你们公司有个什…

面试题:为什么使用消息队列?消息队列有什么优缺点?

目录 1. 面试题 2. 面试官心理分析 3. 面试题剖析 3.1. 为什么使用消息队列 3.2. 消息队列有什么优缺点 3.3. Kafka、ActiveMQ、RabbitMQ、RocketMQ 有什么优缺点? 1. 面试题 为什么使用消息队列?消息队列有什么优点和缺点?Kafka、Act…

消息中间件面试题

消息中间件 (原创不易,你们对阿超的赞就是阿超持续更新的动力!)(以免丢失,建议收藏,阿超持续更新中......) (--------------------------------------------------------…

《消息队列》常问面试题

1、为什么要使用消息队列?(消息队列的应用场景) 这个问题主要考察为什么使用消息队列?在项目中为了解决什么问题? 消息队列的本质 消息队列是一种“先进先出”的数据结构 常见应用场景:解耦、异步、削峰…

RabbitMQ消息队列相关的面试题汇总

RabbitMQ面试题 1. rabbitmq 的使用场景有哪些? ①. 跨系统的异步通信: 所有需要异步交互的地方都可以使用消息队列. ②. 多个应用之间的解耦: 由于消息队列是平台无关和语言无关的,而且语义上也不再是函数调用,因此适合作为多个应用之间的松耦合的接口. ③. 应用内的同步变…

队列及其经典面试题

前言 上一篇讲了栈和栈的经典面试题,链接如下: 栈与栈的经典面试题 其实栈和队列是一码事,都是对只能再线性表的一端进行插入和删除。 因此,其实栈和队列可以互相转换! 一、队列的特点 先进先出的数据结构&#…

消息队列面试经典十连问

前言 金三银四即将来临,整理了十道十分经典的消息队列面试题,看完肯定对面试有帮助的,大家一起加油哈~ 什么是消息队列消息队列的应用场景消息队列如何解决消息丢失问题消息队列如何保证消息的顺序性。消息有可能发生重复消费吗&#xff1f…

一些常见的消息队列面试题整理

你们公司生产环境用的是什么消息中间件? RabbitMQ、ActiveMQ、RocketMQ、Kafka优缺点与应用场景 为什么在你们系统架构中要引入消息中间件? 系统解耦、异步调用、流量削峰 说说系统架构引入消息中间件有什么缺点? 系统可用性降低(MQ挂了)、…

Java笔试面试-消息队列面试题总结

1.消息队列的应用场景有哪些? 答:消息队列的应用场景如下。 应用解耦,比如,用户下单后,订单系统需要通知库存系统,假如库存系统无法访问,则订单减库存将失败,从而导致订单失败。订…

Java面试题消息队列

消息队列的架构图: 生产者发送消息的流程: -- 消息的发送者(Producer)和RabbitMQ建立连接,获取通道. -- 生产者发送消息到指定虚拟机中的交换机(exchange), -- 交换机通过routhingKey来获取对应的队列. 消费者消费消息的流程: -- 消息的消费者(Consummer)和RabbitMQ建…

消息队列常见面试题

文章目录 2. 消息队列2.1 MQ有什么用?2.2 说一说生产者与消费者模式2.3 消息队列如何保证顺序消费?2.4 消息队列如何保证消息不丢?2.5 消息队列如何保证不重复消费?2.6 MQ处理消息失败了怎么办?2.7 请介绍消息队列推和…

MQ消息队列面试题

MQ消息队列面试题 什么是消息队列 消息队列,就是指保存消息的一个容器。类似于数据库、缓存等,用来保存数据的。 消息队列,就是一个使用队列来通信的组件 为什么需要消息队列,消息队列的应用场景 提供系统性能首先考虑的是数据库…

常见消息队列面试题

常见消息队列面试题 1.为什么要用消息队列?(消息队列的应用场景?) 消息队列的本质? 消息队列是一种“先进先出”的数据结构,一般用其作为数据的传递 常见的应用场景:解耦,异步以及削峰 解耦: 场景:双11是…

消息队列 面试题

1、面试题 为什么使用消息队列啊?消息队列有什么优点和缺点啊?kafka、activemq、rabbitmq、rocketmq都有什么区别以及适合哪些场景? 2、面试官心理分析 其实面试官主要是想看看: (1)第一,你…

消息队列面试题及答案

1、为什么使用消息队列? 消息队列使用的场景和中间件有很多,但解决的核心问题主要是:异步、解耦、消峰填谷。 2、消息队列的优缺点 异步、解耦、消峰填谷这是消息队列最大的优点,除了这些消息队列还可以会解决一些我们特殊业务…