[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Тонкая настройка Apacha
Семён
Ребята помогите пожалуйста сконфигурировать правильно Apache.
Суть проблемы такова, что когда по сайту лазиет одновременно 100 к примеру человек, он подвисает.... Помогите настроить на большой он-лайн.



Спустя 1 час, 1 минута, 10 секунд (10.02.2009 - 08:04) Sylex написал(а):
Семён
да это большая проблема...
Апач держит до 255 по-моему дочерних процессов.
Вообще есть решение поставить nginx+FastCGI, быстрее, и меньше жрет памяти.. почитай про него:
http://wiki.linuxformat.ru/index.php/LXF94:nginx
http://sysoev.ru/nginx/

возможно связка апач+nginx, отдавать например им тока файлы smile.gif

Спустя 6 часов, 20 минут, 48 секунд (10.02.2009 - 14:25) FatCat написал(а):
MaxKeepAliveRequests по умолчанию обычно 100; попробуй поднять до 500.

Спустя 11 часов, 7 минут, 23 секунды (11.02.2009 - 01:33) Семён написал(а):
А как настроить макс. значение загрузки процессора для каждого из процессов апачей? Надеюсь правильно выразился..

Спустя 3 часа, 50 минут, 37 секунд (11.02.2009 - 05:23) Семён написал(а):
Все проблемы возникали изза XAMPP, ребята не ставьте его))))))

Поставил чистый апач с мускулом и настроил, всё работает как по часам, но вопрос до сих пор актуален:

Цитата
А как настроить макс. значение загрузки процессора для каждого из процессов апачей? Надеюсь правильно выразился..

Спустя 36 минут, 45 секунд (11.02.2009 - 06:00) kirik написал(а):
Цитата (Семён @ 10.02.2009 - 21:23)
Все проблемы возникали изза XAMPP

biggrin.gif xampp - игрушка для локалхоста smile.gif

Цитата (Семён @ 10.02.2009 - 21:23)
А как настроить макс. значение загрузки процессора для каждого из процессов апачей? Надеюсь правильно выразился..

Под процессом апача понимаются модули апача, или скрипты выполняемые модулем php?
Посмотри mod_status.

Спустя 46 минут, 46 секунд (11.02.2009 - 06:47) Семён написал(а):
Кирик по той ссылке что ты дал, ясно ведь написано

Apache Модуль mod_status
Description: обеспечивает информацию относительно деятельности сервера и работы

Вкратце - он только анализирует информацию, но не выполняет каких либо действий. )

Спустя 1 минута, 55 секунд (11.02.2009 - 06:49) kirik написал(а):
Семён, ты не ответил на мой вопрос wink.gif

Спустя 3 часа, 28 минут, 23 секунды (11.02.2009 - 10:17) Семён написал(а):
Я не знаю как это в Linux, но в Windows в диспетчере процессов это называется apache.exe biggrin.gif

Спустя 4 минуты, 4 секунды (11.02.2009 - 10:21) kirik написал(а):
Семён, просто дело в том, что apache это сам сервер, он подключает к себе (запускает) свой модуль php, который в свою очередь отрабатывает скрипты. Отсюда вопрос: нужно ограничить нагрузку процессора каждого php-скрипта?
ЗЫ. под линуксом тоже просто apache smile.gif

Спустя 10 часов, 36 минут, 43 секунды (11.02.2009 - 20:58) Семён написал(а):
Нет ты не понял.... Одновременно в процессах изначально 2-ва процесса apache.exe, затем при нагрузке от создаёт ещё подпроцессы. Но при ДДоСе нагрузка идёт 1 процесса до 90%, поэтому как бы хотело её снизить....

Спустя 21 минута, 12 секунд (11.02.2009 - 21:19) kirik написал(а):
Семён, самый простой способ - выставить апачу приоритет пониже.
Есть еще деректива RLimitCPU, но она ограничивает процессорное время. Похоже что нужно искать сторонние софтины, которые следят за состоянием различных процессов (под линукс есть PRM)

Спустя 1 час, 56 минут, 30 секунд (11.02.2009 - 23:16) Семён написал(а):
Извини за глупость, почитал за RLimitCPU и действительно это некоторая защита от DDoS, осталось узнать куда как это вставлять:

Код
RLimitCPU soft-limit ═max-resource-limit


Когда вставляю в httpd.conf
Код
RLimitCPU soft-limit =max-resource-limit


То он пишет в логе запуска апача:
Код
RLimitCPU not supported on this platform

Спустя 5 минут, 19 секунд (11.02.2009 - 23:21) kirik написал(а):
Вот оригинальная документация. Пишут что есть в apachе > v1.2..

