当前位置: 首页 > 知识库问答 >
问题:

ngin x复杂的过程重写规则——插件?单独的服务器?

刘高驰
2023-03-14

我需要使用 nginx 来提供静态文件(很多很多文件,大多数小文件,但也混合了大视频文件)。当然,将nginx配置为静态文件服务器非常简单,除了...

…我们需要获取“输入”路径(用户认为文件所在的位置)并将其转换为实际位置的过程太复杂,无法使用nginx的重写引擎来表示。通常,执行计算的逻辑当前在Python库中表示。(请接受它太复杂,不适合作为nginx重写规则。)

我有哪些选项可以让ngin x能够应用我的自定义重写规则来到达提供文件的正确路径?我想到了这两个选项:

>

  • 编写一些我添加到nginx的C代码,这些代码调用Python并进行计算。(对于这个答案,它甚至不是Python并不重要。

    我只是将 C 代码注入到 nginx 中,这将进行任意计算。但是,我不知道从哪里开始寻找在哪里进行此修改以允许nginx执行此操作。

    nginx是否可以查询一个单独的后端进程(基本上是一个非常简单的龙卷风服务器),然后说“嘿,给定路径X,我应该为哪个路径Y服务”?

    虽然跨进程并不理想,但我认为如果两个进程在同一台机器上,那么延迟应该很低。

    只需编写一个执行计算的tornado服务器,然后重定向到ngin x。

    这是可以做到的,但是需要我们的客户端代码来处理重定向,并且(a)这感觉很慢,(b)我不想与客户端搅乱,让他们处理重定向,因为现在他们必须往返两次服务器。

    ??

  • 共有1个答案

    艾茂学
    2023-03-14

    Lua ngin x模块可能是您正在寻找的答案。它可以配置为调用外部进程来决定如何处理请求,类似于您在问题中描述的内容,甚至可以弄清楚如何完全独立地处理请求(可能通过查询数据库)。

     类似资料:
    • 本文向大家介绍详解常用的nginx rewrite重写规则,包括了详解常用的nginx rewrite重写规则的使用技巧和注意事项,需要的朋友参考一下 本文提供一些常用的rewrite重写规则,用来美化网页的链接。规则里面的$1$2你不知道是怎么来的话,只要记住,第一个()里面的是$1,第二个()里面的是$2. 请求的URL是给人看的,重写后的URL是给电脑看的。 执行搜索 这个规则的目的是为了执

    • dml2select Description:将数据库更新请求转换为只读查询请求,便于执行EXPLAIN Original: DELETE FROM film WHERE length > 100 Suggest: select * from film where length > 100 star2columns Description:为SELECT *补全表的列信息 Original:

    • 也许有一个特殊的插件为这个特殊的情况? 提前致谢

    • 我的主托管域需要ssl,所以htaccess将每个url请求转换为https。 但我在同一个托管另一个域上使用cpanel dir结构(“public_html/addon domain.com”) htaccesspublic_html是我唯一能配置的。因此,当用户键入www.addondoamin.com或没有www时,htaccess将不会做任何事情。o/w,我得到了许多错误和addon域镜

    • 我有个问题。 有一个自定义mvc结构,当它是根文件夹时,一切都通过.htaccess中的RewriteRule工作,但如果我将它设置为子文件夹,它将停止工作。 .htaccess是 重写引擎在 重写条件%{REQUEST_FILENAME}-重写cond%{REQUEST_FILENAME}-d RewriteRule^(.*)$index.php?route=$1[L,QSA] AddDefau

    • 我已经安装了WordPress在example.com.我还安装了CodeIgniter在文件夹这里,是文件夹名称,是控制器名称和CI的工作URL是。我的基本URL以https://开头。 现在我有一个WordPressURL,是我在WordPress admin中创建的页面,工作正常。 我想像一样运行我的CI路径,我想我们可以用一些重写规则来做,这样我的网址看起来就像。我已经添加了给定的为wor