通过Nginx转发admin连接后端接口

本文详细描述了如何在本地部署并配置开发环境,包括安装和配置nginx、mysql、rabbitmq、redis等服务,使用Docker构建和运行应用容器,以及设置跨域和Nginx配置,最终实现前端项目访问测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.需求配置

在本地环境部署一套开发环境,方便开发金磊调试功能

所使用到的服务有nginx,mysql,rabbitmq,redis,docker

服务安装网上都有教程这里就不一一列举出来了,服务都配置好之后 开始组建开发环境

2.开发环境搭建

在root用户下新建一个目录,licloud-api-develop

 

mkdir /root/licloud-api-develop

然后将后端接口包通过put拉取到这个目录下面

 

发现下面有一个Dockerfile文件,构建是这个Dockerfile

Dockerfile -t build licloud-api-develop .

ls查看一下

构建完成之后会出现两个镜像,这个时候我们运行第一个

 

docker run -it --name licloud-api-1 -p 5000:5000 /bin/bash docker ps -a

然后确定一下容器的状态

确定没有问题之后,我们开始修改nginx的配置,ubuntu中nginx配置文件的路劲在这里

 

cat /etc/nginx/sites-available/default

配置如下:

注意:

第一处ip必须写IP地址 不能写localhost 不然会报错

第二处跨域 域名后面要加 / 号 不然会读取不到数据

然后将我们前端项目admin的文件夹拉取到/usr/share/www/html/dist下

重置nginx配置

 

nginx -t nginx -s reload

访问192.168.5.177测试,访问成功

<think>好的,我现在要分析用户提供的这个Nginx配置文件。首先,我需要了解每个部分的作用,确保理解正确。然后根据用户的要求,用中文详细解释配置的结构和各个指令的功能,同时注意行内数学表达式和独立公式的格式要求。不过看起来这个配置主要是Nginx的server块设置,可能不涉及数学公式,但需要确认是否有需要用到的地方。如果有变量或路径中的特殊符号,可能需要用$...$格式。比如路径中的变量或者正则表达式。 首先,用户提供的配置是一个Nginx的server块,监听9100端口,服务器名是192.168.1.127。接下来有很多location块,每个处理不同的路径。需要逐一解释这些location的作用,比如alias、proxy_pass等指令的功能。 注意用户提到的系统级指令,比如所有行内数学表达式需要用$...$,独立公式用$$...$$。但在这个配置中,可能主要涉及的是代码块和路径,数学表达式可能较少。但如果有像变量$host、$remote_addr等,可能需要用$...$包裹,比如$host$。需要检查是否有需要这样处理的地方。 接下来,按照用户要求的结构,分步骤解释配置的每个部分。确保结构清晰,帮助用户理解每个配置项的作用。可能需要分段讲解server块的基本设置,然后每个location的作用,包括静态文件服务、反向代理等。 需要确认是否存在潜在问题,比如使用alias和proxy_pass时的路径是否正确,是否有斜杠问题。例如,location /admin 使用alias到目录dist,这时候访问/admin/时,Nginx会从该目录下寻找文件。而proxy_pass的地址是否带有结尾的斜杠,会影响URL的转发方式。例如,location /oauth2 的proxy_pass后面有/oauth2,是否正确?可能需要指出这些细节。 另外,用户配置中的absolute_redirect off; 是为了防止Nginx在重定向时使用绝对路径,可能会影响某些情况下的重定向行为,需要解释这一点。 在解释过程中,要确保使用中文,语句通顺,结构清晰,分点说明各个部分的功能,指出可能的注意事项或常见问题。比如,使用alias时,目录路径是否正确,权限是否足够,以及proxy_pass的目标地址是否可达等。 最后,检查是否有语法错误,比如括号是否匹配,分号是否正确,虽然用户可能已经确认过,但指出潜在的错误点也是有帮助的。比如,location /govern/ 的proxy_pass后面是否有斜杠导致URL替换的问题。 总结来说,我需要将整个配置文件分解,逐一解释每个指令和块的作用,注意事项,确保用户能够理解配置的结构和每个部分的功能,同时指出可能的配置陷阱或最佳实践。</think>以下是对您提供的Nginx配置文件的逐步解析: --- ### 一、基础服务器配置 ```nginx server { listen 9100; server_name 192.168.1.127; absolute_redirect off; access_log /var/log/nginx/threecenter_access.log; ``` - **核心功能**:定义一个监听端口为$9100$、域名为$192.168.1.127$的虚拟主机 - **关键指令**: - `absolute_redirect off`:禁用绝对路径重定向(避免因域名变化导致重定向异常) - `access_log`:指定访问日志存储路径为$/var/log/nginx/threecenter\_access.log$ --- ### 二、静态资源路由配置 #### 1. 后台管理页面 ```nginx location /admin { alias C:/Work/luan/frontend/tc_admin_web/dist; index index.html index.htm; } ``` - **路径映射**:将URL路径$/admin$映射到本地目录$C:/Work/luan/frontend/tc\_admin\_web/dist$ - **示例**:访问$http://192.168.1.127:9100/admin/index.html$会返回该目录下的$index.html$ #### 2. 登录页面 ```nginx location /login { alias C:/Work/luan/frontend/tc_oauth2_web/dist; index index.html index.htm; } ``` - 逻辑同上,处理登录相关静态资源 #### 3. 二维码资源目录 ```nginx location /qr { alias C:/Work/luan/frontend/qr-img; index index.html index.htm; } ``` - 专用于提供二维码图片等静态资源 --- ### 三、反向代理配置 #### 1. OAuth2服务代理 ```nginx location /oauth2 { proxy_pass http://192.168.1.127:7070/oauth2; } ``` - **流量转发**:将$/oauth2$请求转发后端服务$http://192.168.1.127:7070/oauth2$ - **注意**:由于proxy_pass末尾包含路径$/_oauth2$,实际URL会进行路径替换(如$/oauth2/token$ → $http://后端/oauth2/token$) #### 2. 后台API代理 ```nginx location /api/admin { proxy_pass http://192.168.1.127:7071/admin; # 其他proxy_set_header配置... } ``` - **Header处理**:透传客户端真实IP($X-Real-IP$)、域名等信息 - **超时控制**:设置连接超时时间为$15$秒 #### 3. 文件服务代理 ```nginx location /file { proxy_pass http://192.168.1.127:7071/admin; } ``` - 特别说明:此配置将$/file$请求全部转发到后台的$/admin$接口 --- ### 四、特殊配置项 #### 1. 跨系统服务代理 ```nginx location /govern/ { proxy_pass http://10.90.3.47:7080/; } ``` - **路径处理**:由于proxy_pass以斜杠$/$结尾,请求路径会完全替换(如$/govern/test$ → $http://10.90.3.47:7080/test$) #### 2. 错误页面配置 ```nginx error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } ``` - 自定义5xx错误页面,从$/usr/share/nginx/html$目录读取$50x.html$ --- ### 五、潜在优化点 1. **路径安全性**:Windows风格路径$C:/Work/...$在Linux环境下需检查文件系统挂载配置 2. **斜杠处理**:`location /govern/`与`proxy_pass`后的斜杠需严格匹配,避免路径拼接错误 3. **日志管理**:建议增加$error\_log$配置以便问题排查 通过此配置,Nginx实现了静态资源托管、多后端服务代理、错误处理等核心功能,构建了完整的请求分发体系。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值