加入收藏 | 设为首页 | 会员中心 | 我要投稿 汽车网 (https://www.0577qiche.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

uwsgi的反向代理

发布时间:2023-06-02 13:31:13 所属栏目:教程 来源:
导读:首先,理清楚几个概念:

Wsgi:全称是 Web Server Gateway Interface,Wsgi 只是一种规范,描述 web server 如何与 web application 通信的规范。要实现 Wsgi 协议,必须同时实现 web server 和 web application,
首先,理清楚几个概念:

Wsgi:全称是 Web Server Gateway Interface,Wsgi 只是一种规范,描述 web server 如何与 web application 通信的规范。要实现 Wsgi 协议,必须同时实现 web server 和 web application,当前运行在 Wsgi 协议之上的 web 框架有 Flask, Django,这也是目前最流行的 python web框架。

uwsgi:与Wsgi一样是一种通信协议,是uWsgi服务器的独占协议,用于定义传输信息的类型(type of information),每一个uwsgi packet前4byte为传输信息类型的描述。

uWsgi:是一个web服务器,实现了Wsgi协议、uwsgi协议、http协议等。

Wsgi 协议其实是定义了一种 server 与 application 解耦的规范,即可以有多个实现 Wsgi server 的服务器,也可以有多个实现 Wsgi application 的框架,那么就可以选择任意的 server 和 application 组合实现自己的 web 应用。Django,Flask 框架都有自己实现的简单的Wsgi server,一般用于服务器调试,生产环境下直接使用Wsgi server。

Nginx 中将 http 协议的报文转换成 uwsgi 协议的报文,只需要使用 uwsgi_pass 指令即可。和 proxy_pass 指令类似,前者转发为 uwsgi 协议的报文,后者代理转发 http 协议的报文。其余用法一致。

Syntax:    uwsgi_pass [protocol://]address;Default: —Context: location, if in location
用法示例:

...
 
http {
    ...
    server {
        listen 9000;
        
        location / {
            # 包含uwsgi请求描述文件
            include uwsgi_params;
            # 配置请求传递,socket地址
            uwsgi_pass 127.0.0.1:9000;
        }
    }
    ...
}
...

(编辑:汽车网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章