Установка и настройка Nginx как front-end Apache на CentOS

  1. TopicStarter Overlay
    Yuriy
    Offline

    Yuriy Администрация

    Сообщения:
    120
    Симпатии:
    27
    Пол:
    Мужской
    Если посещаемость ресурса возрастает встает вопрос в увеличение ресурсов сервера в связи возросшей нагрузкой на оборудование. Чтобы не тратиться на дополнительные ресурсы аппаратной части достаточно установить легкий вебсервер nginx во front-end к apache. При данной схеме не будет создаваться множество процессов httpd ждущих получения ответов от пользователя, потребляя при этом значительную часть ОЗУ сервера. Весь процесс получения и отдачи запросов клиентов будет контролировать nginx, при этом сам nginx будет отдавать и получать запросы от apache, тем самым исключая создания лишних и долго "висящих" процессов httpd потребляющих оперативную память машины.

    Процесс установки и настройки Nginx для front-end к Apache:

    Устанавливаем Nginx:

    # yum install nginx

    Содержимое nginx.conf:

    Код:
    Для просмотра кода необходимо зарегистрироваться или войти на сайт.
    В httpd.conf находим:

    Код:
    Для просмотра кода необходимо зарегистрироваться или войти на сайт.
    И меняем на:

    Код:
    Для просмотра кода необходимо зарегистрироваться или войти на сайт.
    Перезапускаем Apache:

    # service httpd restart

    Перезапускаем Nginx:

    # service nginx restart

    Теперь имеем на сервере легкий Nginx в front-end к Apache, что заметно снизит нагрузку на ресурсы сервера при большом посещаемости сайта.


    PS: Может возникнуть ситуация, что IP адрес в логах и определяемы PHP скриптами будет виден тот, который используется на сервере с установленным Nginx. Чтобы это исключить, и были видны реальные IP клиентов, нужно установить mod_rpaf для Apache.

    Для начала нужно проверить, какой IP определяется у Вас на сервере, для этого создайте файл ip.php с содержанием:

    PHP, JS:
    Для просмотра кода необходимо зарегистрироваться или войти на сайт.
    И разместите его в директории сайта, при переходе на данный файл в браузере будет выведен IP адрес, если он соответствует серверному, то делаем следующие:
    Устанавливаем mod_rpaf:

    # yum install mod_rpaf

    После установки открываем ~/confd/rpaf.conf и прописываем:

    Код:
    Для просмотра кода необходимо зарегистрироваться или войти на сайт.
    Перезапускаем Apache:

    # service httpd restart

    И проверяем IP в браузере, теперь должен отображаться Ваш IP адрес предоставленный Интернет провайдером.
  2. Archey
    Offline

    Archey Новичок

    Сообщения:
    2
    Симпатии:
    0
    Пол:
    Мужской
    Спасибо, хорошая статья, очень помогла мне настроить нгиникс
  3. tsa
    Offline

    tsa Новичок

    Сообщения:
    4
    Симпатии:
    0
    Пол:
    Мужской
    Основной вопрос - а зачем вообще apache? Можно же установить php-fastcgi и обойтись только nginx.
  4. TopicStarter Overlay
    Yuriy
    Offline

    Yuriy Администрация

    Сообщения:
    120
    Симпатии:
    27
    Пол:
    Мужской
    Можно, но PHP работающий как модуль Apache (с Nginx во front-end) намного легче, чем PHP в режиме FastCGI. Это особенно ощутимо на серверах с установленными продуктами 1С-Битрикс.

Поделиться этой страницей