Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Как правильно прописать $ho st, чтобы работало и с www.
- To: nginx-ru@xxxxxxxxx
- Subject: Как правильно прописать $ho st, чтобы работало и с www.
- From: "Nunkomm" <nginx-forum@xxxxxxxx>
- Date: Tue, 27 Apr 2010 10:55:40 -0400
- Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mickey.jlkhosting.com; s=x; h=Sender:From:Message-ID:Content-Transfer-Encoding:Content-Type:Subject:To:Date; bh=h6mJMo/vs+q8R/mQLTzBpbDFZM/4UYYFxTazrdHD9Dg=; b=UOqQ/COqrKeyLHV0rIPO40c3zJ/nc75mj8qe9fAMi5N8pv5KdGjCSz30SzTFGkgVg0u78F2L7jBcDvI5py4yqVKvkSjagA9IVeMaTQKmB4dxTQeRN8qjPnfpC6XCjrFX;
Здравствуйте, уважаемое сообщество.
Имеется связка nginx 0.8.36 + apache 2.2.x
Домены расположены в папке /wwwuser/, например,
/wwwuser/doman1.ru
/wwwuser/doman2.ru
Некоторые домены имеют host c www.
При попытке отдать статику в такие домены (с www) с помощью nginx, изображения
не отображаются (ошибка 404).
Как сделать так, чтобы отдавала всю статику корректно и для доменов без www.,
и для доменов с www.?
Доменов - более 200 шт.
Конфигурационный файл nginx:
#######################################################################
#
# This is the main Nginx configuration file.
#
# More information about the configuration options is available on
# * the English wiki - http://wiki.codemongers.com/Main
# * the Russian documentation - http://sysoev.ru/nginx/
#
#######################################################################
#----------------------------------------------------------------------
# Main Module - directives that cover basic functionality
#
# http://wiki.codemongers.com/NginxMainModule
#
#----------------------------------------------------------------------
#от какого имени юзера и какой группы запускать процессы
#user www www;
# Число рабочих процессов, рекомендуется ставить по количеству ядер
worker_processes 100;
# Уменьшает число системных вызовов gettimeofday(), что приводит к увеличению
производительности
timer_resolution 100ms;
# Изменяет ограничение на число используемых файлов RLIMIT_NOFILE для рабочего
процесса.
#worker_rlimit_nofile 8192;
# Директива задаёт приоритет рабочих процессов от -20 до 20 (отрицательное
число означает более высокий приоритет).
worker_priority -5;
error_log off;
#error_log logs/error.log notice;
#error_log logs/error.log info;
pid logs/nginx.pid;
#----------------------------------------------------------------------
# Events Module
#
# http://wiki.codemongers.com/NginxEventsModule
#
#----------------------------------------------------------------------
events {
worker_connections 4096;
use epoll;
multi_accept on;
}
#----------------------------------------------------------------------
# HTTP Core Module
#
# http://wiki.codemongers.com/NginxHttpCoreModule
#
#----------------------------------------------------------------------
http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] $request '
'"$status" $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
#access_log /var/log/nginx/access.log main;
access_log off;
sendfile on;
tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
# GZIP кеш (с этим могут быть проблемы требует сборка с дерективой
--with-http_gzip_static_module)
gzip on;
gzip_min_length 1100;
gzip_buffers 64 8k;
gzip_comp_level 9;
gzip_http_version 1.1;
gzip_proxied any;
gzip_types text/plain application/xml application/x-javascript text/css;
server {
listen 123.456.789:85;
#server_name name;
#access_log /var/log/nginx/host.access.log;
access_log off;
# Apache
location / {
# адрес подключения к апачу
proxy_pass http://123.456.789:80;
#proxy_redirect default;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 1024m;
client_body_buffer_size 128k;
proxy_connect_timeout 65;
proxy_send_timeout 65;
proxy_read_timeout 65;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_max_temp_file_size 0;
#proxy_temp_file_write_size 64k;
#proxy_ignore_client_abort on;
}
[b]#Static files location
# Если идет запрос статики (из списка) то отдаем nginx' ом напрямую из
папки указанной директивой root
# значение переменной $host соответствует текущему запрашивавшему домену
location ~*
^.+\.(jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|wav|mp3|bmp|rtf|flv|swf|avi|mp4|css|js)$
{
#чтобы заработала секция Static files css js надо закомнтировть сточку выше
и откоментировать ту что ниже
#location ~*
^.+\.(jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|wav|mp3|bmp|rtf|flv|swf|avi|mp4)$
{
expires max;
root /wwwuser/$host;
}[/b]
#Static files css js
#ТРЕБУЕТ ИЗМЕНЕНИЙ В ПРЕДУШЕЙ СЕКЦИИ (Static files location) КОНФИГА !!! ну
и откометирования текущей...
#Запрос css и js кеширум nginx ом на всегда (с этим могут быть
проблемы требует сборка с дерективой --with-http_gzip_static_module)
#если в кеше не найден фаил идет запрос к апачу иначе отдаем напрямую
из папки указанной директивой root
#location ~* ^.+\.(css|js)$ {
# expires max;
# gzip_static on;
# javascript-and-stylesheets
#proxy_set_header Host $host;
# if (!-f $request_filename) {
# break;
# # адрес подключения к апачу (пример для 80
порта)
# proxy_pass http://127.0.0.1:80;
# }
# root /var/www/$host;
# }
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
location ~ /\.ht {
deny all;
}
}
}
Posted at Nginx Forum: http://forum.nginx.org/read.php?21,79805,79805#msg-79805
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru
|