当前位置: 首页 > article >正文

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.kler.cn/a/487634.html

相关文章:

  • 透明部署、旁路逻辑串联的区别
  • C++实现图书管理系统(Qt C++ GUI界面版)
  • 测试ip端口-telnet开启与使用
  • 如何使用进度条来显示QFle读取文件进度
  • Django学习笔记之数据库(一)
  • SQL概述
  • 论文笔记:FDTI: Fine-grained Deep Traffic Inference with Roadnet-enriched Graph
  • 【OAuth2系列】如何使用OAuth 2.0实现安全授权?详解四种授权方式
  • 基于Spring Boot的扶贫助农系统设计与实现(LW+页码+讲解)
  • 图片已经在windows上旋转了,但是在linux上仍然显示不正常
  • JVM vs JDK vs JRE
  • 基于Express+vue+高德地图API实现的出行可视化APP
  • 升级 Spring Boot 3 配置讲解 — JDK 23 会给 SpringBoot 带来什么特性?
  • Hadoop常见面试题
  • RabbitMQ发布确认高级篇(RabbitMQ Release Confirmation Advanced Edition)
  • Azure Synapse Analytics和Azure Databricks的共同点和区别
  • 岚图N次方KOC项目复盘总结---记录踩坑日记
  • 网络授时笔记
  • 30天开发操作系统 第 12 天 -- 定时器 v1.0
  • Jenkins使用入门
  • 保护性暂停原理
  • 刷式直流电机驱动芯片,适用于打印机、电器、工业设备以及其他小型机器中——GC8870
  • 解决Vscode中使用netdb.h的getaddrinfo和addrinfo会报错的方法
  • 【HTML+CSS+JS+VUE】web前端教程-9-列表标签之有序列表
  • Seed-TTS: A Family of High-Quality Versatile Speech Generation Models
  • ChatGPT网络错误如何解决