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

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.lryc.cn/news/520255.html

相关文章:

  • uniapp页面高度设置(铺满可视区域、顶部状态栏高度、底部导航栏高度)
  • 解锁 RAG 技术:从原理、论文研读走向实战应用RAG
  • HTML5实现好看的中秋节网页源码
  • 数字孪生笔记 1 工业数字孪生的意义
  • 013:深度学习之神经网络
  • 计算机网络(四)网络层
  • 【ArcGIS微课1000例】0138:ArcGIS栅格数据每个像元值转为Excel文本进行统计分析、做图表
  • Linux 中统计进程的线程数 | 查看进程的线程
  • 【深度学习 】训练过程中loss出现nan
  • Linux - 什么是线程和线程的操作
  • windows及linux 安装 Yarn 4.x 版本
  • 如何设计一个 RPC 框架?需要考虑哪些点?
  • 初学stm32 --- DAC输出三角波和正弦波
  • 开源cJson用法
  • 【学习笔记】理解深度学习和机器学习的数学基础:数值计算
  • 如何使用CSS让页面文本两行显示,超出省略号表示
  • likeshop同城跑腿系统likeshop回收租赁系统likeshop多商户商城安装及小程序对接方法
  • C# 与 Windows API 交互的“秘密武器”:结构体和联合体
  • PHP 使用 Redis
  • 嵌入式系统Linux实时化(四)Xenomai应用开发测试
  • 26个开源Agent开发框架调研总结(2)
  • Element UI与Element Plus:深度剖析
  • 二、BIO、NIO编程与直接内存、零拷贝
  • VSCode 更好用的设置
  • 【git】-3 github创建远程仓库,上传自己的项目,下载别人的项目
  • 计算机组成原理(1)
  • Openstack网络组件之Neutron
  • 神州数码交换机和路由器命令总结
  • Spring MVC简单数据绑定
  • 《SQL ORDER BY》