UPD кстати ты не правильно вставляешь.. Нужгно
Код
RLimitCPU 30 60

где 30 - минимальный лимит, 60- максимальный. (можно без последнего числа писать.)

Спустя 46 минут, 59 секунд (12.02.2009 - 00:08) Семён написал(а):
По первому:
Вставил всё равно пишет:
RLimitCPU not supported on this platform

Новый вопрос
И ещё коечто спросил для апача есть моды с расширением .c
Например я хочу установить mod_throttle (под Windows) есть идеи? )
Как нить из под WIN его можно установить?

Спустя 5 минут, 40 секунд (12.02.2009 - 00:14) Семён написал(а):
Такое ощущение что апач сделан только для Linux.....

Спустя 19 минут, 9 секунд (12.02.2009 - 00:33) kirik написал(а):
Цитата (Семён @ 11.02.2009 - 16:14)
Такое ощущение что апач сделан только для Linux.....

Так и есть smile.gif

Цитата (Семён @ 11.02.2009 - 16:08)
Как нить из под WIN его можно установить?

Честно - не занимался установкой модулей на apache под windows.. А там нет папки mods-available, в которой ссылки на модули лежат?
У меня например так..
есть папка /etc/apache2/mods-available, и папка /etc/apache2/mods-enabled. В первой лежат модули которые есть в системе, во второй которые подгружены в данный момент.
Файлы в папке /etc/apache2/mods-available выглядят таким образом -
php5.conf - тут конфиг
php5.load - тут ссылка на модуль
Цитата
LoadModule php5_module /usr/lib/apache2/modules/libphp5.so


Цитата (Семён @ 11.02.2009 - 16:08)
По первому:
Вставил всё равно пишет:
RLimitCPU not supported on this platform

Не знаю, может проблема в win?

Спустя 45 минут, 7 секунд (12.02.2009 - 01:18) Семён написал(а):
Я бы рад перейти на Linux, но я в нём полнейший идиот, я даже не знаю как там запускать программы)

Спустя 15 минут, 52 секунды (12.02.2009 - 01:34) kirik написал(а):
Семён, советую поставить для начала какой-нибудь userfriendly дистр типа Ubuntu или Opensuse. На них apache будет работать как дома, а потом поставить серверный дистрибутив (посоветую Debian), или FreeBSD (НЕ Linux, но в целом похожа smile.gif ).

Слушай, а у тебя сервер - отдельная машина?

Спустя 1 час, 21 минута, 20 секунд (12.02.2009 - 02:55) Семён написал(а):
Смотри, а если я Ubuntu, поставлю там эти функции будут работать или это только в Дебиане?


