Nginx代理同域名前后端分离项目的完整步骤

前后端分离项目,前后端共用一个域名。通过域名后的 url 前缀来区别前后端项目。

以 vue + php 项目为例。直接上 server 模块的 nginx 配置。

server{
listen 80;
#listen [::]:80 default_server ipv6only=on;
server_name demo.com;#二配置项目域名
index index.html index.htm index.php;
1.转给前端处理
location{
前端打包后的静态目录
alias /home/wwwroot/default/vue-demo/disst/
}
#2.转给后端处理
location /api/ {
try files $uri Şuri/ /index.php?$query_string;
}
#3.最终php在这里转给fpm
location ~ [^/]\.php(/|$){
后端项目目录
root /home/wwwroot/default/demo/public/;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi index index.php;
include fastcgi.conf;
include pathinfo.conf;
}
#4.处理后端的静态资源
location /public/ {
alias /home/wwwroot/default/demo/public/uploads/;
#error_page 404 /404.html;
access_log /home/wwwlogs/access.log main;
}

简单解释

  • 当域名后存在 /api/ 前缀时,将转给后端处理;
  • 当域名后存在 /uploads/ 前缀时,访问后端的静态资源。
  • 由于 location 精准匹配的原则,除以上之外的访问都会被转到第一处 location 访问前端页面。

例如:

访问文章列表接口

1

GET https://demo.com/api/posts

访问上传的图片

1

GET https://demo.com/uploads/xxx.jpg

访问前端首页

1

GET https://demo.com/

访问文章页面

1

GET https://demo.com/posts

PS:alias 路径末尾一定要有 / 。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/66593.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【大数据基础】大数据概述

【作者主页】Francek Chen 【专栏介绍】 ⌈ ⌈ ⌈大数据技术原理与应用 ⌋ ⌋ ⌋专栏系统介绍大数据的相关知识,分为大数据基础篇、大数据存储与管理篇、大数据处理与分析篇、大数据应用篇。内容包含大数据概述、大数据处理架构Hadoop、分布式文件系统HDFS、分布式数…

解决Qt打印中文字符出现乱码

在 Windows 平台上,默认的控制台编码可能不是 UTF-8,这可能会导致中文字符的显示问题。 下面是在 Qt 应用程序中设置中文字体,并确保控制台输出为 UTF-8 编码: 1. Qt 应用程序代码 在 Qt 中,我们可以使用 QApplic…

测试用例颗粒度说明

当我们在编写测试用例时,总是会遇到一个问题:如何确定测试用例的颗粒度?测试用例过于粗糙,可能无法全面覆盖系统的细节;而颗粒度过细,又会导致测试重复、冗余。掌握合适的颗粒度,不仅可以提高测…

【大模型(LLM)面试全解】深度解析 Layer Normalization 的原理、变体及实际应用

系列文章目录 大模型(LLMs)基础面 01-大模型(LLM)面试全解:主流架构、训练目标、涌现能力全面解析 02-【大模型(LLM)面试全解】深度解析 Layer Normalization 的原理、变体及实际应用 大模型&…

VoiceBox:基于文本引导的多语种通用大规模语音生成

VoiceBox:基于文本引导的多语种通用大规模语音生成 Voicebox: Text-Guided Multilingual Universal Speech Generation at Scale Voicebox是由MetaAI发布的一个类似大语言模型的生成式语音模型。它是一种基础模型,可以完成类似大语言模型的功能,可以针对语音数据进行编辑、…

ModuleNotFoundError: No module named ‘setuptools_rust‘ 解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

基于 GEE 制作研究区影像覆盖图

目录 1 研究区影像覆盖图案例 2 基于 GEE 制作研究区影像覆盖图完整代码 3 运行结果 在写论文的时候,会有一小节内容专门介绍自己的研究区和使用的影像数据。为了让论文非常漂亮,有时候就需要做出研究区的地理位置图和所用卫星影像覆盖图,…

Mysql--基础篇--多表查询(JOIN,笛卡尔积)

在MySQL中,多表查询(也称为联表查询或JOIN操作)是数据库操作中非常常见的需求。通过多表查询,你可以从多个表中获取相关数据,并根据一定的条件将它们组合在一起。MySQL支持多种类型的JOIN操作,每种JOIN都有…

ASA-Cluster集群模式

集群设备数量看授权 整体性能小于单个设备累加 广播选举 优先级1-100 选举完成 不抢占 集群状态 master、standby 接口模式 Spanned EtherChannel、IndividualInterface 心跳线 control link。 数据、控制层面 集群脑裂之后 设备需要手动加入集群 连接的三个角色&#xf…

用于 EV 牵引电机的先进冷却技术

电动汽车牵引电机的冷却挑战 热管理的重要性 有效的热管理在电动汽车 (EV) 设计中至关重要,尤其是在牵引电机方面。这些电机将电能转化为机械运动,对车辆的整体性能和效率至关重要。 管理它们的热量至关重要,不仅可以…

RK3568平台(USB篇)禁用USB端口

一.linux中怎样查看usb的端口号 在USB口插入U盘: [ 198.141319][ T106] usb 3-1.3: new SuperSpeed Gen 1 USB device number 5 using xhci-hcd [ 198.161695][ T106] usb 3-1.3: New USB device found, idVendor=0781, idProduct=5591, bcdDevice= 1.00 [ 198.161721]…

Redis Exporter 安装与配置指南(v1.67.0)

🚀 1. 下载 Redis Exporter 首先,登录到目标服务器,下载 Redis Exporter v1.67.0 安装包。 wget https://github.com/oliver006/redis_exporter/releases/download/v1.67.0/redis_exporter-v1.67.0.linux-amd64.tar.gz📦 2. 解压…

Python 的网页自动化工具 DrissionPage 介绍

DrissionPage 介绍 视频教程 不要再学selenium了,DrissionPage更香_哔哩哔哩_bilibili不要再学selenium了,DrissionPage更香DrissionPage官网 https://www.drissionpage.cn/, 视频播放量 56768、弹幕量 12、点赞数 1012、投硬币枚数 503、收藏人数 316…

【HarmonyOS NEXT】鸿蒙应用使用后台任务之长时任务,解决屏幕录制音乐播放等操作不被挂起

【HarmonyOS NEXT】鸿蒙应用使用后台任务之长时任务,解决屏幕录制音乐播放等操作不被挂起 一、前言 1.后台是什么? 了解后台任务和长时任务前,我们需要先明白鸿蒙的后台特性:所谓的后台,指的是设备返回主界面、锁屏、…

nvm实现nodejs的版本管理

部分老旧项目需要使用低版本的node,网上很多是无效的,高版本无法直接安装低版本node,但是低版本nodejs可以安装部分高版本node,从而达到升级效果。 NVM安装 nvm是什么 nvm全英文也叫node.js version management,是一个…

基于华为ENSP的OSPF接口网络类型深入浅出(4)

本篇技术博文摘要 🌟 OSPF的接口在不同网络类型下的工作方式;不同网络类型下的报文通告方式深入浅出hub-spoke架构 引言 📘 在这个快速发展的技术时代,与时俱进是每个IT人的必修课。我是肾透侧视攻城狮,一名什么都会一…

【深度学习】多目标融合算法(二):底部共享多任务模型(Shared-Bottom Multi-task Model)

目录 一、引言 1.1 往期回顾 1.2 本期概要 二、Shared-Bottom Multi-task Model(SBMM) 2.1 技术原理 2.2 技术优缺点 2.3 业务代码实践 三、总结 一、引言 在朴素的深度学习ctr预估模型中(如DNN),通常以一个行…

TVbox 手机、智能电视节目一网打尽

文章目录 一、简要介绍二、优点三、下载地址 一、简要介绍 TVbox是目前最火爆的多端、多源的电视影音工具,是一款开源的自定义添加站源的影音工具。TVBox,支持电视频道直播。一款TV端影视工具,软件本身不具有任何影视资源,但可以…

2025新春烟花代码(二)HTML5实现孔明灯和烟花效果

效果展示 源代码 <!DOCTYPE html> <html lang"en"> <script>var _hmt _hmt || [];(function () {var hm document.createElement("script");hm.src "https://hm.baidu.com/hm.js?45f95f1bfde85c7777c3d1157e8c2d34";var …

ue5 蒙太奇,即上半身动画和下半身组合在一起,并使用。学习b站库得科技

本文核心 正常跑步动画端枪动画跑起来也端枪 正常跑步动画 端枪动画的上半身 跑起来也端枪 三步走&#xff1a; 第一步制作动画蒙太奇和插槽 第二步动画蓝图选择使用上半身动画还是全身动画&#xff0c;将上半身端枪和下半身走路结合 第三步使用动画蒙太奇 1.开始把&a…