Ответы пользователя по тегу Nginx
  • Как избавиться от SIGBUS при работе php-fpm?

    multifinger
    @multifinger Автор вопроса
    Нашел решение, по крайней мере производительность выросла и SIGBUS больше вообще не встречается.

    Во первых:
    #/etc/php5/fpm/pool.d/www.conf
    pm.max_children = 80 << 2000Mb (total_fpm_memory) / 25Mb (one fpm process memory usage)
    pm.max_spare_servers = 20
    pm.max_requests = 200
    

    Это в целом улучшает стабильность, параметры расчитываются индивидуально
    в этом же файле временно можно включить и посмотреть медленные запросы:

    #slowlog = /var/log/php-fpm-slow.log
    #request_slowlog_timeout = 5s
    #listen.backlog = -1
    


    Далее:
    #/etc/php5/conf.d/apc.ini
    [APC]
    extension = apc.so
    apc.enabled = 1
    apc.shm_segments = 1
    apc.shm_size = 256
    apc.optimization = 0
    apc.num_files_hint = 10000
    apc.user_entries_hint = 10000
    apc.ttl = 0
    apc.user_ttl = 0
    apc.gc_ttl = 600
    apc.cache_by_default = 1
    apc.filters = "apc\.php$"
    apc.slam_defense = 0
    apc.use_request_time = 1
    apc.mmap_file_mask = /tmp/apc.XXXXXX
    apc.file_update_protection = 2
    apc.enable_cli = 0
    apc.max_file_size = 5M
    <b>apc.stat = 0</b>
    apc.write_lock = 1
    apc.report_autofilter = 0
    apc.include_once_override = 0
    apc.rfc1867 = 0
    apc.rfc1867_prefix = "upload_"
    apc.rfc1867_name = "APC_UPLOAD_PROGRESS"
    apc.rfc1867_freq = 0
    apc.localcache = 1
    apc.localcache.size = 512
    apc.coredump_unmap = 0
    apc.stat_ctime = 0
    


    Тут на самом деле ключевой была только настройка apc.stat = 0, остальное можно выкинуть

    Собственно именно добавление apc.stat = 0 позволило устранить SIGBUS ошибку, теперь в логах только уведомления о том что дочерние процессы перезапускаются (из-за pm.max_request)
    Ответ написан
    Комментировать
  • Nginx redirect?

    multifinger
    @multifinger
    if ($request_filename !~ "\.(js|htc|ico|gif|jpg|png|css)$") {
    rewrite ^(.*) /index.php last;
    }


    оно?
    Ответ написан
    7 комментариев
  • Компиляция nginx 1.0.1?

    multifinger
    @multifinger
    Такое происходит когда версия нужного пакета отличается от установленной.
    Иногда aptitude лучше работает с зависимостями и справляется там, где обычные «порошки» не могут.
    Я бы попробовал переустановить (apt-get purge, aptitude update && aptitude install) openssl-dev, а потом libc6-dev
    Ответ написан
    2 комментария