Данное руководство предназначено для тех кто имеет рутовый доступ к системе, неважно *nix или windows. Моему проэкту более 4х лет, он сменил не один десяток хостингов прежде чем перебрался на мою площадку. И ввиду того что площадка маленькая и перегруженная, а форум большой (больше ляма постов) и жрущий много ресурсов со временем все конфиги были вылизаны до максимума производительности. Версии софта о которых идет речь Apache/2.2.9 Nginx/0.6.32 Первый вопрос который встал передомной это недостаток оперативной памяти, ее было всего гиг и вместе с остальными сайтами на площадке в своп я уходил регулярно. Связанно это было с тем что апач по умолчанию для кождого соединения создает новый процесс(fork), каждый из форков хочет памяти, и в гиг на самом деле больше 500 впихнуть нормально не возможно. Для решения это проблемы перед апачом был поставлен nginx(). nginx это легковесный мультитрэдный http демон, он в данном случае решает проблему кучи открытых соединения, раздачи статики, сжатия исходящих данных(gzip). Именно он будет обслуживать соединения, апачу мы будем давать только те запросы которые требуют вычислений А теперь подробнее о модификации конфигов компонентов системы: начнем с апача: самая главная задача в данном случае это кастрировать его: в частности я отключил все лишние модули кроме того что нужно для работы пхп, более простые вещи такие как листинг каталогов и работу со статикой я перенес на nginx. помимо того чтобы поставить нгинкс мне потребовалось собрать модуль для апача rpaf() он нужен для того чтобы правильно передавать пхп ip адреса с которых пришел запрос. мой конфиг с комментариями Code:
alleycat, Спасибо за хорошее описание. Кстати nginx, особенно последние версии, очень хорошо работает как основной веб-сервер для vb в режиме fast-cgi. Скорость работы такая-же как на апаче 2.2, но памяти потребляет в разы меньше, что очень критично для VDS хостинга. P.S. Субъективно скорость даже выше чем на апаче, но видать это от настроек зависит
alleycat, я эту идею пробовал. помогает только если форум варезный и файлы большие. в любом случае ведь запускается скрипт пхп для проверки прав доступа, подсчета числа просмотров и тд. мрак, одним словом. Смысл моего предложения в том, чтобы записывать полностью доступные без регистрации файлы под специальными именами и генерировать на страничках ссылки прямо на файлы с аттачами.
--------------------- wake up and smell the vicodin.
Я не стал так делать, хотя модуль замещающий стандартную систему аттачей по глупости писать начал, мне проще было написать с нуля простенькую файлопомойку и прикрутить ее к формуму, нежли е**** с такими вещами. а наклыдные расходы, к сведению, на валидацию прав не столь велики, так что вариант с internal redirect для нгинкса оптимален. если так сильно хочется то можно хэндлер булки кастрировать на проверки и запросы и тогда все подряд будут качать как захотят с правильными именами и не напрягая сервак. сопсно моя файлопомойка делает 2 запроса в любом случае, авторизация и права в первом и вторым мета и имя файла на отдачу, после чего отдает nginx-у редирект