Озаботимся представлением собранных данных пользователям.
Инсталлируем 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/*;
}
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;
}
}
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
# chmod -R o-rwx /etc/nginx