Память DIMM DDRII 2Gb PC6400 (800) Corsair XMS2 (TWIN2X2048-6400C4DHX) 2 штуки
Жес. диск 160GB WD ((10000) WD1500ADFD 16Mb
Gigabyte GA-8N-SLI 775 NF4 DDR2 ATX SATA LAN-Gbt Raid
XEON E5320P (Quad-core) (1.86/1066/2x4M)

Спустя 16 минут, 35 секунд (12.02.2009 - 03:12) Семён написал(а):
У меня панический страх начинается когда я думаю о переходе в Linux

Спустя 18 минут, 5 секунд (12.02.2009 - 03:30) kirik написал(а):
Цитата (Семён @ 11.02.2009 - 18:55)
Смотри, а если я Ubuntu, поставлю там эти функции будут работать или это только в Дебиане?


Думаю что не должно возникнуть проблем. Ты ведь всегда сможешь вернуться обратно на win, если что-то не так пойдет с linuxом.
Если у тебя отдельная машина под сервер, то это круто! Можешь поставить серверную ubuntu (без графики), отрубить монитор и управлять с другой тачки через SSH. Но сначала советую поставить обычную десктопную систему, чтобы понять что где, где лежат конфиги, как вообще там все работает.

Скачай virtualbox, поставь на win машину, и установи на виртуалку linux какой-нибудь, чтобы не трогать пока win-систему.

Спустя 9 минут (12.02.2009 - 03:39) Семён написал(а):
Всё думаю не возникнит вопросов с Apache, так как я его выкинул в печку и поставил Lighttpd! Вообще просто бомба сервер!

Спустя 44 секунды (12.02.2009 - 03:39) kirik написал(а):
Почитай вот маны по установке домашнего сервера: Раз, два (фряха), три, четыра (фряха).
Вот как человек начинал знакомство с linux.
Вот как linux загружается.

Спустя 9 минут, 54 секунды (12.02.2009 - 03:49) kirik написал(а):
Цитата (Семён @ 11.02.2009 - 19:39)
Всё думаю не возникнит вопросов с Apache, так как я его выкинул в печку и поставил Lighttpd!

Как ты думаешь, почему он light? smile.gif Он умирает на высоконагруженных сайтах. Самое лучшее - настроить связку lighthttpd + apache - первый отдает статику, второй динамику. Но в любом случае apache на win не будет работать даже в половину мощности в отличии от работы в нативной среде.

Спустя 4 минуты, 7 секунд (12.02.2009 - 03:53) Семён написал(а):
Ну я с тобой не буду спорить, но на изучения Linux-a у меня уйдёт много времени..
Тем более мощные проекты типо YouTube работают именно на Lighttpd
Проверил с напарником DDos атаку, он вообще настолько живучий что выдерживает её и загружает ЦП всего на 1-2%, когда Apache давал загруз 70-90%

Спустя 3 минуты, 49 секунд (12.02.2009 - 03:57) kirik написал(а):
Цитата (Семён @ 11.02.2009 - 19:53)
Тем более мощные проекты типо YouTube работают именно на Lighttpd

"Кто тебе сказал такую ерунду? Ух я его бамбарбия киргуду!"

Пишем
PHP
echo '<pre>';
print_r(get_headers('http://youtube.com/'));


Получаем
Цитата
Array
(
    [0] => HTTP/1.1 302 Found
    [1] => Date: Thu, 12 Feb 2009 00:56:13 GMT
    [2] => Server: Apache
    [3] => Location: http://www.youtube.com/
    [4] => Content-Length: 272
    [5] => Keep-Alive: timeout=300
    [6] => Connection: Keep-Alive
    [7] => Content-Type: text/html; charset=iso-8859-1
    [8] => HTTP/1.1 400 Bad Request
    [9] => Date: Thu, 12 Feb 2009 00:56:13 GMT
    [10] => Server: Apache
    [11] => Expires: Tue, 27 Apr 1971 19:44:06 EST
    [12] => X-Content-Type-Options: nosniff
    [13] => Cache-Control: no-cache
    [14] => Connection: close
    [15] => Content-Type: text/plain
)


Спустя 1 минута, 55 секунд (12.02.2009 - 03:59) Семён написал(а):
Wiki-педия смотри тут ВОТ ССЫЛКА

Проекты, использующие lighttpd

Зачастую lighttpd используется для отдачи статического содержимого [4], в то время как его генерацией занимается более сложный веб-сервер. Такие посещаемые сайты как SourceForge.net, Youtube, Википедия, Imageshack.us используют lighttpd на своих серверах [5].

Спустя 1 минута, 4 секунды (12.02.2009 - 04:00) Семён написал(а):
Попробую поискать мануалы как связать Apach и lighttpd

Спустя 1 минута, 2 секунды (12.02.2009 - 04:01) kirik написал(а):
Цитата (Семён @ 11.02.2009 - 19:53)
Проверил с напарником DDos атаку, он вообще настолько живучий что выдерживает её и загружает ЦП всего на 1-2%, когда Apache давал загруз 70-90%

Просто apache под win работает как один процес, а под linux он работает в несколько потоков.
Смотри мой список задач
user posted image

Спустя 1 минута, 43 секунды (12.02.2009 - 04:03) Семён написал(а):
Я сегодня узнал, что разницы нет хоть 20 процессов будет, однохренственно он будет давать такую сильную нагрузку на ЦП при ДДоС-е

Спустя 4 часа, 28 минут, 5 секунд (12.02.2009 - 08:31) Семён написал(а):
Вот кстати Kirik читай статейку))
http://guruadmin.ru/page/skryvaem-versiju-lighttpd

Спустя 25 минут, 9 секунд (12.02.2009 - 08:56) kirik написал(а):
Семён, им незачем скрывать свой сервер. Все дело в том, что они разделяют статику и динамику, как я говорил выше. Если посмотреть откуда тот же youtube сосет видосы, то можно увидеть примерно такой адрес -
Цитата
http://v4.cache.googlevideo.com/get_video?origin=nyc-v64.nyc.youtube.com&video_id=pyg1Zfci67A&ip=99.230.254.8&region=0&signature=57BB601E2605CECF5538FFBF6FA286796510EC64.50E91BD5FD25EE3CE24928AC09013B1B2DD7B18F&sver=2&expire=1234439313&key=yt1&ipbits=0#/Bass_Guitar_Basics___Bass_Technique___Popping_and_Slapping.flv


