UMGUM.COM (лучше) 

Nginx ( Отдаём данные зеркалированных ресурсов с помощью Nginx. )

26 октября 2010  (обновлено 31 января 2015)

OS: Debian Lenny.

Озаботимся представлением собранных данных пользователям.

Инсталлируем Nginx, самый, что ни на есть, подходящий для отдачи статичных данных легковесный HTTP сервер:

# aptitude install nginx

Делаем резервные копии затрагиваемых нами конфигурационных файлов:

# cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.dist

Перейдем к конфигурированию Nginx.

Общая конфигурация Nginx находится в файле "/etc/nginx/nginx.conf", конфигурации хостов и сайтов описываются в файлах, располагающихся в директориях "/etc/nginx/conf.d." и "/etc/nginx/sites-enabled.", подключаемых с помощью директив "include /etc/nginx/conf.d/*.conf;" и "include /etc/nginx/sites-enabled/*;".

Приведём общий конфигурационный файл "/etc/nginx/nginx.conf" к следующему виду:


# Указываем пользователя и группу, от чьего имени запускается Nginx
user www-data www-data;

# Количество запускаемых рабочих процессов приравняем к количеству процессорных ядер на нашем сервере
worker_processes    4;

# Указываем месторасположение журнального файла сообщений об ошибках
error_log  /var/log/nginx/error.log;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
}

http {
    # Подключаем описание типов файлов
    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;

    # Месторасположение журнального файла событий доступа
    access_log  /var/log/nginx/access.log;

    sendfile            on;
    keepalive_timeout   65;
    tcp_nodelay         on;

    # Запрещаем сообщать версию Nginx в ответе клиенту
    server_tokens       off;

    # Подключаем файлы описания дополнительных конфигураций
    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;
}

Создаем файл конфигурации виртуального хоста "mirror.local":

# touch /etc/nginx/sites-available/mirror.local

Приводим его к следующему виду:

server {
    listen      *:80;
    server_name mirror.local;
    # Указываем кодировку отдаваемых страниц
    charset     utf-8;

    root        /var/www/mirror.local;

    # Запрещаем отдавать кому бы то ни было файлы .htaccess и .htpasswd
    location ~* /\.ht {
        deny  all;
    }

    # Запрещаем отдавать кому бы то ни было файлы .listing
    location ~* /\.listing {
        deny  all;
    }

    # Учим Nginx отдавать файлы
    location / {
        root /var/www/mirror.local/;
        autoindex on;
        autoindex_exact_size on;
        autoindex_localtime on;
    }
}

Указываем символической ссылкой Nginx на доступную конфигурацию виртуального хоста:

# ln -s /etc/nginx/sites-available/mirror.local /etc/nginx/sites-enabled/mirror.local

И удаляем ссылку на конфигурацию виртуально хоста "по умолчанию":

# rm /etc/nginx/sites-enabled/default

Перезапускаем Nginx:

# /etc/init.d/nginx restart
По завершению конфигурирования Nginx закрываем от постороннего взгляда директорию конфигурации:

# chown -R root:root /etc/nginx
# chmod -R o-rwx /etc/nginx


Заметки и комментарии к публикации:


Оставьте свой комментарий ( выразите мнение относительно публикации, поделитесь дополнительными сведениями или укажите на ошибку )