uwsgi_pass
`uwsgi_pass` 指令将请求转发到 uWSGI 应用服务器。 — NGINX HTTP Core
uwsgi_pass
locationif in location
语法uwsgi_pass URL;
默认值none
上下文location, if in location
模块NGINX HTTP Core
参数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 服务器。