try_files $uri @sub_example_com;
location = /errors/ {
root "/var/www/common";
internal;
}
error_page 400 /errors/index.php?400;
error_page 403 /errors/index.php?403;
error_page 404 /errors/index.php?404;
error_page 500 /errors/index.php?500;
location / { try_files $uri $uri/ =404; }
location ~ /errors/.+\.php {
root /var/www/common;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ \.php$ {
try_files $uri =404;
//Остальные параметры fastcgi
}
proxy_pass http://username.ru:8080/;
Вот тут еще непонятно. Если там реальное имя сайта, то будет тратиться время на резолвинг, плюс обращение будет к внешнему интерфейсу, да и держать апач на внешнем интерфейсе, хотя и не на стандартном порту - как-то не очень. (Это я исхожу из того, что nginx на той же машине, что и apache)
Далее - в конфиге nginx можно использовать переменные, если конфиги однотипные. Например: