如何从您的webframework动态加载HTTP路由到NGINX?

我一直关注Web Frameworks Benchmark,并注意到许多Web框架遭受相同的性能损失,即他们在框架内部进行HTTP路由,而不是利用NGINX的高性能HTTP服务器进行路由.

例如,在Flask python框架中,您可能具有:

@app.route('/add', methods=['POST'])
def add_entry():
    ...

这使得您的应用程序比直接在NGINX配置文件中更容易遵循,如下所示:

server {
    listen 80;
    server_name example.com;

    location /add {
        ... // defer to Flask (python) app
    }

问题:如何获得NGINX内置HTTP路由的性能(使用NGINX自己的配置文件来定义路由),同时通过在Web框架中定义HTTP路由来保持应用程序开发的简单性?

有没有办法可以从INSERT_NAME_OF_YOUR_WEBFRAMEWORK HTTP路由动态加载到NGINX?

解决方法:

我不知道一个准备好使用的库.但是编写一个脚本似乎很容易,该脚本从应用程序的路由生成Nginx配置文件(例如,在应用程序设置期间).使用Nginx config的“include”命令可以将此文件包含到服务器的主配置中:

server {
    listen 80;
    server_name example.com;

    include /path/to/application/routes.conf
}
上一篇:c# – 如何修复我的MVC3路由


下一篇:php – Lumen路由缓存无法正常工作