Проблема при получении данных определённой длины от Nginx + Memcached
    Brazzford 
    nginx-forum at nginx.us
       
    Mon May 26 13:47:08 UTC 2014
    
    
  
Здравствуйте! Я изучаю связку Nginx+Memcached+Apache/PHP. nginx.conf у меня
стоит по умолчанию, а виртуальный хост имеет такие настройки:
server {
        listen 80;
    server_name localhost;
    root /home/brazzford/nginx-www/;
    index index.php;
    location / {
        # All POST request send to backend
        if ($request_method = POST) {
            proxy_pass http://localhost:8080;
            break;
            }
        # Enable SSI
        ssi on;
        default_type text/html;
        # Check Memcached
        set $memcached_key "site:$request_uri";
        memcached_pass localhost:11211;
        memcached_buffer_size 100k;
        proxy_intercept_errors  on;
        error_page 404 502 = @process;
    }
    # Cache miss
    location @process
    {
        proxy_pass http://localhost:8080;
        ssi on;
    }
    # Cache static
    location ~*
.(gif|jpg|jpeg|png|ico|wmv|3gp|avi|mpg|mpeg|mp4|flv|mp3|mid|js|css|html|htm|wml)$
{
    root /var/www;
    expires 365d;
    }
}
У меня есть тестовый PHP скрипт:
<?php
    require "memc_connection.inc.php";
        $uriString = $_SERVER['REQUEST_URI'];
        $key = "site:" . $uriString;
        $data = 
        "
            aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa    
            aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
        ";
        $set_result = $memc->set($key, $data);
        if($set_result)
            echo "SUCCESS!";
        else
            echo $memc->getResultMessage();
?>
И всё работает как надо, то есть сначала я от Apache получаю "SUCCESS", а
потом от Nginx и Memcached "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa   
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa". Но кода я добавляю к переменной
$data "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", то от Nginx я получаю
такую бессмыслицу "xњгвдL$prЇ–Ґ@cn-т". То есть, проблема начинается после
того, как хранимые данные достигают определённого размера. Memcached+Apache
работает правильно, значит проблема в Nginx. Может нужно какой-то параметр
изменить? Пробовал менять    memcached_buffer_size, как видите поставил на
100к, и всё равно не помогает.
Posted at Nginx Forum: http://forum.nginx.org/read.php?21,250372,250372#msg-250372
    
    
Подробная информация о списке рассылки nginx-ru