Купить Корзина
Логотип REG.RU
Регистрация      Вход
  • Все услуги
    •  
    • Домены
      • Регистрация Зарегистрировать домен Перенос доменов в REG.RU Освобождающиеся домены Регистрация доменов списком Премиум-домены Освобождённые домены Новые доменные зоны REG.RU Энциклопедия доменных зон Географические домены Подбор по ключевому слову
      • Купить-продать Магазин доменов Доменный брокер Гарант сделки Доменный брокер для владельца Экспертная оценка домена
        Специальное Условия и цены для Партнёров Юридическое сопровождение Нотариальное заверение
        сайтаnew
        Защита домена
      • Операции Продление регистрации Смена администратора Изменение данных Перенос доменов между аккаунтами Смена регистратора Договоры и письма Онлайн-операции с доменами
      • Мои домены
    • Конструктор и CMS
      • Конструкторы сайтов Конструктор сайтов REG.RU REG.Site
        Лицензии Купить Лицензию 1С-Битрикс Продлить Лицензию 1С-Битрикс
      • Сайты на CMS 1С-Битрикс Wordpress
      • Услуги Переадресация домена Парковочная страница
      • Мои услуги
    • Хостинг
      • Популярное Хостинг сайтов Конструктор сайтов REG.RU Бесплатная почта VIP-тарифы хостинга
      • Спецрешения Хостинг с cPanel Хостинг с Plesk Хостинг для 1C-Битрикс Хостинг для ASP.NET Хостинг для WordPress Хостинг для OpenCart Сервер для бизнесаnew
      • Операции Продление Изменение владельца Договоры и письма Бесплатный перенос
      • Мои услуги
    • VPS
      • Обзор VPS
        Облачные VPS Облачные серверы Высокочастотные VPSnew Приложения ISPmanager BitrixVM LEMP Docker Снэпшоты
      • Классические VPS VPS на Linux VPS на Windows
        Спецрешения Сервер для бизнеса Jelastic PaaS Виртуальный дата-центр VMware Серверы для 1С
      • Операции Продление Изменение владельца Перенос услуг внутри REG.RU Договоры и письма
      • Мои услуги
    • Серверы и ДЦ
      • Аренда сервера Dedicated-серверы (Выделенные) Конфигуратор серверов Серверы под заказ Дешёвые серверы
        Услуги Администрирование сервера Мониторинг серверов Бэкап сервера Все услуги
      • Размещение в дата-центре Colocation (Размещение сервера) Аренда стоек
        Решения Выделенные серверы для 1С Выделенные серверы с GPU Виртуальный дата-центр VMware
        Операции Продление
      • Дата-центры Варшавка Курчатовский
        Документы SLA Договор Лицензия от 24.05.2012 Лицензия от 24.05.2017
      • Мои услуги
    • SSL
      • Популярное Подобрать SSL-сертификат Сравнение SSL-сертификатов О сертификатах SSL-сертификаты GlobalSign SSL-сертификаты Thawte SSL-сертификаты Comodo SSL-сертификаты TrustWave SSL-сертификаты Symantec SSL-сертификаты GeoTrust SSL-сертификаты Wildcard Бесплатный SSL-сертификат
      • Мои услуги
    • Сервисы
      • Продвижение Автоматическое SEO-продвижение
        Почта для домена Бесплатная почта
        Полезные инструменты Определить свой IP-адрес Определить местоположение по IP Проверка DNS-записей домена Проверка порта на доступность Punycode конвертер Сервис настройки NGINX Проверка IP-адреса сайта
      • Мониторинг История хостинга домена История изменения Whois Whois Мониторинг доменов Экстренное оповещение SMS-сервисы, уведомления
      • Безопасность Защита персональных данных Host protection Защита от спама и вирусов Подобрать SSL-сертификат Установка SSL-сертификата Защита домена
      • Мои услуги
    • Партнёрам
      • Программы для партнёров
        Партнерская программа Описание и преимущества Для профессионалов Партнёрские тарифы Как стать партнёром REG.API v2
      • Бонусная программа Описание и преимущества Правила
      • Разное Договоры и письма Безбумажное управление услугами Бизнес-секреты Промо материалы
    • Помощь
    • Личный кабинет
  • Домены
  • Конструктор и CMS
  • Хостинг
  • VPS
  • Серверы и ДЦ
  • SSL
  • Сервисы
  • Помощь
  • Помощь
  • Серверы VPS
  • Облачные серверы
  • Установка программного обеспечения
  • Как настроить Nginx в качестве обратного прокси для Apache

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

Веб-серверы Apache, Nginx можно использовать как по отдельности, так и в связке. Nginx обрабатывает данные быстро, но требует установки модуля PHP-FPM. Популярные CMS по традиции заточены под работу с Apache (из-за наличия .htaccess), но для его работы требуется больше ресурсов.

В статье покажем, как объединить их и использовать скорость Nginx для обработки фронтенда, а гибкость Apache — для бэкенда.

Перед настройкой убедитесь, что вы используете сервер, на котором установлена только ОС Ubuntu 16.04.

Подключитесь к серверу по SSH.


Сервис настройки NGINX

Не тратьте время на ручную подготовку конфигурационных файлов для NGINX. Выберите нужные параметры и скачайте уже сформированный конфигурационный файл.

Попробовать

1 этап. Установка и настройка Nginx

