Назад | Перейти на главную страницу

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

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

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

Является ли это возможным?

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

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

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

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

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

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

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

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

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

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

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

Listen 1.2.3.4:80

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

listen 5.6.7.8:80