Rauan Maemirov | 1 Aug 11:47
Gravatar

proxy_pass на https

Здравствуйте. Пытаюсь настроить proxy_pass на https, но
элементарно не
получается настроить правильный конфиг.
Нужно включить поддержку ssl? Но тогда мне нужно
создавать ключи, а
зачем мне их создавать, я ведь хочу брать данные
оттуда, а location на
nginx необязательно должен быть на https.
Denis F. Latypoff | 1 Aug 15:23
Picon
Favicon
Gravatar

Re: proxy_pass на https

> Здравствуйте. Пытаюсь настроить proxy_pass на https, но
элементарно не
> получается настроить правильный конфиг.
> Нужно включить поддержку ssl? Но тогда мне нужно
создавать ключи, а
> зачем мне их создавать, я ведь хочу брать данные
оттуда, а location на
> nginx необязательно должен быть на https.
>  

Обычно, все пытаются сделать наоборот, дабы
разгрузить бекенд этой ресурсоемкой работой...

--

-- 
br, Denis F. Latypoff.

Igor Sysoev | 1 Aug 18:30
Picon

Re: proxy_pass на https

On Sat, Aug 01, 2009 at 03:47:33PM +0600, Rauan Maemirov wrote:

> Здравствуйте. Пытаюсь настроить proxy_pass на https, но
элементарно не
> получается настроить правильный конфиг.
> Нужно включить поддержку ssl? Но тогда мне нужно
создавать ключи, а
> зачем мне их создавать, я ведь хочу брать данные
оттуда, а location на
> nginx необязательно должен быть на https.

Нужно собрать --with-http_ssl_module и указать

   location / {
       proxy_pass  https://backend;
   }

Поддержку ssl включать не нужно. Ещё стоит обратить
внимание на

http://sysoev.ru/nginx/docs/http/ngx_http_proxy_module.html#proxy_ssl_session_reuse

--

-- 
Игорь Сысоев
http://sysoev.ru

mmm mmm | 2 Aug 03:18
Picon
Favicon

Re[2]: nginx как frontend к apache


-----Original Message-----
From: Samoilov Anton <sub2.adm@...>
To: nginx-ru@...
Date: Fri, 31 Jul 2009 22:48:08 +0600
Subject: Re: nginx как frontend к apache

> В сообщении от 1249049812 секунд после начала Эпохи
> Вы mmm mmm мне написали следующие:
> 
> > 
> > а стоит ли использовать кеширование nginx если он сам,
apache и
> > данные вертятся на одном компе?
> > 
> да, если данные генерятся апачем то медленные юзеры
будут его не хило
> мучить, а nginx заберет их себе и спокойно будет
отдавать не напрягая
> сервер
> 

а разве он сам по себе не будет брать ф-лы из каталога
сайта? или если он перепишет их в свои собственные
папки то это будет происходить еще быстрее?

Алексей | 2 Aug 22:13
Picon

Re: nginx как frontend к apache

mmm mmm wrote:
> -----Original Message-----
> From: Samoilov Anton <sub2.adm <at> akipress.org>
> To: nginx-ru <at> sysoev.ru
> Date: Fri, 31 Jul 2009 22:48:08 +0600
> Subject: Re: nginx как frontend к apache
>
>   
>> В сообщении от 1249049812 секунд после начала Эпохи
>> Вы mmm mmm мне написали следующие:
>>
>>     
>>> а стоит ли использовать кеширование nginx если он сам,
apache и
>>> данные вертятся на одном компе?
>>>
>>>       
>> да, если данные генерятся апачем то медленные юзеры
будут его не хило
>> мучить, а nginx заберет их себе и спокойно будет
отдавать не напрягая
>> сервер
>>
>>     
>
> а разве он сам по себе не будет брать ф-лы из каталога
сайта? или если он перепишет их в свои собственные
папки то это будет происходить еще быстрее?
>
>
(Continue reading)

Дмитрий - | 3 Aug 03:37
Picon
Gravatar

Re: Что такое $fastcgi_script_name?

