Ответы пользователя по тегу Nginx
  • Сайт, способный выдержать высокую нагрузку (?)

    @zuborg
    Хочу сразу все сделать правильно
    Все хотят, да вот ни у кого не получается ;)

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

    Казалось бы, что может быть проще и легковеснее, чем отдавать статичные .html файлы
    Собственно, ничего, поэтому для незалогиненых пользователей, которые генерируют 90% трафика, стоит использовать именно статичные .html файлы. Запросы пользователей, которым надо генерить индивидуальные странички, надо направлять на движок в обход кеша (например, по факту наличия соотв сесионной куки).

    Где лучше хранить кэш с .html документами?
    в соотв. documentroot, чтобы nginx мог их легко найти и отдать, прямо по запрашиваемому урлу. Крайне желательно поддерживать некоторую вложенность папок, чтобы в каждой папке было максимум несколько тысяч файлов или других папок.

    Или может все хранить в тех же файлах?
    Все нельзя. Только то что редко обновляется и долго остается валидным. Для короткоживущих данных лучше использовать все-таки memcached, во избежание лишней нагрузки на диск. Либо FS в памяти, если уж хочется работы с файлами. Для короткоживущих данных в php есть замечательное средство кеширования — pecl модуль APC (основное его предназначение opcode cacher, но данные он тоже может кешировать)

    У работы с файловым кешем свои тонкости. Например, данные в нем менять надо атомарно, т.е. через временный файл и последующий rename(). Также желательно использовать блокировки чтобы избежать ситуации, когда несколько запросов паралельно начинают генерировать один и тот же элемент кеша. Часто нет необходимости немедленно перегенерировать элемент кеша при обновлении данных, достаточно его удалить, а генерация произойдет при запросе.
    Ответ написан
    Комментировать
  • Ошибка в nginx, не пойму в чем проблема?

    @zuborg
    Вполне может быть что эту ошибку генерирует апач, проверьте post_max_size в php.ini, и error логи nginx-а и апача, также сравните access-логи для Вашего запроса в nginx-е и апаче
    Ответ написан
    2 комментария
  • Какие существуют альтернативы fcgi?

    @zuborg
    Если так стоит вопрос, то просто сделайте обертку для куска кода, который получает запросы снаружи, и добавьте в нее поддержку разных режимов/протоколов. Список более-менее актуальных протоколов взять у того же nginx-а. Для универсальности (но, увы, не производительности) добавьте ещё cgi — он везде есть.

    PS. fcgi старое проверенное производительное решение, сомневаюсь что в ближайшее (или не очень ближайшее) время что-то станет более популярным и производительным.
    Ответ написан
    Комментировать
  • Php5-fpm и nginx — ни в какую не хочет работать?

    @zuborg
    Пропишите проксирование на tcp-сокет (а не на unix-сокет) и посмотрите сниффером трафик, будете точно знать какой запрос шлет nginx и какой ответ возвращает php:
    tcpdump -nAs 20000 -i lo0 tcp port 9000
    Ответ написан
    1 комментарий