小知识:前端开发用得着的nginx配置(场景)

前端的工作过程里,本地开发、提供测试环境,总得有个用着顺手的服务器软件,这个场景里nginx很流行。

介绍两个好用的配置项:rewrite try_files @xxxx

rewrite

比较常见,主要用于将带版本号的静态文件路径替换成本地文件路径

例如人人网发布文件路径里面包含一个a0000的版本号,通过下面这句配置就能将http://xnimg.cn/a0001/js/base.js换成http://xnimg.cn/js/base.js直接影射到本地目录结构中。

复制代码代码如下:
rewrite “^/a?([0-9]+)/(.*)” /$2 last;

try_files

尝试在本地的多个路径中查找需要的文件,如果依然没找到才会返回404。下面配合@xxx配置实现一个更方便的功能。

location @xxx

这样定义了一个可以供其他配置调用的“请求处理方法”(handler),结合try_files如果本地没找到自动去线上取回指定文件。

01if ( $document_uri ~*”^/[ab]?([0-9]+)/(.*)”){
02set $no_version_path /$2;
03}
04
05location / {
06try_files $document_uri $no_version_path =404;
07error_page 404 = @online;
08log_not_found off;
09}
10
11location @online{
12proxy_pass http://$host:80/$request_uri
13}

第一个if语句是一个匹配,把$2第二个分组值(去掉版本号的路径)保存到变量$no_version_path;

try_files的顺序:有版本号的路径、没有版本号的路径、如果404 调用@online;

@online中用$host,$request_uri这两个nginx变量拼出请求的文件路径直接代理请求到线上。

这样配置的服务器,只需要在本地存放你所关心的几个静态文件,其他不需要调试的文件全部代理到线上,省得每次花时间更新自己不关心的工程代码。

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:Linux磁盘分区实现原理及方法解析

2023-5-8 2:44:48

建站知识

小知识:Linux ls命令的使用

2023-5-8 2:53:04

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索