Как оптимизировать VDS под файл-хостинг на nginx?
При использовании VDS в стандартной форме на сервере apache, со временем возникнет необходимость увеличить объем памяти. Ведь серверы apache занимают достаточно много памяти.
При загругке и передаче больших по размеру медиафайлов скорость подключения к серверу значительно снижается и число потомков неумолимо растет. Чтобы исправить это можно использовать легкий
вебсервер nginx.
Давайте поставим на nginx VDS с Fedora Core 2 от keyweb, оснащенный yum:
wget http://download.fedora.redhat.com/pub/fedora/linux/core/2/i386/os/Fedora/RPMS/gcc-3.3.3-7.i386.rpm
wget http://download.fedora.redhat.com/pub/fedora/linux/core/2/i386/os/Fedora/RPMS/pcre-devel-4.5-2.i386.rpm
wget http://download.fedora.redhat.com/pub/fedora/linux/core/2/i386/os/Fedora/RPMS/binutils-2.15.90.0.3-5.i386.rpm
wget http://download.fedora.redhat.com/pub/fedora/linux/core/2/i386/os/Fedora/RPMS/cpp-3.3.3-7.i386.rpm
wget http://download.fedora.redhat.com/pub/fedora/linux/core/2/i386/os/Fedora/RPMS/glibc-devel-2.3.3-27.i386.rpm
wget http://download.fedora.redhat.com/pub/fedora/linux/core/2/i386/os/Fedora/RPMS/glibc-headers-2.3.3-27.i386.rpm
wget http://download.fedora.redhat.com/pub/fedora/linux/core/2/i386/os/Fedora/RPMS/glibc-kernheaders-2.4-8.44.i386.rpm
wget http://download.fedora.redhat.com/pub/fedora/linux/core/2/i386/os/Fedora/RPMS/pcre-4.5-2.i386.rpm
rpm -Uvh *.rpm
wget http://sysoev.ru/nginx/nginx-0.4.13.tar.gz
tar xzf 0.4.13.tar.gz
cd nginx-0.4.13
./configure –prefix=/usr/local/nginx –without-http_charset_module –without-http_ssi_module –without-http_userid_module –without-http_access_module –without-http_auth_basic_module –without-http_empty_gif_module –without-http_gzip_module –without-http_rewrite_module –without-pcre
make -s
make install
После этого nginx установится в /usr/local/nginx с минимумом рабочих функций, то есть самый быстрый.
После чего необходимо настроить новый сервер на тдачу файлов по протоколу http. Напрмер вот так: nginx.conf:
worker_processes 1;
events {
worker_connections 1024;
}
http {
include conf/mime.types;
default_type application/octet-stream;
log_format main ‘$remote_addr - $remote_user [$time_local] $status ‘
‘”$request” $body_bytes_sent “$http_referer” ‘
‘”$http_user_agent” “$http_x_forwarded_for”‘;
access_log /dev/null;
tcp_nopush on;
keepalive_timeout 15;
server {
listen ваш_ip:80;
root /home/download;
}
}
При этом акцентируйте внимание на том, что листинг директорий и логи отключены. Первый алгоритм необходим по техзаданию, а второй - для ускорения работы сервера.