Потом берем это и проверяем заголовки, получаем -
Цитата
Array
(
    [0] => HTTP/1.1 200 OK
    [1] => X-Content-Type-Options: nosniff
    [2] => Expires: Thu, 12 Feb 2009 06:51:20 GMT
    [3] => Cache-Control: public,max-age=3600
    [4] => Content-Type: video/flv
    [5] => Accept-Ranges: bytes
    [6] => ETag: "694905662"
    [7] => Content-Length: 3295777
    [8] => Server: lighttpd/1.4.18
    [9] => Last-Modified: Thu, 09 Aug 2007 14:06:55 GMT
    [10] => Connection: close
    [11] => Date: Thu, 12 Feb 2009 05:51:20 GMT
)


Lighthttpd отлично работает для отдачи информации, но он никакой по сравнении с apache в работе с динамикой. По этому ребята из google держат свой youtube на apache smile.gif
А заголовки можно и у apache на "Здесь был Вася" сменить smile.gif

Спустя 3 часа, 40 минут, 11 секунд (12.02.2009 - 12:36) Семён написал(а):
А ты знаешь что-нибудь про IIS7 ?

Спустя 2 часа, 12 минут, 16 секунд (12.02.2009 - 14:49) Семён написал(а):
Пожалуй придётся всё таки переходить на Linux

Спустя 11 минут, 46 секунд (12.02.2009 - 15:00) sergeiss написал(а):
Цитата (Семён @ 12.02.2009 - 12:36)
А ты знаешь что-нибудь про IIS7 ?

IIS - это виндусовый Internet Information Services? Если да, то "ф топку"!!!

Спустя 2 часа, 12 минут, 52 секунды (12.02.2009 - 17:13) Семён написал(а):
Качаю Debian - Linux меня ждёт))

Спустя 3 часа, 39 минут, 12 секунд (12.02.2009 - 20:52) kirik написал(а):
IIS неплох если у тебя проекты на ASP.

Цитата (Семён @ 12.02.2009 - 09:13)
Качаю Debian - Linux меня ждёт))

Удачи тебе! smile.gif На виртуальную машину сначала поставь!

Спустя 4 часа, 12 минут, 10 секунд (13.02.2009 - 01:05) Семён написал(а):
Я ставлю себе Дебиан, у меня друг сисадмин матёрый))) уже всё на практике показал, дурак я был что его раньше не использовал... ) И на всякий случай уже скачал курс видео уроков по дебиану от ламера до пользователя)

Спустя 3 дня, 4 часа, 35 минут, 51 секунда (16.02.2009 - 05:41) Семён написал(а):
Настроил апач на Дебиане, все проблемы исчезли) привыкаю однако)

Спустя 56 минут, 58 секунд (16.02.2009 - 06:37) kirik написал(а):
Семён, как ДоС-атаки держит?

Спустя 6 часов, 27 минут, 29 секунд (16.02.2009 - 13:05) Семён написал(а):
Я сейчас настраиваю IPTables, человек мне помогает сделать ловушки, чтобы при атаке, она попада в кольцевую, и компьютер атаковал сам себя. ) Позже скажу)

Спустя 2 года, 11 месяцев, 20 дней, 1 час, 39 минут, 15 секунд (8.02.2012 - 13:44) mikelo написал(а):
Семен, ну давай расскажи теперь как от DDoS защищаешься с помощью iptables smile.gif

Спустя 4 часа, 24 минуты, 15 секунд (8.02.2012 - 18:08) VELIK505 написал(а):
Цитата (Семён @ 10.02.2009 - 04:03)
Ребята помогите пожалуйста сконфигурировать правильно Apache.
Суть проблемы такова, что когда по сайту лазиет одновременно 100 к примеру человек, он подвисает.... Помогите настроить на большой он-лайн.

Удаляй его.
Собирай lighthttpd на ружу вежаешь. php как Spawn-FCGI (только не забудь кинуть спаню в автозагрузку) благодаря lighthttpd будет пахать.
Так же ставишь xcache
Статику выносишь на поддомены (желательно на другие айпи адреса) nginx вешаешь фронтэндом только на те хосты где статика висит добавляешь +ом gzip+yuicompressor
Самая быстрая связка.

Так же если стоит apache то xcache очень помогает apache загинаеться при таком онлайне обрабатывать большое кол-во скриптов он и будет подтупливать ситуацию так же поправит xcache. С апача упадёт нагрузка. Если интересно то про xcache я писал ТУТ кратко понятно доходчиво.

