LINUX.ORG.RU

Если не хочешь каждую неделю патчить одно известное решето - то lighttpd твой разумный выбор.

anonymous
()
Ответ на: комментарий от Obey-Kun

Можно.

>а что, можно иначе?

Конечно можно. А что в этом такого? Больше того, можно использовать связку Apache-Apache, и это даже не лишено смысла, и результаты показывает не сильно хуже Apache-back nginx-front. Где-то статья была, в которой автор ругал тех кто ругает Apache и восхищается nginx'ом и lighttpd. Суть заблуждения была в том, что Apache тормозен, а nginx быстр. А на самом деле Apache тормозен, потому что отдаёт динамику, и на нём висит много медленных коннектов. Если мы тяжёлый апач ставим за прокси, то на тяжёлом апаче висит гораздо меньше коннектов, потому что он их быстро отдаёт прокси серверу, который где-то рядом. И даже бенчмарк был, с лёгким Apache (без лишних модулей) в качестве фронтэнда. Apache-Apache там не сильно отставал от nginx-Apache.

Camel ★★★★★
()

Apache и lighttpd не нужны, а ТС полный лол

no1
()

Пользуясь случаем...

Объясните мне кто-нибудь: зачем вообще делить на фронтэнд и бэкэнд? Не проще ли взять просто один lighttpd/nginx без всякого апача?

Естественно, кроме случаев когда нужны убер-мега-фичи апача, которых нет в легковесных серверах.

Deleted
()

> для апача под малой нагрузкой

фронтенд будет лишней сущностью. только и всего.
он как раз и нужен когда нагрузка большая.

Komintern ★★★★★
()
Ответ на: Пользуясь случаем... от Deleted

> Естественно, кроме случаев когда нужны убер-мега-фичи апача, которых нет в легковесных серверах.

А тут именно такой случай. Нужны жирные правила rewrite. Так бы конечно был бы лайти+php_fastcgi.

Obey-Kun ★★★★★
() автор топика
Ответ на: Пользуясь случаем... от Deleted

Не проще ли взять просто один lighttpd/nginx без всякого апача?

у нджинкса когда он самостоятельно работает с php-fastcgi стабильность оставляет желать лучшего, приходится использовать костыли. в качестве фронт-енда использовать лучше.

drull ★☆☆☆
()
Ответ на: комментарий от no1
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.

Obey-Kun ★★★★★
() автор топика
Ответ на: комментарий от Obey-Kun

ты пойми, что апач при большом трафике подохнет на таких реврайтах, ему проще динамику отдавать чем эти пучки говна анализировать при каждом запросе, почитай http://sysoev.ru/nginx/docs/http/ngx_http_rewrite_module.html и сделай выводы, относительно http://sysoev.ru/nginx/docs/

no1
()
Ответ на: комментарий от Obey-Kun

а поскольку ты эксплойты решил фильтровать средствами фронтенд-регекспов, то должна быть у тебя в запасе и пуля из серебра, на случай если ты ощибёшься, и костлявая рука скрипткидиса тебя таки прощупает, %USERNAME%

no1
()
Ответ на: комментарий от anonymous

> Если не хочешь каждую неделю патчить одно известное решето - то lighttpd твой разумный выбор.

Что за бред - экстраполировать 2 бага на "каждую неделю"?

Deleted
()
Ответ на: Пользуясь случаем... от Deleted

>Объясните мне кто-нибудь: зачем вообще делить на фронтэнд и бэкэнд?

Например, когда есть масса мелких виртхостов и нужно запускать без извращений их от своих юзеров. В случае Лайти или Энжинкса потребуется поднимать по fcgi-серверу на каждого юзера. Геморрой. В Апаче же - mpm_itk.

Плюс некоторые проекты удобнее рулить через .htaccess

Ну и всякие хитрые модули ещё...

KRoN73 ★★★★★
()
Ответ на: комментарий от no1

>ты просто не умеешь готовить фасты, devilknight

В это и разница. В nginx фасты готовишь ты, в lighttpd - веб-сервер :)

KRoN73 ★★★★★
()

Забавно тут... Мне тут пришлось спешно переносить систему с двух серверов на двух 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 тыс. запросов:
- nginx: 2936
- lightrpd: 7438
- ligttpd/nginx: 4088
- apache-mpm-itk: 389
- apache-mpm-itk/nginx: 366

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

> Вышло (лучшее значение из серии в пару десятков запусков, 50 потоков, 20000 запросов):
Это на дефолтных настройках?

power
()
Ответ на: комментарий от power

Это на дефолтных настройках?

Почти:

worker_processes 2;

error_log /var/log/nginx/error_log info;

events {
    worker_connections  256;
    use epoll;
}

http {
    include     /etc/nginx/mime.types;
            
    default_type    application/octet-stream;

    log_format main
        '$remote_addr - $remote_user [$time_local] '
            '"$request" $status $bytes_sent '
        '"$http_referer" "$http_user_agent" '
        '"$gzip_ratio"';
            
    client_header_timeout   10m;
    client_body_timeout 10m;
    send_timeout        10m;
            
    connection_pool_size        256;
    client_header_buffer_size   8k;
    large_client_header_buffers 4 2k;
    request_pool_size       4k;
    
    gzip on;
    gzip_min_length 1100;
    gzip_buffers    4 8k;
    gzip_types  text/plain;
        
    output_buffers  1 32k;
    postpone_output 1460;
        
    sendfile    on;
    tcp_nopush  on;
    tcp_nodelay on;

    keepalive_timeout   75 20;

    ignore_invalid_headers  on;

Может, подкрутить чего?

Но на запросах в один поток, по идее, настройки эти не должны сказываться...

KRoN73 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.