Рассмотрим, как установить и настроить Nginx для обработки фронтенда.

  1. 1.

    Введите команду:

    apt-get install nginx

    После загрузки пакета приступайте к настройке виртуального хоста.

  2. 2.

    Откройте файл конфигурации в редакторе с помощью команды:

    vim /etc/nginx/sites-available/example_nginx.conf
  3. 3.

    Скопируйте правила ниже и вставьте их в редакторе:

    server {
    
         listen   80;
    
         root /var/www/;
    
         index index.php;
     
         server_name example.com;
     
         location / {
                 try_files $uri $uri/ /index.php$args;
         }
     
         location ~ \.php$ {
                 proxy_set_header X-Real-IP  $remote_addr;
                 proxy_set_header X-Forwarded-For $remote_addr;
                 proxy_set_header Host $host;
                 proxy_pass http://127.0.0.1:8080;
         }
     
         location ~ /\. {
                 deny all;
         }
    }

    Таким образом:

    • в качестве root установлен правильный веб-каталог;
    • index.php был добавлен в качестве index;
    • try_files пытается обслуживать любую страницу, которую запрашивает посетитель. Если Nginx не может, файл передается на прокси;
    • proxy_pass перед Nginx адрес для proxy;
    • последний блок location запрещает доступ к файлам к скрытым файлам.

    Эти правила нужны для настройки системы и перенаправления всех файлов с расширением .php на сервер Apache, если он будет использовать порт 8080.

  4. 4.
    Сохраните изменения и выйдите из редактора.
  5. 5.

    Включите созданный виртуальный хост командами:

    cd /etc/nginx/sites-enabled/
    
    ln -s ../sites-available/example_nginx.conf example_nginx.conf
    service nginx reload

Готово, мы установили Nginx и настроили проксирование, перейдем к настройке Апач.

Облачные серверы нового поколения

Виртуализация KVM, почасовая оплата, резервные копии, готовые шаблоны, 8 доступных ОС на выбор!

Выбрать облачный сервер

2 этап. Установка Apache и PHP

  1. 1.

    Введите команду:

    apt-get install apache2 libapache2-mod-php7.0
  2. 2.

    Откройте нужный файл в редакторе с помощью команды:

    vim /etc/apache2/ports.conf
  3. 3.

    Измените порт, к которому будут адресованы запросы Apache на:

    Listen 127.0.0.1:8080
  4. 4.
    Сохраните изменения и выйдите из редактора.
  5. 5.

    Откройте файл в редакторе с помощью команды:

    vim /etc/apache2/sites-available/example-apache.conf
  6. 6.

    Добавьте в него содержимое:

    <VirtualHost 127.0.0.1:8080>
    
         DocumentRoot /var/www/
         ServerName example.com
         ErrorLog /var/log/apache2/example_error.log
         CustomLog /var/log/apache2/example_access.log common
         <Directory /var/www/>
                 Options FollowSymLinks
                 AllowOverride All
                 #Следующие 2 строки не будут работать в apache >= 2.4, необходимо использовать директиву Require all granted
                 #Order allow,deny
                 #Allow from all
                 Require all granted
         </Directory>
    </VirtualHost>
  7. 7.
    Сохраните изменения и выйдите из редактора.
  8. 8.

    Включите созданный виртуальный хост и запустите Apache с помощью команды:

    a2ensite example-apache.conf && service apache2 start

Почти готово! Осталось создать тестовую страницу командой:

mkdir -p /var/www/ && echo '<?php phpinfo();' > /var/www/index.php

Теперь при обращении к сайту статические элементы (css, js-файлы и изображения) будет обрабатывать Nginx, а динамический контент (php-скрипты) — Apache. Чтобы использовать их совместно, мы задали в настройках Nginx директиву «proxy_pass».

Если после этого вы откроете в адресной строке браузера URL http://example.com/, будет отображаться вывод функции phpinfo() (см.9 шаг).

Помогла ли вам статья?
ДаНет
1 раз уже
помогла

Спасибо за оценку!
Как мы можем улучшить статью?

Нужна помощь?
Напишите в службу поддержки!

REG.RU
  • О компании
  • Контакты и офисы
  • Новости
  • Карьера в REG.RU
  • Руководство
  • Отзывы клиентов
Услуги
  • Стоимость услуг
  • Хостинг
  • Зарегистрировать домен
  • Конструктор и CMS
  • REG.Site
  • VPS
  • Серверы и ДЦ
  • SSL-сертификат
Партнёрам
  • Партнёрские программы
  • Профессионалам IT
  • Бонусная программа
  • REG.API
  • Промоматериалы
Полезное
  • Акции и скидки
  • Мероприятия
  • Юридическим лицам
  • ЭДО
  • Whois
Помощь
  • База знаний
  • Вопросы и ответы
  • Шаблоны заявлений
  • Оставить отзыв, предложение
  • Сообщить о нарушении

+7 (495) 580-11-11

Телефон в Москве

8 800 555-34-78

Бесплатный звонок по России

           

Нашли опечатку?
Выделите и нажмите Ctrl+Enter

  • mastercard
  • visa
  • mir
  • sberbank
  • qiwi
  • yamoney
  • sbp
Все способы оплаты
© ООО «Регистратор доменных имен РЕГ.РУ» Правила пользования сайтомПолитика обработки персональных данных
Award
shop.reg.ru Магазин доменов
statonline.ru Доменная статистика
reg.ru/blog Мы пишем
  • Мы используем файлы cookie. Продолжив работу с сайтом, вы соглашаетесь с Политикой обработки персональных данных и Правилами пользования сайтом.