Спустя 1 минута, 28 секунд (8.02.2012 - 18:10) Winston написал(а):
Вы видели, что тема вообще 2009г.? laugh.gif

Спустя 4 минуты, 37 секунд (8.02.2012 - 18:15) VELIK505 написал(а):
Цитата (Winston @ 8.02.2012 - 15:10)
Вы видели, что тема вообще 2009г.? laugh.gif

Коза подняли старьё=) biggrin.gif А я и не заметил biggrin.gif

Спустя 18 часов, 45 минут, 28 секунд (9.02.2012 - 13:00) mikelo написал(а):
У меня такая проблема:

На сервере 2Gb ОЗУ.
Debian 5 + Apache 2 + PHP 5.2.6 + Mysql 5 + Drupal 6.

С недавнего времени Apache периодически съедает всю доступную память на сервере. Примерно два раза в день сервер вообще зависает, приходится перезагружать Apache.

Не могу найти причину странного поведения.
Модули не включали, не устанавливали. Сервер не трогали.

Мониторю сервер через htop, там такая картина: скриншот


Прошу проконсультировать о возможных неполадках.

Спустя 1 час, 6 минут, 16 секунд (9.02.2012 - 14:06) VELIK505 написал(а):
Цитата (mikelo @ 9.02.2012 - 10:00)
У меня такая проблема:

На сервере 2Gb ОЗУ.
Debian 5 + Apache 2 + PHP 5.2.6 + Mysql 5 + Drupal 6.

С недавнего времени Apache периодически съедает всю доступную память на сервере. Примерно два раза в день сервер вообще зависает, приходится перезагружать Apache.

Не могу найти причину странного поведения.
Модули не включали, не устанавливали. Сервер не трогали.

Мониторю сервер через htop, там такая картина: скриншот


Прошу проконсультировать о возможных неполадках.

Сколько уников в сутки на сайт ходит?
Покажи мне скрин top во время нагрузки такой. Команда top
Покажи мне конфиг апача.
Nginx-а как я понял отсутствует? ohmy.gif

Спустя 19 часов, 24 секунды (10.02.2012 - 09:07) mikelo написал(а):
6 000 уникальных посетителей (согласно Google Analytics)

Скриншот - top

Конфиг Апача:


### Section 1: Global Environment
#
# The directives in this section affect the overall operation of Apache,
# such as the number of concurrent requests it can handle or where it
# can find its configuration files.
#

#
# ServerRoot: The top of the directory tree under which the server's
# configuration, error, and log files are kept.
#
# NOTE! If you intend to place this on an NFS (or otherwise network)
# mounted filesystem then please read the LockFile documentation (available
# at <URL:http://httpd.apache.org/docs-2.1/mod/mpm_common.html#lockfile>);
# you will save yourself a lot of trouble.
#
# Do NOT add a slash at the end of the directory path.
#
ServerRoot "/etc/apache2"

#
# The accept serialization lock file MUST BE STORED ON A LOCAL DISK.
#
#<IfModule !mpm_winnt.c>
#<IfModule !mpm_netware.c>
LockFile /var/lock/apache2/accept.lock
#</IfModule>
#</IfModule>

#
# PidFile: The file in which the server should record its process
# identification number when it starts.
# This needs to be set in /etc/apache2/envvars
#
PidFile ${APACHE_PID_FILE}

#
# Timeout: The number of seconds before receives and sends time out. was: 300
#
Timeout 60

#
# KeepAlive: Whether or not to allow persistent connections (more than
# one request per connection). Set to "Off" to deactivate.
#
KeepAlive On

#
# MaxKeepAliveRequests: The maximum number of requests to allow
# during a persistent connection. Set to 0 to allow an unlimited amount.
# We recommend you leave this number high, for maximum performance. was:100
#
MaxKeepAliveRequests 200

#
# KeepAliveTimeout: Number of seconds to wait for the next request from the
# same client on the same connection. was: 15
#
KeepAliveTimeout 5

##
## Server-Pool Size Regulation (MPM specific)
##

# prefork MPM
# StartServers: number of server processes to start
# MinSpareServers: minimum number of server processes which are kept spare
# MaxSpareServers: maximum number of server processes which are kept spare
# MaxClients: maximum number of server processes allowed to start
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 250
MaxRequestsPerChild 5000
</IfModule>

# worker MPM
# StartServers: initial number of server processes to start
# MaxClients: maximum number of simultaneous client connections
# MinSpareThreads: minimum number of worker threads which are kept spare
# MaxSpareThreads: maximum number of worker threads which are kept spare
# ThreadsPerChild: constant number of worker threads in each server process
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule mpm_worker_module>
StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
</IfModule>

