In nginx 1.2 & 1.3 you can modify the source to change the name:
src/http/ngx_http_header_filter_module.c (lines 48 and 49):
static char ngx_http_server_string[] = "Server: Not Nginx" CRLF;
static char ngx_http_server_full_string[] = "Server: Not Nginx/1.0" CRLF;
Renaming those and recompiling the source changes the server response name in nginx 1.2.
However doing this in 1.3 does not seem to change the name. It still says nginx/1.3.5. With server_tokens off; it still just says nginx.
How can I change the server name in 1.3 without installing the 3rd party addon "headers more"? I want to compile from source.