Введение
Если вы намерены установить Nginx в качестве обратного прокси-сервера Apache2 на удаленном сервере, продолжайте чтение, в противном случае, если вы хотите установить Nginx на свой локальный компьютер, пропустите первый абзац «Подключение к серверу» и прочитайте следующий.
Подключение к серверу
Чтобы получить доступ к серверу, вам нужно знать IP-адрес. Вам также потребуется пароль для аутентификации.
Чтобы подключиться к серверу как root, введите эту команду:
ssh root@IP_DEL_SERVER
Далее вам будет предложено ввести пароль пользователя root.
Если вы не используете пользователя root, вы можете войти под другим именем пользователя с помощью той же команды, а затем изменить первый параметр:
ssh VOSTRO_UTENTE@IP_DEL_SERVER
Затем вам будет предложено ввести пароль пользователя.
Теперь вы подключены к своему серверу, вы готовы начать установку Nginx в качестве обратного прокси.
Предпосылки
УстановкаApache на Debian 10.
Конфигурация Apache2
Первое, что нужно сделать, это изменить порт по умолчанию, используемый Apache2, поэтому мы будем использовать порт 8000 вместо 80. В терминале введите следующую команду:
sudo nano /etc/apache2/ports.conf
Ищем строку:
Listen 80
Давайте поменяем дверь:
Listen 8000
Сохраните и закройте файл.
Теперь давайте изменим порт в VirtualHost. Всегда из терминала:
sudo nano /etc/apache2/sites-available/000-default.conf
Мы ищем:
<VirtualHost 127.0.0.1:80>
Давайте поменяем дверь:
<VirtualHost 127.0.0.1:8000>
Сохраните и закройте файл.
Мы можем установить модуль Apache2 libapache2-mod-rpaf, задачей которого является изменение адреса удаленного клиента, видимого для других модулей Apache.
sudo apt-get -y install libapache2-mod-rpaf
Перезапускаем Apache2:
sudo service apache2 restart
Установка и настройка Nginx.
Подробнее читайте в руководстве по Nginx.
Из терминала:
sudo apt-get -y install nginx
Активируем автоматический запуск Nginx:
sudo systemctl enable nginx.service
Перезапустим Nginx:
sudo service nginx restart
Мы найдем конфигурации прокси по умолчанию в следующем файле:
sudo nano /etc/nginx/proxy_params
Добавим следующие стандартные конфигурации прокси:
proxy_set_header Host $http_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;
client_max_body_size 100M;
client_body_buffer_size 1m;
proxy_intercept_errors on;
proxy_buffering on;
proxy_buffer_size 128k;
proxy_buffers 256 16k;
proxy_busy_buffers_size 256k;
proxy_temp_file_write_size 256k;
proxy_max_temp_file_size 0;
proxy_read_timeout 300;
Сохраните и закройте файл.
Откроем файл конфигурации Nginx:
sudo nano /etc/nginx/sites-available/default
Это базовая конфигурация, которая позволяет нам использовать Nginx в качестве обратного прокси-сервера Apache2:
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.php index.html index.htm index.nginx-debian.html;
server_name _;
location /{
proxy_pass http://localhost:8000;
include /etc/nginx/proxy_params;
}
}
Перезапустим Nginx
sudo service nginx reload
Nginx быстрее, чем Apache, обслуживает статические файлы, такие как Js и CSS, поэтому мы настраиваем Nginx для прямого обслуживания статических файлов и отправки PHP-запросов в Apache:
server {
listen 80;
server_name default_server;
root /var/www/html;
index index.php index.htm index.html;
location /{
try_files $uri $uri//index.php;
}
location ~ \.php$ {
proxy_pass http://localhost:8000;
include /etc/nginx/proxy_params;
}
location ~* \.(js|css|jpg|jpeg|gif|png|svg|ico|pdf|html|htm)$ {
expires 30d;
}
}
Сохраните и закройте файл. Давайте проверим правильную конфигурацию Nginx:
sudo nginx -t
Итак, если ошибок нет, перезапустите Nginx:
sudo service nginx reload
Установка Nginx в качестве обратного прокси-сервера Apache2 на Debian 10 завершена.