# These need to be set in /etc/apache2/envvars
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}

#
# AccessFileName: The name of the file to look for in each directory
# for additional configuration directives. See also the AllowOverride
# directive.
#

AccessFileName .htaccess

#
# The following lines prevent .htaccess and .htpasswd files from being
# viewed by Web clients.
#
<Files ~ "^\.ht">
Order allow,deny
Deny from all
</Files>

#
# DefaultType is the default MIME type the server will use for a document
# if it cannot otherwise determine one, such as from filename extensions.
# If your server contains mostly text or HTML documents, "text/plain" is
# a good value. If most of your content is binary, such as applications
# or images, you may want to use "application/octet-stream" instead to
# keep browsers from trying to display binary files as though they are
# text.
#
DefaultType text/plain


#
# HostnameLookups: Log the names of clients or just their IP addresses
# e.g., www.apache.org (on) or 204.62.129.132 (off).
# The default is off because it'd be overall better for the net if people
# had to knowingly turn this feature on, since enabling it means that
# each client request will result in AT LEAST one lookup request to the
# nameserver.
#
HostnameLookups Off

# ErrorLog: The location of the error log file.
# If you do not specify an ErrorLog directive within a <VirtualHost>
# container, error messages relating to that virtual host will be
# logged here. If you *do* define an error logfile for a <VirtualHost>
# container, that host's errors will be logged there and not here.
#
ErrorLog /var/log/apache2/error.log

#
# LogLevel: Control the number of messages logged to the error_log.
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
#
LogLevel warn

