Re: один конфиг для нескольких virtualhost

Igor Sysoev igor на sysoev.ru
Ср Дек 2 18:46:48 MSK 2009


On Wed, Dec 02, 2009 at 10:26:43AM -0500, andyjam wrote:

> имеется nginx в связке с apache (апач на 8080). на апаче настроены множество virtualhost'ов. все они лежат в папочках, названных соответственно своим доменным именам, только без www.
> задача - настроить одним конфигом сразу все виртхосты так, чтобы php-файлы отдавались на апачем, а статические файлы отдавались nginx'ом.
> 
> что-то вроде:
> 
> server {
> 	listen 80;
> 	server_name localhost;
> 	location / {
> 		proxy_pass http://127.0.0.1:8080;
> 		proxy_redirect off;
> 		proxt_set_header Host $host;
> 	}
> 	location ~* ^.+.(jpg|gif|png)$ {
> 		root /home/$host;
> 	}
> }
> 
> вопросы:
> 1. как сделать так, чтобы если запрос приходит с www.$host, то файлы отдавались с того же локейшна? в частности интересует как "откусить" "www." от $host. слышал что-то о встроенном перле, но к сожалению не знаю этого языка..
> 2. насколько велика абсурдность идеи?

Поставить 0.8.29 и

 server {
 	listen 80;
 	server_name ~^(www\.)?(?<name>.*)$;
 	location / {
 		proxy_pass http://127.0.0.1:8080;
 		proxy_redirect off;
 		proxt_set_header Host $host;
 	}
 	location ~* \.(jpg|gif|png)$ {
 		root /home/$name;
 	}
 }


-- 
Игорь Сысоев
http://sysoev.ru



Подробная информация о списке рассылки nginx-ru