Настройка Centos 7 после установки
Статья о том как подготовить только что установленный на сервер дистрибутив Centos 7 к дальнейшей работе с ним.
Сразу же выключаем Network Manager. Это программа, облегчающая определение и конфигурацию средств для автоматического подключения к сети. Полезна она только для домашнего ПК или ноутбука, на сервере же может создавать проблемы с настройкой сети, т.к. может самостоятельно менять настройки.
systemctl stop NetworkManager # останавливаем службуsystemctl disable NetworkManager # удаляем из автостартаsystemctl restart network # перезапускаем сетевую подсистему для применения изменений |
Вариант в одну строку:
systemctl stop NetworkManager && systemctl disable NetworkManager && systemctl restart network |
Настройка сети
Настройки сетевых интерфейсов указываются в файле /etc/sysconfig/network-scripts/ifcfg-eth0. Однако в Centos 7 файл конфигурации сетевого интерфейса может иметь имя наподобие ifcfg-enp0s1. Как изменить имя сетевого интерфейса можно прочитать здесь.
Если Вы не используете протокол IPv6, то можно закоментировать все строки с ним.
https://youtube.com/watch?v=oHD_oohvLgk
Прописываем имя этого сервера в /etc/hostname и /etc/hostname:
vi /etc/sysconfig/network |
Не забываем прописывать DNS в /etc/resolv.conf
Перезапускаем сетевую подсистему:
systemctl restart network |
Теперь можно подключиться к серверу по SSH.
Если используется proxy-сервер добавляем его адрес в файл /etc/yum.conf:
proxy=http://10.131.1.1:3128proxy=https://10.131.1.1:3128 |
Устанавливаем программу для загрузки файлов по сети wget:
yum update # получаем свежий список доступных пакетов в репозитории |
Добавляем в файл /etc/wgetrc адрес proxy-сервера:
http_proxy=http://10.131.1.1:3128https_proxy=https://10.131.1.1:3128 |
Так же в Centos 7 по умолчанию включена система принудительного контроля доступа SELinux (англ. Security-Enhanced Linux — Linux с улучшенной безопасностью). Она расширяет стандартные стандартные права доступа. Использовать её или нет зависит от требований к серверу и его назначению. Настройка данной системы представляет собой материал отдельной статьи.
Если же Вам данная система не нужна, отключаем SELinux:
vi /etc/sysconfig/selinux |
Подключение EPEL репозитория
EPEL (Extra Packages for Enterprise Linux) — это основанный сообществом открытый и бесплатный проект репозитория, предоставляемый командой Fedora, который содержит высококачественные пакеты дополнительного программного обеспечения для Linux дистрибутивов, включая RHEL (Red Hat Enterprise Linux), CentOS, и Scientific Linux.
yum -y install epel-release |
или
rpm -ivh http://fedora.ip-connect.vn.ua/fedora-epel/7/$(arch)/e/epel-release-7-5.noarch.rpm |
Отключаем FireWall
Настройка Firewall это также тема отдельной статьи. Но на некоторых серверах в нем нет надобности и его можно отключить:
systemctl stop firewalld && systemctl disable firewalld |
Установка и настройка NTPD
Для того, чтобы на сервере всегда было точное время необходимо установитьи настроить ntpd.
ntpd (Network Time Protocol daemon) — программа-демон, который устанавливает и обслуживает системное время, используется для синхронизации с другими серверами времени.
Устанавливаем таймзону
timedatectl set-timezone Europe/Kiev |
Далее нужно указать сервера времени с которыми будет синхронизировать время наш сервер. Адреса этих серверов можно найти в интернете, лучше выбирать ближайшие сервера, то есть искать сервера расположенные в вашей стране. Указываем сервера синхронизации в vi /etc/ntp.conf (лучше не меньше трех):
закоментируем:
server 0.centos.pool.ntp.org iburstserver 1.centos.pool.ntp.org iburstserver 2.centos.pool.ntp.org iburstserver 3.centos.pool.ntp.org iburst |
и добавим:
По умолчанию сервер NTP будет доступен всем хостам в Интернет. Если вы хотите запретить всем машинам обращаться к вашему серверу NTP, добавьте следующую строку:
Сервера с которыми сверяемся, должны иметь возможность менять наше время:
настройка параметров сети с помощью файлов конфигураций
Если Вы хотите настроить сеть таким образом, чтобы указанные параметры сети сохранялись и после перезагрузки системы, Вам необходимо изменить конфигурационные файлы.
расположение конфигурационных файлов
Настройка параметров сети (IP адрес, маска сети, шлюз, параметры DNS) производится в файлах ifcfg-ethX, которые находятся в папке /etc/sysconfig/network-scripts.
Параметры DNS описываются также в файле /etc/resolv.conf.
Маршруты (из таблицы маршрутизации) хранятся в файлах /etc/sysconfig/network-scripts/route-ethX.
ifcfg-ethX
Файлы находятся в папке /etc/sysconfig/network-scripts.
Параметры
Название параметра | Описание параметра | Возможные значения | Пример использования |
---|---|---|---|
DEVICE | наименование интерфейса | eth0 eth1 … |
device=eth0 device=eth1 |
BOOTPROTO | способ назначения IP | dhcp none static (пустое значение) |
bootproto=dhcp bootproto= bootproto=static bootproto=none |
HWADDR | MAC адрес | HWADDR=»00:00:00:00:00:00″ | |
NM_CONTROLLED | должен ли интерфейс управляться NetworkManager | «yes» «no» |
NM_CONTROLLED=»yes» |
ONBOOT | Должен ли этот интерфейс «подниматься» при запуске сетевой службы | «yes» «no» |
ONBOOT=»yes» |
TYPE | тип интерфейса | «Ethernet» | TYPE=»Ethernet» |
UUID | UUID=»ffffffff-ffff-ffff-ffff-ffffffffffff» | ||
IPADDR | IP адрес интерфейса | IPADDR=192.168.1.3 | |
NETMASK | маска подсети интерфейса | NETMASK=255.255.255.0 | |
GATEWAY | шлюз интерфейса | GATEWAY=192.168.1.1 | |
DNS1 | 1-й DNS сервер интерфейса | DNS1=192.168.1.1 | |
DNS2 | 2-й DNS сервер интерфейса | DNS2=192.168.1.2 | |
DOMAIN | текущий домен | DOMAIN=MYDOMAIN.LOCAL |
resolv.conf
Этот файл находится в папке /etc.
Название параметра | Описание параметра | Возможные значения | Пример использования |
---|---|---|---|
nameserver | адрес DNS сервера. Таких записей может быть несколько (не более 3-х) | nameserver 192.168.1.1 nameserver 192.168.1.2 |
|
domain | имя локального домена (?) | domain mydom.local | |
search | подставляемое имя домена, если адрес задан не полностью | search mydom.local |
route-ethX
Файлы находятся в папке /etc/sysconfig/network-scripts.
Формат файла:
например:
или
Шлюз по умолчанию задается в файлах ifcfg-ethX. Можно также указать шлюз по умолчанию, например, следующим образом:
В файле route-eth0 нужно указывать все маршруты с dev eth0, а в файле route-eth1 — соответственно, все маршруты с dev eth1.
примеры файлов
Пример файла /etc/sysconfig/network-scripts/ifcfg-eth0:
# название устройства:
DEVICE=»eth0″
# в случае, если IP получаем автоматически:
#BOOTPROTO=»dhcp»
# статический IP:
BOOTPROTO=»none»
# MAC адрес сетевой карты (в этом случае привязка к MAC адресу, а не к положению в слоте и т.п.):
HWADDR=»00:00:00:00:00:00″
NM_CONTROLLED=»yes»
# инициализировать при загрузке (иначен нужен ifup):
ONBOOT=»yes»
TYPE=»Ethernet»
UUID=»ffffffff-ffff-ffff-ffff-ffffffffffff»
IPADDR=192.168.1.3
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=192.168.1.1
Пример файла /etc/sysconfig/network-scripts/route-eth0:
192.168.5.50/24 via 192.168.0.2 dev eth0
Пример файла /etc/resolv.conf:
nameserver=192.168.1.5
nameserver=192.168.1.7
domain=mydomain.ru
Сетевые настройки на сервере Debian
Вопрос настройки сети я уже кратко поднимал в теме начальной настройки Debian. Я рекомендую с ней ознакомиться и выполнить некоторые подготовительные действия, чтобы было удобнее работать далее. Сейчас мы подробно разберем все наиболее значимые нюансы сетевых настроек, которые могут пригодиться в повседневной работе.
Первоначальная настройка сети начинается во время установки сервера. Если у вас есть сетевой интерфейс и dhcp сервер в сети, то сеть сконфигурируется автоматически на основе полученных настроек и будет готова к работе. В последствии вы можете выполнить настройку сети в Debian через консоль с помощью программ ip или ifconfig. Наиболее популярным и современным средством на текущий момент является ip, поэтому в дальнейшем рассмотрим вопрос конфигурации сетевых интерфейсов с ее помощью. Про ifconfig тоже не забудем. Рассмотрим ее позже отдельно.
Отдельно стоит такой инструмент управления сетевыми подключениями как Network manager. Он используется в сочетании с графическими оболочками, которых на сервере обычно нет, поэтому вопрос его настройки я не буду рассматривать. Мне просто не на чем это делать, да и не вижу смысла.
Есть 2 различные возможности изменить сеть в Debian:
- Настройка сети из консоли с помощью указанных ранее консольных программ.
- С помощью редактирования конфигурационного файла сетевых интерфейсов /etc/network/interfaces.
Мы рассмотрим оба этих варианта. Вводная теоретическая часть окончена, приступаем к практике.
Настройка firewall (iptables) в Debian
В качестве firewall в Debian по-умолчанию используется iptables, его и будем настраивать. Изначально фаервол полностью открыт и пропускает весь трафик. Проверить список правил iptables можно следующей командой:
# iptables -L -v -n Chain INPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination
Обращаю пристальное внимание на то, что настраивать firewall без прямого доступа к консоли сервера не следует. Особенно, если вы не очень разбираетесь в этом и копируете команды с сайта
Шанс ошибиться очень высок. Вы просто потеряете удаленный доступ к серверу.
Создадим файл с правилами iptables:
# mcedit /etc/iptables.sh
Очень подробно вопрос настройки iptables я рассмотрел отдельно, рекомендую ознакомиться. Хотя в примере другая ОС linux, принципиальной разницы нет, настройки iptables абсолютно одинаковые, так как правила одни и те же.
Добавляем набор простых правил для базовой настройки. Все необходимое вы потом сможете сами открыть или закрыть по аналогии с существующими правилами:
#!/bin/bash # # Объявление переменных export IPT="iptables" # Активный сетевой интерфейс export WAN=ens18 export WAN_IP=10.20.1.16 # Очистка всех цепочек iptables $IPT -F $IPT -F -t nat $IPT -F -t mangle $IPT -X $IPT -t nat -X $IPT -t mangle -X # Установим политики по умолчанию для трафика, не соответствующего ни одному из правил $IPT -P INPUT DROP $IPT -P OUTPUT DROP $IPT -P FORWARD DROP # разрешаем локальный траффик для loopback $IPT -A INPUT -i lo -j ACCEPT $IPT -A OUTPUT -o lo -j ACCEPT # разрешаем пинги $IPT -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT $IPT -A INPUT -p icmp --icmp-type destination-unreachable -j ACCEPT $IPT -A INPUT -p icmp --icmp-type time-exceeded -j ACCEPT $IPT -A INPUT -p icmp --icmp-type echo-request -j ACCEPT # Разрешаем исходящие соединения самого сервера $IPT -A OUTPUT -o $WAN -j ACCEPT # Состояние ESTABLISHED говорит о том, что это не первый пакет в соединении. # Пропускать все уже инициированные соединения, а также дочерние от них $IPT -A INPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT # Пропускать новые, а так же уже инициированные и их дочерние соединения $IPT -A OUTPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT # Разрешить форвардинг для уже инициированных и их дочерних соединений $IPT -A FORWARD -p all -m state --state ESTABLISHED,RELATED -j ACCEPT # Включаем фрагментацию пакетов. Необходимо из-за разных значений MTU $IPT -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu # Отбрасывать все пакеты, которые не могут быть идентифицированы # и поэтому не могут иметь определенного статуса. $IPT -A INPUT -m state --state INVALID -j DROP $IPT -A FORWARD -m state --state INVALID -j DROP # Приводит к связыванию системных ресурсов, так что реальный # обмен данными становится не возможным, обрубаем $IPT -A INPUT -p tcp ! --syn -m state --state NEW -j DROP $IPT -A OUTPUT -p tcp ! --syn -m state --state NEW -j DROP # Открываем порт для ssh (!!!не забудьте указать свой порт, который вы изменили ранее!!!) $IPT -A INPUT -i $WAN -p tcp --dport 22 -j ACCEPT # Открываем порт для web сервера $IPT -A INPUT -i $WAN -p tcp --dport 80 -j ACCEPT $IPT -A INPUT -i $WAN -p tcp --dport 443 -j ACCEPT # Записываем правила в файл /sbin/iptables-save > /etc/iptables_rules
Даем файлу права на запуск:
# chmod 0740 /etc/iptables.sh
Запускаем скрипт:
sh /etc/iptables.sh
Проверяем правила:
# iptables -L -v -n
Проверяем, что правила записались в файл /etc/iptables_rules. Если их там нет, то записываем их вручную.
# /sbin/iptables-save > /etc/iptables_rules
Правила применились и произошла их запись в файл /etc/iptables_rules. Теперь нужно сделать так, чтобы они применялись при загрузке сервера. Для этого делаем следующее. Открываем файл /etc/network/interfaces и добавляем в него строку pre-up iptables-restore < /etc/iptables_rules Должно получиться вот так:
# cat /etc/network/interfaces allow-hotplug eth0 iface eth0 inet dhcp pre-up iptables-restore < /etc/iptables_rules
Для проверки перезагрузите сервер и посмотрите правила iptables. Должен загрузиться настроенный набор правил из файла /etc/iptables_rules.
Настройка квот
Устанавливаем пакет для квотирования диска:
yum install quota
Открываем fstab и добавляем опции квотирования для нужного раздела:
vi /etc/fstab
/dev/sdb /var ext4 usrquota,grpquota 0 0
* в моем примере добавлены опции usrquota и grpquota для раздела /var.
Перемонтируем раздел, для которого должны работать квоты:
mount -o remount /var
Запускаем следующую команду для создания служебных файлов:
quotacheck -favugm
Включаем квоту для раздела:
quotaon -avug
Задаем квоту для пользователя виртуальной площадки:
edquota u10001
Disk quotas for user u10001 (uid 10001):
Filesystem blocks soft hard inodes soft hard
/dev/sdb 252432 2G 2G 10796 0 0
* в данном примере выставляем квоту в 2 Гб.
Проверить установленную квоту можно командой:
repquota /var
Настройка брандмауэра
Рассмотрим настройку фаервола при помощи двух различных популярных утилит — firewalld и iptables.
Firewalld
Настройка выполняется для двух сетевых интерфейсов — ens32 (внутренний) и ens34 (внешний):
firewall-cmd —direct —permanent —add-rule ipv4 nat POSTROUTING 0 -o ens34 -j MASQUERADE
firewall-cmd —direct —permanent —add-rule ipv4 filter FORWARD 0 -i ens32 -o ens34 -j ACCEPT
firewall-cmd —direct —permanent —add-rule ipv4 filter FORWARD 0 -i ens34 -o ens32 -m state —state RELATED,ESTABLISHED -j ACCEPT
systemctl restart firewalld
Iptables
Настройка выполняется из расчета, что Интернет настроен через интерфейс ens160, а внутренняя сетя через ens32:
iptables -t nat -A POSTROUTING -o ens160 -j MASQUERADE
Если на сервере для доступа в локальную и глобальную сети используются разные сетевые интерфейсы, нам может понадобиться создать еще два правила:
iptables -A FORWARD -i ens32 -o ens160 -m state —state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i ens32 -o ens160 -j ACCEPT
Сохраняем правила:
yum install iptables-services
service iptables save
Настройка сети при установке CentOS 8
В окне “Network & Host Name” вы увидите список ваших сетевых интерфейсов, они по умолчанию отключены. В моем примере их два. Каждый сетевой интерфейс имеет отличительное имя, в моем примере, это ens33 и ens36. Видно, что текущий статус “Disconnected”, чтобы это изменить переведите тумблер с состояния “Off” на “On“.
Если в вашей с локальной сети есть сервер DHCP, в моем примере на CISCO, то вы должны получить нужные настройки, как видно я поймал IP адрес 192.168.31.10/24 и DNS 192.168.31.1, 192.168.31.2. Чуть ниже в левом нижнем углу вы можете сразу задать имя вашего сервера CentOS 8. Если вас не устраивает, что CentOS 8 будет получать настройки сети по DHCP и вы хотите задать статический IP-адрес, то нажмите кнопку “Configure“.
В окне свойств сетевого интерфейса найдите вкладку IPV4 Settings, обратите внимание, что тут будет поле “Method“, в котором по умолчанию стоит “Automatic (DHCP)”, то есть динамическое получение сетевых настроек в CentOS 8. На выбор у вас будут вот такие пункты:
- Automatic (DHCP) – автоматическое получение всех настроек: IP, маску, DNS, Основной шлюз, маршруты
- Automatic (DHCP) addresses only – вы получите автоматически только IP-адрес
- Manual – ручная настройка сети CentOS 8
- Link-Local Only – Локальные ссылки назначаются автоматически, когда компьютер не настроен на использование статического IP-адреса и не может найти DHCP-сервер. По сути, то APIPA адрес из диапазона 169.254.0.0
- Shared to other computers – это совместное использование сетевого интерфейса. Простой пример у вас есть сервер с двумя сетевыми интерфейсами один LAN второй WAN, и есть другой сервер, где просто один сетевой интерфейс с LAN и без интернета. Вы можете выставить на первом сервере WAN в режим “Shared to other computers” и указать его в маршрутах для выхода в интернет.
- Disabled – отключение получения настроек
Давайте я настрою статический IP-адрес на моем сетевом интерфейсе ens33. Выставляю в методе получения “Manual“. В поле “Address” я нажимаю кнопку “Add“, для добавления новых настроек, задаю Ip-адрес, маску в “Netmask” и основной шлюз в “Gateway“. Чуть ниже я указываю свои DNS сервера, у меня это 192.168.31.1, 192.168.31.2, так же можете в поле “Search domains” указать ваше имя домена Active Directory, у меня это root.pyatilistnik.org.
Галка “Require IPv4 addressing for this connection to complete (Требовать адресацию IPv4 для этого соединения)” – Чтобы разрешить системе устанавливать это соединение в сети с поддержкой IPv6, если конфигурация IPv4 завершится неудачно, но конфигурация IPv6 будет успешной. Кнопка “Routes” позволяет вам настроить дополнительные маршруты в CentOS 8.
Нажмите кнопку “Add”, чтобы добавить IP-адрес, маску сети, адрес шлюза и метрику для нового статического маршрута. Можете выбрать “Use this connection only for resources on its network“, чтобы ограничить подключения только к локальной сети.
Утилиты администрирования сети в CentOS
Если сервер уже работает некоторое время или же настройкой занимались вообще не вы, первое действие которое нужно сделать, это узнать какие интерфейсы присутствуют на сервере. Для удобства установите необходимые инструменты из базового репозитория:
После установки, можно воспользоваться утилитой ifconfig:
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 185.*.*.* netmask 255.255.255.0 broadcast 185.*.*.255inet6 fe80::5054:ff:fed3:1c3e prefixlen 64 scopeid 0x20<link>ether 52:54:00:d3:1c:3e txqueuelen 1000 (Ethernet)RX packets 2189424 bytes 144208326 (137.5 MiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 2350 bytes 260486 (254.3 KiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Как видим, имя нашего сетевого интерфейса eth0.
Без установки пакета net-tools, вы можете проверить ваши интерфейсы с помощью следующей команды:
Результат будет практически тот же:
Как работает сеть?
Перед тем как переходить к самим настройкам, важно понять как работает сеть. Мы не будем рассматривать очень сложные вещи, только основные моменты
Вы, наверное, уже знаете, что все данные в сети передаются в виде пакетов. Какого бы размера не были данные, они делятся на пакеты фиксированного размера и передаются к цели.
Для идентификации компьютеров в сети используются IP адреса. Компьютер должен знать куда нужно передать пакет и кто его отправил. Поэтому в глобальной сети все IP адреса уникальны. Но невозможно подключить все компьютеры к одной общей сети, потому что IP адресов на всех не хватит. Поэтому были созданы локальные сети.
К каждой обычной локальной сети может быть подключено 256 компьютеров с IP адресами от 0 до 255. Из этого выплывает еще один термин — маска подсети, она указывает какая часть IP адреса относится к локальной сети. Например, в большинстве случаев маска сети будет 255.255.255.0, это значит, что в нашей сети будет меняться только последняя цифра IP адреса, такой тип наиболее распространен. Если наш IP 192.168.1.2, то компьютеры из нашей сети будут иметь адреса 192.168.1.1 и до 192.168.1.255.
Следующий важный для нас параметр, это компьютер, с помощью которого мы можем получить доступ к внешней сети, он называется шлюзом или Gateway. В каждой сети, подключенной к интернету есть шлюз.
Последнее, на чем осталось остановиться вид адресов сайтов. Как я уже сказал, все компьютеры имеют IP адрес и доступ к ним осуществляется именно по нему. Но в адресной строке браузера мы видим понятное имя, а не сложные цифры. Для преобразования имени в цифры IP адреса используется служба DNS. Ее нам тоже предстоит настроить. В случае если компьютер получает все эти параметры по DHCP нам достаточно только включить службу. Но если нужна ручная настройка сети из консоли centos 7, то каждый из параметров нужно указать вручную. А теперь перейдем к практике.
Создание площадки
Для каждого клиента можно создать одну или несколько площадок, каждая из которых будет использоваться под определенный сайт.
1. Создаем каталоги:
mkdir -p /var/www/u10001/site1.ru/{www,cgi,tmp,log}
mkdir -p /var/www/u10001/site1.ru/log/{apache,nginx}
* подразумевается, что мы создаем площадку для сайта site1.ru.
2. Задаем права на каталоги:
chown -R u10001:virtwww /var/www/u10001/site1.ru
chown -R root:u10001 /var/www/u10001/site1.ru/log
chmod -R 04770 /var/www/u10001/site1.ru
chmod 0710 /var/www/u10001/site1.ru/cgi
chmod -R 0750 /var/www/u10001/site1.ru/log
3. Создаем виртуальный домен в Apache:
vi /etc/httpd/conf.d/site1.ru.conf
<VirtualHost *:8080>
Define root_domain site1.ru
Define root_path /var/www/u10001/site1.ru
ServerName ${root_domain}
ServerAlias www.${root_domain}
DocumentRoot ${root_path}/www
ScriptAlias /cgi ${root_path}/cgi
ErrorLog ${root_path}/log/apache/error_log
TransferLog ${root_path}/log/apache/access_log
php_admin_value upload_tmp_dir ${root_path}/tmp
php_admin_value doc_root ${root_path}
php_admin_value user_dir www
php_admin_value open_basedir /var/www/u10001:/usr/local/share/smarty:/usr/local/share/pear
php_admin_value session.save_path «0;0660;${root_path}/tmp»
php_flag display_errors off
AssignUserID u10001 virtwww
</VirtualHost>
* где site1.ru — сайт, для которого мы создаем площадку; /var/www/u10001/site1.ru — путь, где будут расположены файлы сайта; AssignUserID определяет, под какими учетными данными будет работать виртуальный домен.
4. Создаем виртуальный домен в nginx:
vi /etc/nginx/conf.d/site1.ru.conf
server {
listen 80;
server_name site1.ru www.site1.ru;
set $root_path /var/www/u10001/site1.ru/www;
gzip on;
gzip_disable «msie6»;
gzip_min_length 1000;
gzip_vary on;
gzip_proxied expired no-cache no-store private auth;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript;
access_log /var/www/u10001/site1.ru/log/nginx/access_log;
error_log /var/www/u10001/site1.ru/log/nginx/error_log;
location / {
proxy_pass http://127.0.0.1:8080/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location ~* ^.+\.(jpg|jpeg|gif|png|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|tar|wav|bmp|rtf|js)$ {
root $root_path;
expires modified +1w;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
Проверяем правильность настроек nginx и httpd:
nginx -t
apachectl configtest
Если ошибок нет, перезапускаем сервисы:
systemctl reload nginx
systemctl reload httpd