msgbartop
Главное задаться целью
msgbarbottom




23 Авг 10 Apache install

Логотип апачаМодули могу быть вмонтированы и код сервера или подключаться динамически DSO.
–enable-modules=»MODULE-LIST» – вмонтировать в код
–enable-mods-shared=»MODULE-LIST» – DSO
–enable-MODULE – вмонтировать в код
–enable-MODULE=shared – DSO
–disable-MODULE – не компилировать указанный модуль вообще
Вот пример всех сразу:
./configure –enable-rewrite –disable-status –enable-speling=shared –enable-modules=»http dav» –enable-mods-shared=»info proxy» –disable-cgi

Вышесказанное относится к стандартным модулям. Для нестандартных модулей быть собранными вместе с Apache представляется возможным
другой путь. После инсталляции сервера в каталоге bin будет находиться сценарий apxs, с помощью которого можно будет добавлять в
работающий сервер сторонние модули! Смотрите ниже…

[MPM]
Мульти-процессорные модули.
–with-mpm=MPM, где MPM={beos|worker|prefork|mpmt_os2|perchild|leader|threadpool}
Нас будут интересовать: prefork, worker & perchild
1. Prefork – с этим модулем проходит компиляция по-умолчанию. При старте сервера процесс, запущенный от root, слушает 80 порт
и при поступлении запроса делает fork с пониженными привилегиями пользователя User и группы Group. Подобным образом работает
apache 1.3.x. Здесь речь идет только о процессах, а не о потоках. Потоков здесь нет. В этом режиме настройки очевидны
StartServers – сколько пре-fork серверов стартует при запуске
MinSpareServers – сколько min. держать свободных pre-fork серверов
MaxSpareServers – сколько max. держать свободных pre-fork серверов
MaxClients – сколько pre-fork серверов может быть одновременно. Фактически это – кол-во пользователей, кот. могут быть подключены одновременно
MaxRequestsPerChild – через сколько запросов pre-fork сервер будет уничножен и заместо него создастся новый

2. Worker – промежуточная версия между сервером, основанном на процессах и потоках. Здесь главный процесс, запущенный от root, слушает 80
порт, запускает несколько процессов  с пониженными привилегиями пользователя User и группы Group, но все запросы обслуживают потоки,
запущенные от этих процессов. Настройка здесь уже не такая очевидная:
StartServers – сколько пре-fork серверов стартует при запуске
MinSpareThreads
MaxSpareThreads – серверо будет держать кол-во свободных потоков в этих рамках. Свободные потоки – это сумма потоков во всех процессах
MaxClients – максимально кол-во одновременных клиентов. Т.е. макс. кол-во потоков во всех процессах
ThreadsPerChild – сколько потоков может создавать каждый процесс. Т.о. если мы разделим MaxClients на ThreadsPerChild, то получим сколько макс.
процессов будет создано при максимальной загрузке.
ServerLimit – сколько макс. процессов может быть. Естественно, это число должно быть не меньше MaxClients/ThreadsPerChild – числа
процессов при макс. нагрузке.
ThreadLimit – граница кол-ва потоков у одного процесса. Ествественно, должно быть не меньше ThreadsPerChild
MaxRequestsPerChild – через сколько запросов уничтожается процесс (или поток????)

3. perchild – нестабильный. Его работа похожа на worker с тем отличием, что он может запускать потоки от разного пользователя/группы
для каждого виртуального сервера.
NumServers – столько процессов запускается при старте
StartThreads – каждый процесс запускает столько потоков
MinSpareThreads
MaxSpareThreads – серверо будет держать кол-во свободных потоков в этих рамках. Свободные потоки – это сумма потоков во всех процессах
MaxThreadsPerChild – макс. число потоков в каждом процесс. Т.о. макс. число потоков равно NumServers * MaxThreadsPerChild
В настройках виртуальных серверов:
AssignUserID user-id group-id – поток будет выполняться с id user/group

[PHP]
Необходимо выбрать, как будет запускаться php в апаче – как модуль или как cgi-приложение. Быстрее, конечно, будет работать как модуль, но как
cgi есть возможность с помощью suexec поменять user/group скрипта, что есть очень хорошо.
1. Компиляция как модуля. Для этого исп. сценарий apxs.
2. Компиляция как cgi. Просто комплируем php, не указывая ни –with-apxs2, ни –with-apache

[компиляция апача+php]
Итак, сделан ./configure && make && make install, после чего переходим к исходникам php
1. Компиляция как модуль apache
В configure обязательно добавляем –with-apxs2=/path/to/apxs – таким образом в каталог с DSO модулями будет добавлен свежескомпилированный
модуль php. После чего в httpd.conf добавляем
LoadModule php4_module libexec/libphp4.so – загружаем модуль
AddType application/x-httpd-php .php .php4 – указываем, с какими расширениями файлы обслуживаются php
2. Компиляция как cgi
./configure –enable-force-cgi-redirect – обязательно указываем этот параметр. Он предотвращает _прямое_ обращение к интерпретатору php.
После чего в _каждую_ директорию ScriptAlias мы копируем бинарник php и файл php.ini
ScriptAlias /cgi-bin/ «/path/to/user/cgi-bin/» – в какой директории будут cgi
AddType application/x-httpd-php .php .php4 – добавляем новый тип по расширению
Action  application/x-httpd-php /cgi-bin/php – и указываем этому типу обращаться к php

Tags: , , , , , , ,



Каталог TUT.BY Rating All.BY Rambler's Top100 Каталог на TIGA.BY, а также  новости, работа, объявления, фото и многое другое NP.BY - Новый портал. Почта, чат, погода, авто, объявления, рефераты. Каталог на interby.net Первый Каталог - Предложения продавцов, каталог цен
Раскрутка сайтов