Здравствуйте.
$fastcgi_script_name является директивой модуля ngx_http_fastcgi_module
При запросу http://site.ru/somephp.php
переменная будет равна /somephp.php
Тоесть получится так:
SCRIPT_FILENAME  /var/www/somephp.php;
Ман http://sysoev.ru/nginx/docs/http/ngx_http_fastcgi_module.html

27 июля 2009 г. 17:27 пользователь Vladislav <tvword <at> gmail.com> написал:
Простите за дурацкий вопрос, но никак не могу врубиться, что такое $fastcgi_script_name?
Например, в конструкции fastcgi_param  SCRIPT_FILENAME  /var/www$fastcgi_script_name;
Интуитивно понятно, но точно сам для себя не могу объяснить: это переменная NGINX или Fastcgi или Php?
Чему она равна и откуда берется?


Igor Sysoev | 3 Aug 07:47
Picon

Re: Что такое $fastcgi_script_name?

On Mon, Aug 03, 2009 at 05:37:44AM +0400, Дмитрий - wrote:

> Здравствуйте.
> $fastcgi_script_name является директивой модуля ngx_http_fastcgi_module
> При запросу http://site.ru/somephp.php
> переменная будет равна /somephp.php
> Тоесть получится так:
> SCRIPT_FILENAME  /var/www/somephp.php;
> Ман http://sysoev.ru/nginx/docs/http/ngx_http_fastcgi_module.html

Точнее
http://sysoev.ru/nginx/docs/http/ngx_http_fastcgi_module.html#variables

> 27 июля 2009 г. 17:27 пользователь Vladislav
<tvword@...> написал:
> 
> > Простите за дурацкий вопрос, но никак не могу
врубиться, что такое
> > $fastcgi_script_name?
> > Например, в конструкции fastcgi_param  SCRIPT_FILENAME
> >  /var/www$fastcgi_script_name;
> > Интуитивно понятно, но точно сам для себя не могу
объяснить: это переменная
> > NGINX или Fastcgi или Php?
> > Чему она равна и откуда берется?

--

-- 
Игорь Сысоев
http://sysoev.ru

Olexander Shtepa | 3 Aug 08:09

Re: nginx как frontend к apache

> Nginx очень быстр при работе со статикой.

