Mastering Nginx

(Ron) #1
Chapter 4

[ 81 ]

uWSGI upstream servers

The uWSGI protocol has been very popular with Python developers. NGINX provides


support for connecting to a Python-based upstream server through its uwsgi


module. The configuration is similar to the fastcgi module, using the uwsgi_pass
directive instead to indicate an upstream server. An example configuration will be


shown in Chapter 6, The NGINX HTTP Server.


Converting an "if"-fy configuration to a more modern interpretation


Using the if directive within a location is really only considered valid for certain


cases. It may be used in combination with a return and with a rewrite with a last


or break flag, but should generally be avoided in other situations. This is due in
part to the fact that it can produce some very unexpected results. Consider the


following example:


location / {

try_files /img /static @imageserver;

if ($request_uri ~ "/blog") {

proxy_pass http://127.0.0.1:9000;

break;

}

if ($request_uri ~ "/tickets") {

proxy_pass http://tickets.example.com;

break;
}

}

location @imageserver {

proxy_pass http://127.0.0.1:8080;
}
Free download pdf