NGINX ДЛЯ APACHE В UBUNTU 20.04
Прежде всего давайте поменяем порт Апаче так как Nginx будет у нас на порт:80 который сейчас занимает Апаче.Все рабочие конфиги которые мы будем изменять, продублируем просто добавляя в конце 1, а редактируем оригинал.
Вначале копируем рабочие конфиги апаче, а потом сайтов.
cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf1
и порт
cp /etc/apache2/ports.conf /etc/apache2/ports.conf1
Далее конфиги сайтов им давайте сразу поменяем конфиг сайта на дефолте, задав ему имя порт и работать будем уже с ним, а дефолтный отключим.
cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/port.conf
Включаем port.conf, а 000-default.conf отключаем
a2ensite port
a2dissite 000-default
И продублируем второй сайт shop
cp /etc/apache2/sites-available/shop.conf /etc/apache2/sites-available/shop.conf1
Заходим в конфиги Апаче порт и меняем порт на 8082. Listen 8082
nano /etc/apache2/ports.conf
Сохраняем Ctrl + S + Z
Так же меняем и в конфигах сайта shop.conf и port.conf 80 на <VirtualHost *:8082>
nano /etc/apache2/sites-available/port.conf nano /etc/apache2/sites-available/shop.conf
И перезагружаем Апаче
systemctl reload apache2
Устанавливаем Nginx
apt install nginx
Чтобы нам не создавать симлинки при создании сайтов, будем конфиги сайтов создавать в папке conf.d Для этого раскомментируем строку
include /etc/nginx/conf.d/*.conf;
В убунту 20 она должна быть раскомментирована по умолчанию. Проверим
nano /etc/nginx/nginx.conf
Создадим конфиги наших сайтов в папке conf.d скопировав туда default и поменяв название и добавив приставку конф, иак как в папке конф.д работают так.
cp /etc/nginx/sites-available/default /etc/nginx/conf.d/port.conf
Если же вы хотите использовать по умолчанию то создав или скопировав как в примере выше файл с конфигом сайта создайте на него сим линк без формата .conf
ln -s /etc/nginx/sites-available/port /etc/nginx/sites-enabled/port
Установка MOD-RPAF
Далее для того чтобы Nginx работал с Apache установим мод mod-rpaf
apt-get install libapache2-mod-rpaf
Запустим его
a2enmod rpaf
Далее зайдем и раскомментируем строку RPAFheader X-Real-IP
nano /etc/apache2/mods-enabled/rpaf.conf
А в файл proxy_params
nano /etc/nginx/proxy_params
удалив все добавим заметьте наш порт 8082 если у вас другой то меняйте на свой.
location / { proxy_pass http://127.0.0.1:8082;
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_read_timeout 300s;
proxy_connect_timeout 120;
proxy_send_timeout 120; }
И подключать его будем ко всем конфигам сайтов которые у нас будут работать через Nginx
В конфиг файл сайта подключим инклюд к прокси
include proxy_params;
который мы заполнили выше и статические файлы которые Nginx будет обрабатывать сам. Открываем
nano /etc/nginx/conf.d/port.conf
Так же можно все закомментировать и сверху вставить как в примере, заменив только на свой путь к директориям
/var/www/html/port
и домены на свои
port.fvds.ru
server {
listen 80; listen [::]:80;
server_name port.fvds.ru www.port.fvds.ru;
include proxy_params;
root /var/www/html/port; index index.php index.html;
# serve static files directly
location ~* ^.+\.(jpg|jpeg|gif|png|ico|svg|bmp|js|css|mp3|m4a|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ { root /var/www/html/port; index index.php; access_log off; }
location ~ /\.ht { deny all; } }
Так же для отображения реально IP должен быть включен remoteip,
a2enmod remoteip
Дополнительные настройки можете найти здесь
Все теперь у нас работает Nginx с Apache
Дальше безопасность сайта: добавляем SSL прячем PHPMYADMIN