Конечно можно. А что в этом такого? Больше того, можно использовать связку Apache-Apache, и это даже не лишено смысла, и результаты показывает не сильно хуже Apache-back nginx-front. Где-то статья была, в которой автор ругал тех кто ругает Apache и восхищается nginx'ом и lighttpd. Суть заблуждения была в том, что Apache тормозен, а nginx быстр. А на самом деле Apache тормозен, потому что отдаёт динамику, и на нём висит много медленных коннектов. Если мы тяжёлый апач ставим за прокси, то на тяжёлом апаче висит гораздо меньше коннектов, потому что он их быстро отдаёт прокси серверу, который где-то рядом. И даже бенчмарк был, с лёгким Apache (без лишних модулей) в качестве фронтэнда. Apache-Apache там не сильно отставал от nginx-Apache.
Не проще ли взять просто один lighttpd/nginx без всякого апача?
у нджинкса когда он самостоятельно работает с php-fastcgi стабильность оставляет желать лучшего, приходится использовать костыли. в качестве фронт-енда использовать лучше.
RewriteEngine On
RewriteRule ^admin/$ /admin/index.htm [NC,L]
RewriteCond %{REQUEST_URI} ^/index\.php$
RewriteRule ^.+$ http://www.bedtime.ru/ [R=301,L]
RewriteCond %{HTTP_HOST} ^bedtime\.ru$ [NC]
RewriteCond %{REQUEST_URI} !^/robots\.txt$
RewriteRule ^(.*)$ http://www.bedtime.ru/$1 [R=301,L]
Options FollowSymLinks
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?bedtime.ru [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?bigmag.ru [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?bedmag.ru [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?bigmag.ru/1/ [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ - [NC,F,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^cat([0-9]*)?/?$ ./new_index.php?cat=$1 [QSA]
RewriteRule ^item([0-9]*)?/?$ ./new_index.php?item=$1 [QSA]
RewriteRule ^item([0-9]*)?/?cat([0-9]*)?/?$ ./new_index.php?item=$1&cat=$2 [QSA]
RewriteRule ^cat([0-9]*)?/?item([0-9]*)?/?$ ./new_index.php?cat=$1&item=$2 [QSA]
RewriteRule ^([0-9,a-z,A-Z,+,_,-]*)_([0-9]*).html$ ./print.php?id=$2 [QSA]
RewriteRule ^taleid([0-9]*)?/?$ ./index.php?taleid=$1 [QSA]
RewriteRule ^mapitem?/?$ ./mapitem.php [QSA]
RewriteRule ^itemfull?/?$ ./new_index.php?mapitem [QSA]
RewriteRule ^cattt?/?$ ./new_index.php?cattt [QSA]
########## Начало - Правила обработки запросов для блокировки распространенных эксплоитов
## If you experience problems on your site block out the operations listed below
#
# Block out any script trying to set a mosConfig value through the URL
#RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
# Block out any script trying to base64_encode crap to send via URL
RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]
# Block out any script that includes a <script> tag in URL
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
# Block out any script trying to set a PHP GLOBALS variable via URL
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
# Block out any script trying to modify a _REQUEST variable via URL
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
# Send all blocked request to homepage with 403 Forbidden error!
RewriteRule ^(.*)$ index.php [F,L]
#
########## Конец - Правила обработки (Rewrite rules) для блокировки распространенных эксплоитов
RewriteRule .* - [E=HTTP_IF_MODIFIED_SINCE:%{HTTP:If-Modified-Since}]
RewriteRule .* - [E=HTTP_IF_NONE_MATCH:%{HTTP:If-None-Match}]
А если сайтов с подобным реврайтами 20, то я уж лучше апач заюзаю с его mod_rewrite.
а поскольку ты эксплойты решил фильтровать средствами фронтенд-регекспов, то должна быть у тебя в запасе и пуля из серебра, на случай если ты ощибёшься, и костлявая рука скрипткидиса тебя таки прощупает, %USERNAME%
>Объясните мне кто-нибудь: зачем вообще делить на фронтэнд и бэкэнд?
Например, когда есть масса мелких виртхостов и нужно запускать без извращений их от своих юзеров. В случае Лайти или Энжинкса потребуется поднимать по fcgi-серверу на каждого юзера. Геморрой. В Апаче же - mpm_itk.
Плюс некоторые проекты удобнее рулить через .htaccess
Забавно тут... Мне тут пришлось спешно переносить систему с двух серверов на двух IP (Apache + Lighttpd) на один, так что встал вопрос с фронтендом. Задачи стояли такие, что проще было в качестве фронтенда воткнуть nginx. Так сейчас и стоят на фронтенде - nginx, за ним - apache и lighttpd :)
Так вот, я по приколу запустил сейчас ab для статического robots.txt. Вышло (лучшее значение из серии в пару десятков запусков, 50 потоков, 20000 запросов):
- Голый nginx: 6574 ответов в секунду.
- Голый lighttpd: 14445 ответов в секунду.
- lighttpd, сидящий как бэкенд за nginx: 8475.
- голый apache с mpm_itk: 596
- apache за nginx: 599
От числа потоков соотношение почти не зависит. Вот в случае одного потока и 5 тыс. запросов: