Apache и Nginx как на порту 80
Я пытаюсь установить Nginx на мой текущий сервер Cent OS Cloud, в котором установлен и запущен Apache httpd.
Моя хостинговая компания сообщает мне, что Nginx и Apache могут одновременно работать на порту 80, поэтому мой план состоял в том, чтобы преобразовать .htaccess и Apache conf из сайтов Wordpress в Nginx после установки через Yum.
Я также изучил эту проблему, и некоторые люди предлагают использовать Nginx в качестве обратного прокси и обслуживать только статические файлы, но запускать Apache с PHP, потому что Apache имеет встроенный PHP и потребляет меньше памяти, даже если он не поддерживает несколько одновременных запросов, таких как Nginx.
Чувство моего чувства заключается в том, что переключение всего на Nginx было бы полезным, но неуверенным на этом этапе.
Кроме того, есть ли что-нибудь, что я должен соблюдать при выполнении этого перехода?
Что бы вы сделали, если бы вы были в этой ситуации?
Ответы
Ответ 1
Я не совсем уверен, что ваша хостинговая компания означает по их комментарию, но вы не сможете запускать BOTH Apache и Nginx на порту 80. Как только один привязан к порту 80, другой не сможет привязываться к нему.
Вероятно, наилучшей конфигурацией в вашей текущей ситуации было бы поставить Nginx на порт 80 и Apache на 8000 или аналогичный.
Используйте nginx для обслуживания статических файлов (см. try_files, потому что "if" is evil), а затем проксирует все запросы для PHP на порт 8000, используя HTTP-прокси-модуль.
Другой общей конфигурацией для PHP с Nginx является использование PHP-FPM и прокси через FastCGI, просто учебник "PHP-FPM Nginx {Your OS}" для учебника.
Там много дискуссий о производительности PHP-FPM/mod_php, но в моем личном опыте я нашел PHP-FPM более совершенным.
Ответ 2
Я бы использовал nginx в качестве сервера, обращенного к сети на порту 80, и прокси-сервер передал apache, который будет работать на другом порту. Эта конфигурация использует многие сайты. Обслуживание статических файлов с nginx намного эффективнее, чем с apache. На самом деле это намного проще, чем может показаться.
Этот документ подробно объясняется.
Ответ 3
Вы должны привязать свой внешний веб-сервер к общедоступному IP-адресу и внутреннему адресу веб-сервера к localhost (127.0.0.1:80).
Итак, если вы публично используете Nginx, привяжите его к общедоступному IP-адресу и попросите его прокси-сервер Apache на localhost.
Лучше использовать отдельные порты, чтобы упростить отладку.