uwsgi_pass

`uwsgi_pass` 指令将请求转发到 uWSGI 应用服务器。

语法uwsgi_pass URL;
默认值none
上下文location, if in location
参数1

说明

uwsgi_pass 指令在 NGINX 配置中用于指定 uWSGI 服务器的地址,从而使 NGINX 与 uWSGI 应用之间能够通信。当收到与指定 location 块匹配的请求时,NGINX 会根据所指定的地址格式,使用 TCP 套接字或 Unix 域套接字将请求数据转发到指定的 uWSGI 服务器。这允许对用 Python、Ruby 或其他 uWSGI 支持的语言编写的 Web 应用进行无缝集成。

该指令可带一个参数,参数形式可以是 IP 地址和端口(用于 TCP 通信)或 Unix 套接字路径。例如,uwsgi_pass 127.0.0.1:8000; 将请求路由到在本地主机 8000 端口上运行的 uWSGI 服务器。或者,可以使用 uwsgi_pass unix:/path/to/socket; 通过 Unix 套接字发送请求,这相比 TCP 由于开销更小可提高性能。

使用 uwsgi_pass,还可以配置其他参数,例如设置超时以及通过 NGINX 向 uWSGI 应用传递变量。至关重要的是,uWSGI 服务器必须根据应用的规范正确配置以处理传入请求,包括路由和请求处理逻辑,因为在此上下文中 NGINX 仅充当反向代理。

配置示例

location /app {
    include uwsgi_params;
    uwsgi_pass 127.0.0.1:8000;
}

确保 uWSGI 服务器正在运行并且在指定的 URL 上可访问。

如果使用 Unix 套接字,请确保 NGINX 进程有权限访问该套接字文件。

别忘了包含 uwsgi_params,以便正确地将必要的参数传递给 uWSGI 服务器。

← 返回所有指令