Устал от этого ля-ля (да, эмоции).
Вот слепил на быструю руку небольшое сравнение.
Имеем:
 Apache - 11503.40 [#/sec]
 Nginx - 13601.67 [#/sec]

В данном случае Nginx отдавал файл всего на 18% быстрее чем
Apache. Не вижу оснований для "очень быстр", только
"немного быстрее".

Apache
Конфиг:
 ServerTokens Prod
 ServerRoot "/etc/httpd"
 PidFile run/httpd.pid
 Timeout 120
 KeepAlive On
 MaxKeepAliveRequests 100000
 KeepAliveTimeout 15
 StartServers       1
 MinSpareServers    1
 MaxSpareServers    3
 ServerLimit      256
 MaxClients       256
 MaxRequestsPerChild  0
 Listen 127.0.0.1:80
 User apache
 Group apache
 ServerAdmin root <at> localhost
 DocumentRoot "/var/www/html"
 <Directory />
    Options FollowSymLinks
    AllowOverride None
 </Directory>
 DefaultType text/plain
 HostnameLookups Off
 EnableMMAP on
 EnableSendfile on
 FileETag None
 ErrorLog logs/error_log
 LogLevel warn
 ServerSignature Off
 AddDefaultCharset UTF-8

$ ab -Sq -c 1 -n 20000 -k http://127.0.0.1/test

Server Software:        Apache
Server Hostname:        127.0.0.1
Server Port:            80       

Document Path:          /test
Document Length:        628 bytes

Concurrency Level:      1
Time taken for tests:   1.739 seconds
Complete requests:      20000        
Failed requests:        0            
Write errors:           0            
Keep-Alive requests:    20000        
Total transferred:      17780001 bytes
HTML transferred:       12560000 bytes
Requests per second:    11503.40 [#/sec] (mean)
Time per request:       0.087 [ms] (mean)      
Time per request:       0.087 [ms] (mean, across all concurrent requests)
Transfer rate:          9986.84 [Kbytes/sec] received                    

Nginx
Конфиг:
 user              nginx;
 worker_processes  1;
 error_log         /var/log/nginx/error.log;
 pid               /var/run/nginx.pid;
 events {
     worker_connections  1024;
 }
 http {
     default_type  application/octet-stream;
     access_log off;
     sendfile        on;
     keepalive_timeout  65;
     server {
         listen       127.0.0.1:80;
         server_name  _;
         root   /var/www/html;
     }
 }

$ ab -Sq -c 1 -n 20000 -k http://127.0.0.1/test  
Server Software:        nginx/0.6.36
Server Hostname:        127.0.0.1   
Server Port:            80          

Document Path:          /test
Document Length:        628 bytes

Concurrency Level:      1
Time taken for tests:   1.470 seconds
Complete requests:      20000        
Failed requests:        0            
Write errors:           0            
Keep-Alive requests:    20000        
Total transferred:      17180000 bytes
HTML transferred:       12560000 bytes
Requests per second:    13601.67 [#/sec] (mean)
Time per request:       0.074 [ms] (mean)      
Time per request:       0.074 [ms] (mean, across all concurrent requests)
Transfer rate:          11409.99 [Kbytes/sec] received                   

> apache при каждом запросе создает дочерний процесс .

Какой бред.
Хотя, да, Apache такой гибкий что его можно и это заставить
делать, но никто в своём уме не будет этого делать.
Случай с CGI не считается, так как он такой и есть, кстати
именно поэтому в Nginx никогда не будет CGI.

> nginx же очень компактно расходует память.

Он её расходует сколько, скольно нужно. Apache тоже
бесполезно память не расходует.

ЗЫ: почему Nginx таки используют напишу ответом на
первое письмо
Picon
Gravatar

upstream timed out error

Здравствуйте.
Есть freebsd+nginx+php-fpm
на nginx настроены upstream на себя и еще один сервер.
есть тяжелый запрос, при котором PHP генерирует
большой xml-файл. если
генерить тестовый 1 нод - все работает, если рабочий на несколько
сотен то выдает ето:

2009/08/03 09:52:05 [error] 78148#0: *4449288 upstream timed out (60:
Operation timed out) while reading response header from upstream,
client: 80.91.187.250, server: fe0.****.net, request: "GET
/partners/index.php?p=yandex&l=500 HTTP/1.0", upstream:
"http://62.149.***.233:81/partners/index.php?p=yandex&l=500", host:
"auto.ukrhome.net"
80.91.***.250 - - [03/Aug/2009:09:52:05 +0300] "GET
/partners/index.php?p=yandex&l=500 HTTP/1.0" 499 0 "-" "Opera/9.63
(Windows NT 5.1; U; ru) Presto/2.1.1"

какой параметр необходимо увеличить?

--

-- 

--
Best regards, Alexey Bobok
Daniel Podolsky | 3 Aug 09:39
Picon

Re: nginx как frontend к apache


ЗЫ: почему Nginx таки используют напишу ответом на первое письмо

Но не написали... Придется мне :)

nginx позволяет на том же железе обслужить значительно больше одновременных соединений. Если к вам приходит так много клиентов одновременно, что apache съедает всю память и/или весь процессор, и перестает справляться - установка nginx, даже на той же машине, может помочь. А может, кстати, и не помочь, в специальных случаях.

Других преймуществ перед apache у nginx нет. Недостатки - имеются. Но - это единственное преймущество такое важное, что nginx используют, и используют вовсю. На тяжело нагруженных серверах. На слабо нагруженных - не нужен он ни-за-чем.

Ну и в поддержку вышеописанного достоинства nginx имеет другое, тоже очень важное: он может быть легко встроен в существующую систему обработки запросов, позволяя получить больше одновременных коннектов "за просто так". 

PS
пара слов про тесты:
1) 18% - это очень много.
2) настоящую разницу можно увидеть только на пределе возможностей железа.

Gmane