# Include module configuration:
Include /etc/apache2/mods-enabled/*.load
Include /etc/apache2/mods-enabled/*.conf

# Include all the user configurations:
Include /etc/apache2/httpd.conf

# Include ports listing
Include /etc/apache2/ports.conf

#
# The following directives define some format nicknames for use with
# a CustomLog directive (see below).
# If you are behind a reverse proxy, you might want to change %h into %{X-Forwarded-For}i
#
LogFormat "%v:%p %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent

#
# Define an access log for VirtualHosts that don't define their own logfile
CustomLog /var/log/apache2/other_vhosts_access.log vhost_combined

#
# Customizable error responses come in three flavors:
# 1) plain text 2) local redirects 3) external redirects
#
# Some examples:
#ErrorDocument 500 "The server made a boo boo."
#ErrorDocument 404 /missing.html
#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
#ErrorDocument 402 http://www.example.com/subscription_info.html
#

#
# Putting this all together, we can internationalize error responses.
#
# We use Alias to redirect any /error/HTTP_<error>.html.var response to
# our collection of by-error message multi-language collections. We use
# includes to substitute the appropriate text.
#
# You can modify the messages' appearance without changing any of the
# default HTTP_<error>.html.var files by adding the line:
#
# Alias /error/include/ "/your/include/path/"
#
# which allows you to create your own set of files by starting with the
# /usr/share/apache2/error/include/ files and copying them to /your/include/path/,
# even on a per-VirtualHost basis. The default include files will display
# your Apache version number and your ServerAdmin email address regardless
# of the setting of ServerSignature.
#
# The internationalized error documents require mod_alias, mod_include
# and mod_negotiation. To activate them, uncomment the following 30 lines.

# Alias /error/ "/usr/share/apache2/error/"
#
# <Directory "/usr/share/apache2/error">
# AllowOverride None
# Options IncludesNoExec
# AddOutputFilter Includes html
# AddHandler type-map var
# Order allow,deny
# Allow from all
# LanguagePriority en cs de es fr it nl sv pt-br ro
# ForceLanguagePriority Prefer Fallback
# </Directory>
#
# ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var
# ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var
# ErrorDocument 403 /error/HTTP_FORBIDDEN.html.var
# ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var
# ErrorDocument 405 /error/HTTP_METHOD_NOT_ALLOWED.html.var
# ErrorDocument 408 /error/HTTP_REQUEST_TIME_OUT.html.var
# ErrorDocument 410 /error/HTTP_GONE.html.var
# ErrorDocument 411 /error/HTTP_LENGTH_REQUIRED.html.var
# ErrorDocument 412 /error/HTTP_PRECONDITION_FAILED.html.var
# ErrorDocument 413 /error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var
# ErrorDocument 414 /error/HTTP_REQUEST_URI_TOO_LARGE.html.var
# ErrorDocument 415 /error/HTTP_UNSUPPORTED_MEDIA_TYPE.html.var
# ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html.var
# ErrorDocument 501 /error/HTTP_NOT_IMPLEMENTED.html.var
# ErrorDocument 502 /error/HTTP_BAD_GATEWAY.html.var
# ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var
# ErrorDocument 506 /error/HTTP_VARIANT_ALSO_VARIES.html.var



# Include of directories ignores editors' and dpkg's backup files,
# see README.Debian for details.

# Include generic snippets of statements
Include /etc/apache2/conf.d/

# Include the virtual host configurations:
Include /etc/apache2/sites-enabled/

# Include phpmyadmin configurations:
Include /etc/phpmyadmin/apache.conf

ServerTokens Prod

# a2enmod headers

RequestHeader unset Range

RequestHeader unset Request-Range


Nginx отсутствует.

Спустя 1 день, 7 часов, 29 минут, 50 секунд (11.02.2012 - 16:37) VELIK505 написал(а):
Всё нормально тут=)
RequestHeader unset Range
RequestHeader unset Request-Range

Это ты типо так от Range заголовков защитился? Мусор это а не защита.
Давай ставь себе nginx, а то так и будет загинаться

Спустя 4 часа, 14 минут, 29 секунд (11.02.2012 - 20:51) mikelo написал(а):
nginx ставить буду, но пока не нашел нормальной пошаговой инструкции по настройке...
+ вспомнил что настройки xcache у меня сейчас по умолчанию стоят
Спасибо за совет!

Спустя 2 минуты, 9 секунд (11.02.2012 - 20:53) mikelo написал(а):
Еще думаю уменьшу значение Maxclients до 100, память все равно 250 процессов не поместит. 2Гига всего.

Спустя 17 минут, 58 секунд (11.02.2012 - 21:11) Семён написал(а):
Ровно кстати 3 года))))
И после создания темы спустя только 4.5 месяца смог нормально собрать nginx с apach-ем)))

mikelo
Вам советую включить кеширование SQL запросов.
У вас как наблюдаю mysql кладёт сервак

Спустя 44 минуты (11.02.2012 - 21:55) mikelo написал(а):
Включал кеширование SQL запросов, так как сайт на Друпале там такие запросы что черт ногу сломит, длинной по сотни символов.
Так значит надо еще mysql тюнить...

Спустя 9 часов, 48 минут, 31 секунда (12.02.2012 - 07:44) VELIK505 написал(а):
Цитата (mikelo @ 11.02.2012 - 18:55)
Включал кеширование SQL запросов, так как сайт на Друпале там такие запросы что черт ногу сломит, длинной по сотни символов.
Так значит надо еще mysql тюнить...

Конфиг xcache покажи.
Кеш sql запросов можешь вот такой попробывать http://webew.ru/articles/1041.webew
Какой статьи зачем она?
apt-get update
apt-get upgrade
apt-get install nginx
/etc/init.d/apache2 restart
/etc/init.d/nginx start
nginx -v

Помойму даже порты сам поменяет у апача. Но если нет то в апаче задашь 81 а у nginx 81.
И в автозагрузку сам кинет его но если нет то в автозагрузку сам кинешь демона.
Потом в конфиге nginx.conf там сжатие поднастроишь:
gzip on;
# Минимальная длина ответа, при которой модуль будет жать, в байтах
gzip_min_length 1000;
# Разрешить сжатие для всех проксированных запросов
gzip_proxied any;
# MIME-типы которые необходимо жать
gzip_types text/plain application/xml application/x-javascript text/javascript text/css text/json;
# Запрещает сжатие ответа методом gzip для IE6
gzip_disable "msie6";
# Уровень gzip-компрессии
gzip_comp_level 3;
и потом mod_rpaf2 не забудь ещё установить и подключить его в конфиг апача (чтобы айпи адреса правильно определялись)

Спустя 14 часов, 7 минут, 19 секунд (12.02.2012 - 21:51) mikelo написал(а):
Все сделал по твоей инструкции, nginx пока запросы не принимает.
Касательно настройки портов не совсем ясно.

Спустя 10 часов, 8 минут, 30 секунд (13.02.2012 - 07:59) mikelo написал(а):
1. Кэш в mysql включен:
скриншот

2. Конфиг xcache:

# configuration for php Xcache module

[xcache-common]
;; install as zend extension (recommended), normally "$extension_dir/xcache.so"
zend_extension = /usr/lib/php5/20060613/xcache.so

[xcache.admin]
xcache.admin.enable_auth = On
# Configure this to use admin pages
; xcache.admin.user = "mOo"
; xcache.admin.pass = md5($your_password)
; xcache.admin.pass = ""

[xcache]
; ini only settings, all the values here is default unless explained

; select low level shm/allocator scheme implemenation
xcache.shm_scheme = "mmap"
; to disable: xcache.size=0
; to enable : xcache.size=64M etc (any size > 0) and your system mmap allows
xcache.size = 16M
; set to cpu count (cat /proc/cpuinfo |grep -c processor)
xcache.count = 1
; just a hash hints, you can always store count(items) > slots
xcache.slots = 8K
; ttl of the cache item, 0=forever
xcache.ttl = 0
; interval of gc scanning expired items, 0=no scan, other values is in seconds
xcache.gc_interval = 0

; same as aboves but for variable cache
xcache.var_size = 0M
xcache.var_count = 1
xcache.var_slots = 8K
; default ttl
xcache.var_ttl = 0
xcache.var_maxttl = 0
xcache.var_gc_interval = 300

xcache.test = Off
; N/A for /dev/zero
xcache.readonly_protection = Off
; for *nix, xcache.mmap_path is a file path, not directory.
; Use something like "/tmp/xcache" if you want to turn on ReadonlyProtection
; 2 group of php won't share the same /tmp/xcache
; for win32, xcache.mmap_path=anonymous map name, not file path
xcache.mmap_path = "/dev/zero"


; leave it blank(disabled) or "/tmp/phpcore/"
; make sure it's writable by php (without checking open_basedir)
xcache.coredump_directory = ""

; per request settings
xcache.cacher = On
xcache.stat = On
xcache.optimizer = Off

[xcache.coverager]
; per request settings
; enable coverage data collecting for xcache.coveragedump_directory and xcache_coverager_start/stop/get/clean() functions (will hurt executing performance)
xcache.coverager = Off

; ini only settings
; make sure it's readable (care open_basedir) by coverage viewer script
; requires xcache.coverager=On
xcache.coveragedump_directory = ""

Спустя 2 часа, 38 минут, 15 секунд (13.02.2012 - 10:38) VELIK505 написал(а):
xcache.size = 16M
чёто совсем мало. поставь хотябы 48мб

Посмотри на каком щас порте у тебя висит apache и на каком висит nginx

Спустя 31 минута, 29 секунд (13.02.2012 - 11:09) alexbel2404 написал(а):
у меня при гиге оперативе, при 5000 уников в день апач всю память сжирал) сейчас этот же сервер с nginx+apache принимает почти 40к уников не напрягаясь)

Спустя 25 минут, 36 секунд (13.02.2012 - 11:35) mikelo написал(а):
1. Apache уже слушает 81 порт:
скриншот
Но nginx почему-ничего не слушает.
2. xcache.size выставил в 48Мб ө уже кушает меньше оперативы smile.gif

Спустя 1 час, 38 минут, 38 секунд (13.02.2012 - 13:13) VELIK505 написал(а):
/etc/init.d/nginx restart
и покажи мне команду top потом

Спустя 23 минуты, 43 секунды (13.02.2012 - 13:37) mikelo написал(а):
В top его нет:
скриншот

Спустя 3 часа, 18 минут, 34 секунды (13.02.2012 - 16:56) VELIK505 написал(а):
nginx.conf покажи

Спустя 13 часов, 9 минут, 23 секунды (14.02.2012 - 06:05) mikelo написал(а):

user www-data;
worker_processes 1;

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;
#tcp_nopush on;

#keepalive_timeout 0;
keepalive_timeout 65;
tcp_nodelay on;

gzip on;

include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}

Спустя 1 час, 36 минут, 3 секунды (14.02.2012 - 07:41) VELIK505 написал(а):
ну так ты server то ему создай
server {
listen 11.111.111.11:80;
server_name mysite.ru www.mysite.ru;
rewrite ^(/manager/.*)$ https://$host$1 permanent;
error_page 404 = @fallback;
location ~* ^/(webstat/|awstats|webmail/|myadmin/|manimg/) {
proxy_pass http://11.111.111.11:80;
proxy_redirect http://mysite.ru:81/ /;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}
location / {
proxy_pass http://11.111.111.11:80;
proxy_redirect http://mysite.ru:81/ /;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}
location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar)$ {
root /var/www/festival/data/www/mysite.ru;
access_log /var/www/httpd-logs/mysite.ru.access.log ;
access_log /var/www/nginx-logs/user isp;
}
location @fallback {
proxy_pass http://11.111.111.11:81;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}
}


Мой пример с gentoo.
Думаю тут всё понятно. Чё откуда проксим 80ый порт тут являеться nginx а 81ый это апач
mysite - домен 11.111.111.11 -айпи сайта. ну а остальное дирректории.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.