Как настроить Nginx в качестве веб-сервера и обратного прокси-сервера для Apache в CentOS 8
На этой странице
- Предпосылки
- Установите Apache и PHP
- Настройка веб-сервера Apache
- Установите веб-сервер Nginx
- Настройка Nginx в качестве обратного прокси-сервера для Apache
- Заключение
Как вы знаете, Apache и Nginx являются бесплатными и мощными веб-серверами с открытым исходным кодом по всему миру. Apache известен своей мощью, а Nginx известен своей скоростью. Оба имеют некоторые недостатки и преимущества. Nginx использует PHP-FPM для загрузки файлов PHP, в то время как Apache загружает PHP самостоятельно. Apache используется для динамической части веб-сайта, в то время как Nginx обслуживает статические файлы, такие как графика, файлы CSS и js.
Рекомендуется использовать их оба на одном сервере и получать преимущества от обоих. В этом руководстве мы покажем вам, как использовать Nginx в качестве веб-сервера и обратного прокси-сервера для веб-сервера Apache в CentOS 8.
Предпосылки
- Сервер под управлением CentOS 8.
- Доменное имя, указанное с IP-адресом вашего сервера.
- Пароль root настраивается на сервере.
Установите Апач и PHP
Во-первых, вам нужно будет установить веб-сервер Apache и PHP на свой сервер. Вы можете установить его с помощью следующей команды:
dnf install httpd php php-cli -y
После завершения установки запустите службу Apache и включите ее запуск при перезагрузке системы с помощью следующей команды:
systemctl start httpd
systemctl enable httpd
Настройка веб-сервера Apache
По умолчанию веб-сервер Apache прослушивает порт 80. Итак, вам нужно настроить веб-сервер Apache для прослушивания порта 8080. Вы можете сделать это, отредактировав основной файл конфигурации Apache:
nano /etc/httpd/conf/httpd.conf
Измените сообщение с 80 на 8080, как показано ниже:
Listen 8080
Сохраните и закройте файл, затем перезапустите службу Apache, чтобы изменения вступили в силу:
systemctl restart httpd
Затем проверьте порт прослушивания Apache с помощью следующей команды:
ss -antpl | grep httpd
Вы должны получить следующий результат:
LISTEN 0 128 *:8080 *:* users:(("httpd",pid=1693,fd=4),("httpd",pid=1692,fd=4),("httpd",pid=1691,fd=4),("httpd",pid=1688,fd=4))
Затем создайте файл info.php в корневом веб-каталоге Apache:
nano /var/www/html/info.php
Добавьте следующую строку:
<?php phpinfo(); ?>
Сохраните и закройте файл, когда закончите.
Затем откройте веб-браузер и перейдите по URL-адресу http://ваш-сервер-ip:8080/info.php. Вы должны увидеть следующую страницу:
Установите веб-сервер Nginx
Далее вам нужно будет установить пакет Nginx на свой сервер. Вы можете установить его с помощью следующей команды:
dnf install nginx -y
После установки Nginx запустите службу Nginx и включите ее запуск при перезагрузке системы с помощью следующей команды:
systemctl start nginx
systemctl enable nginx
Настройте Nginx в качестве обратного прокси для Apache
Теперь вам нужно настроить Nginx в качестве обратного прокси-сервера для пересылки всех запросов, поступающих на порт 80, на веб-сервер Apache, который прослушивает порт 8080.
Сначала создайте новый файл конфигурации виртуального хоста Nginx с помощью следующей команды:
nano /etc/nginx/conf.d/proxy.conf
Добавьте следующие строки:
server { listen 80; server_name test.example.com; location ~ \.php$ { proxy_pass http://your-server-ip:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }
Сохраните и закройте файл, когда закончите. Затем перезапустите веб-сервер Nginx, чтобы применить изменения:
systemctl restart nginx
Теперь откройте веб-браузер и перейдите по URL-адресу http://test.example.com/info.php. Вы должны увидеть следующую страницу:
Как видите, PHP обслуживается веб-сервером Nginx.
Заключение
В приведенном выше руководстве вы узнали, как настроить Nginx в качестве веб-сервера и обратного прокси-сервера для Apache. Я надеюсь, что это поможет вам повысить производительность вашего сайта.