Nginx в качестве обратного прокси перед Apache

Текущая настройка Отдельный CentOS 6 VPS с 6 ГБ памяти, работающий под управлением apache 2.2, mariadb и PHP через FastCGI. На сервере в основном есть сайты на wordpress, но есть и другие сайты на PHP. В настоящий момент мы не используем HTTPS ни для одного сайта, но планируем добавить его для аутентификации на сайтах на основе PHP.

  1. Есть ли преимущества добавления Nginx в качестве обратного прокси (с кэшированием или без) для статического содержимого перед apache + FastCGI на том же физическом сервере? В Apache не загружен mod_php, поэтому он уже довольно быстро обслуживает статические данные.
    1a. Каковы возможные преимущества использования apache посередине и сохранения связи apache-php с FastCGI.
    1b. Если мы изменим Apache-FastCGI на Apache-mod_php, будут ли какие-то преимущества? Поскольку единственная задача apache сейчас - обслуживание динамического содержимого, улучшит ли mod_php производительность? Как и в случае с Apache-FstCGI, apache должен запрашивать отдельный процесс (FastCGI) для синтаксического анализа php, а в mod_php процесс apache может анализировать php напрямую.
    1c. Какой сервер должен обрабатывать материалы SSL?
  2. Если apache удалить из середины, а Nginx напрямую использует php-fpm для динамического содержимого, будут ли какие-то преимущества?
  3. Мы рассматриваем возможность получения бесплатного плана CloudFlare для добавления CDN, поэтому имеет ли смысл добавлять nginx, если на переднем плане стоит CloudFlare?
3
задан 25 January 2016 в 13:26
1 ответ

1) Да, в основном, когда apache обрабатывает медленные HTTP-клиенты: apache спроектирован таким образом, что его дочерний элемент блокируется до тех пор, пока он не обслуживает одного клиента, поэтому он не может обслуживать других. Итак, если у вас много клиентов, дочерние элементы apache будут стекать, потребляя память / ЦП и, вероятно, достигая предела дочерних элементов, что делает эту ситуацию DoS.

1a) Я не вижу.

1b) Да, модуль php намного быстрее по дизайну. Но эта скорость видна только в математике, а не в файловых операциях. Поэтому я рекомендую избавиться от apache и использовать nginx + FastCGI.

1c) На самом деле это не имеет значения, однако я полагаю, что это должен быть первый сервер в цепочке, так как он более удобен.

2) Да . Скорость (с любым клиентом), статические файловые операции, кеширование, меньшее потребление памяти. Готов поспорить, вы увидите разницу без какого-либо инструмента для тестирования.

3) Я бы сказал, что не вижу необходимости использовать CloudFlare CDN. Если бы он вам действительно понадобился - вы бы уже избавились от apache. Поскольку вы этого не сделали - это означает, что нагрузка на ваши веб-серверы низкая. Но если вы настаиваете на ответе на вопрос - сомневаюсь. Я сомневаюсь, что действительно есть необходимость что-то делать, если вы довольны тем, как обстоят дела сейчас. Я говорю это без всякого сарказма.

2
ответ дан 3 December 2019 в 06:58

Теги

Похожие вопросы