Для апача есть mpm_itk. nginx тут врядли чем-то поможет, он не создает для каждого соединения по процессу.<br><br><div class="gmail_quote">18 декабря 2008 г. 17:49 пользователь Холстинников Григорий <span dir="ltr">&lt;<a href="mailto:scarych@yandex.ru">scarych@yandex.ru</a>&gt;</span> написал:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Доброго времени суток всем.<br>
Прошу помощи и совета в реализации следующей задачи &nbsp;( гуглинг пока-что ничего не дал :( )<br>
Итак, требуется реализовать следующее взаимодействие серверных компонент.<br>
<br>
У нас есть пользователи, прописанные на сервере системно, т.е. запись для каждого из них есть в /etc/shadow, /etc/groups , /etc/passwd, etc.<br>
Эти пользователи авторизуются в www-клиенте (браузере), используя свои системные логин и пароль.<br>
После авторизации нужно по логину пользователя или по логин+ip направить пользователя в назначенный ему Document_root. Описание связок &quot;login, ip, document_root&quot; хранится отдельным конфигурационным файлом.<br>
И далее, выполнение всех http-запросов в пределах текущей сессии пользователя должно выполняться от имени этого пользователя.<br>
<br>
В распоряжении есть nginx и apache 2.2.<br>
Выполняться будут perl, php и, наверняка, с++-cgi скрипты.<br>
Нагрузка ~1.5-2K пользователей одновременно.<br>
Частота запросов: частая.<br>
Мощность серверов: высокая.<br>
<br>
Какие есть возможности реализации такого решения стандартными средствами?<br>
<br>
В моем понимании это можно было бы построить следующим образом:<br>
nginx запускается под рутом, читает /etc/shadow для авторизации.<br>
далее, в директиве server { ... } выполняется некий pl скрипт, в который передаются текущий remote_user и remote_addr, а он возвращается document_root и вызывает запуск fastCGI процесса для обработки .pl и .php под текущим пользователем.<br>

Либо каким-то образом порождает форк Апача с текущим пользователем и все запросы проксирует на него.<br>
Вопрос состоит в том, возможна ли такое разруливание и как? Моих знаний данных технологий пока не хватает :(<br>
<br>
Заранее спасибо за участие :)<br>
<br>
</blockquote></div><br><br clear="all"><br>-- <br>С уважением, Борис Долгов.<br>icq 77556665<br>e-mail <a href="mailto:boris@dolgov.name">boris@dolgov.name</a><br>