Where are variables defined?

Hi,all:
I am newbie for nginx,and I have read the nginx English site article
about modules and configure,but I have a question that there are lots
of variables used in nginx.conf and I cannt find where thats
defined ,like this:

fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;

fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;

fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;

fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;

these variable value generated automatically when client make a
request… i guess… ^^ so… don’t change it…

Hello!

On Fri, Oct 23, 2009 at 12:56:00PM +0800, Boern wrote:

Hi,all:
I am newbie for nginx,and I have read the nginx English site article
about modules and configure,but I have a question that there are lots
of variables used in nginx.conf and I cannt find where thats
defined ,like this:

Variables are defined by modules, and usually documented as a
separate section in module documentation.


fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;

http://wiki.nginx.org/NginxHttpCoreModule#variables

fastcgi_param SCRIPT_NAME $fastcgi_script_name;

http://wiki.nginx.org/NginxHttpFcgiModule#variables

fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;

Again,

http://wiki.nginx.org/NginxHttpCoreModule#variables

fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;

Defined by ngx_http_core_module, but not really documented.

fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;

Again,

http://wiki.nginx.org/NginxHttpCoreModule#variables


so,andbody can explain that? maybe the offical site needs has a
complete document !

You mean something like http://wiki.nginx.org/NginxDirectiveIndex,
but for variables? May be it make sence. Feel free to build one.
:slight_smile:

Maxim D.