Nginx в качестве веб-сервера для одного веб-сайта и apache для другого. Возможно ли это?

На VPS с панелью centos У меня Apache в качестве веб-сервера и Nginx в качестве обратного прокси.

Я слышал, что второй быстрее, чем Apache, обрабатывает PHP-запросы, и я хотел бы настроить его как WebServer для одного веб-сайта, но мне все еще нужен Apache для другого.

Возможно ли это?

Моя цель - ускорить время обслуживания php-страниц. Например, для рендеринга wp-admin / admin-ajax.php требуется 7 секунд !!! Я ожидал 0,5 секунды.

2
задан 26 September 2016 в 11:11
3 ответа

Насколько я знаю, у вас не может быть двух процессов, прослушивающих один и тот же порт (80 / http) на одной машине, поэтому, вероятно, не параллельно, как таковые.

Однако вы можете настроить прослушивание Nginx порт 80, Apache прослушивает другой порт (81) и Nginx передает соответствующие запросы Apache. Затем каждый будет передавать запрос туда, куда ему нужно, например PHP. Однако это, вероятно, очень похоже на то, что у вас есть сейчас, поэтому я не совсем уверен, что это то, что вы ищете.

Возможно, если вы опишете свою установку и цели немного подробнее, мы сможем помочь больше.

Обновление Медленный PHP вряд ли будет работать с веб-сервером. Вам нужно будет посмотреть на используемые ресурсы, покопаться в коде, проверить журналы и посмотреть, что происходит. Вы можете использовать Nginx Page Caching или Microcaching для быстрого изменения веб-сайтов и значительного увеличения скорости для анонимных пользователей. Кэширование снижает нагрузку на сервер, а также сокращает время генерации страниц для вошедших в систему пользователей.

PHP не самый быстрый язык, хотя при правильном выделении ресурсов все в порядке. HHVM - еще один интерпретатор PHP, который быстрее, чем PHP5, но я обнаружил, что он плохо работает для Wordpress с плагинами, которые я использую. PHP7 работает быстрее, но опять же у меня были проблемы с некоторыми плагинами.

Вы сказали, что для рендеринга страницы требуется 7 секунд. Вы проводили тест, используя что-то вроде webpagetest.org , чтобы определить, какая часть страницы загружается медленно? Он может помочь вам определить, идет ли речь о генерации страниц, зависимых ресурсах и т. Д.

Вам также следует рассмотреть возможность использования CDN, например CloudFlare , который имеет эффективный уровень бесплатного пользования.

9
ответ дан 3 December 2019 в 08:34

Предполагая, что вам действительно нужно запустить два разных веб-сервера одновременно на порту 80 и у вас есть два доступных общедоступных IP-адреса, вы можете настроить каждый Apache и nginx для прослушивания с разных IP-адресов.

В конфигурации Apache:

Listen 1.2.3.4:80

В конфигурации nginx:

listen 5.6.7.8:80
0
ответ дан 3 December 2019 в 08:34

Подобные проблемы с производительностью почти никогда не возникают из-за apache. Я бы запустил профилировщик PHP и посмотрел, что работает медленно. Проверьте использование процессора и дискового ввода-вывода. Не тратьте драгоценное время на замену веб-сервера, если он не является узким местом. Взгляните на метод USE (использование, насыщенность, ошибки): http://www.brendangregg.com/USEmethod/use-linux.html

4
ответ дан 3 December 2019 в 08:34

Теги

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