
Nginx (произносится как engine x — это бесплатный, высокопроизводительный HTTP- и обратный прокси-сервер с открытым исходным кодом, отвечающий за обработку нагрузки некоторых из крупнейших сайтов в Интернете.
Nginx можно использовать как автономный веб-сервер, а также как обратный прокси-сервер для Apache и других веб-серверов.
По сравнению с Apache, Nginx может обрабатывать гораздо большее количество одновременных подключений и потребляет меньше памяти на каждое соединение.
Из этого руководства вы узнаете, как установить и управлять Nginx на компьютере с CentOS 7.
Предпосылки
Перед началом работы с руководством убедитесь, что вы вошли в систему как пользователь с привилегиями sudo и у вас не запущен Apache или какая-либо другая служба на порту 80 или 443.
Установка Nginx на CentOS
Чтобы установить Nginx на сервер CentOS, выполните следующие действия:
-
Пакеты Nginx доступны в репозиториях EPEL. Если у вас ещё не установлен репозиторий EPEL , вы можете сделать это, выполнив команду:
sudo yum install epel-release -
Установите Nginx, введя следующую команду yum:
sudo yum install nginxЕсли вы впервые устанавливаете пакет из репозитория EPEL, yum может предложить вам импортировать ключ EPEL GPG:
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 Importing GPG key 0x352C64E5: Userid : "Fedora EPEL (7)" Fingerprint: 91e9 7d7c 4a5e 96f1 7f3e 888f 6a2f aea2 352c 64e5 Package : epel-release-7-9.noarch (@extras) From : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 Is this ok [y/N]: В этом случае введите
yи нажмитеEnter. -
После завершения установки включите и запустите службу Nginx с помощью:
sudo systemctl enable nginxsudo systemctl start nginxПроверьте состояние службы Nginx с помощью следующей команды:
sudo systemctl status nginxВывод должен выглядеть примерно так:
● nginx.service - The nginx HTTP and reverse proxy server Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled) Active: active (running) since Mon 2018-03-12 16:12:48 UTC; 2s ago Process: 1677 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS) Process: 1675 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS) Process: 1673 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS) Main PID: 1680 (nginx) CGroup: /system.slice/nginx.service ├─1680 nginx: master process /usr/sbin/nginx └─1681 nginx: worker process -
Если ваш сервер защищен брандмауэром, вам необходимо открыть оба порта: HTTP (
80) и HTTPS (443).Используйте следующие команды для открытия необходимых портов:
sudo firewall-cmd --permanent --zone=public --add-service=httpsudo firewall-cmd --permanent --zone=public --add-service=httpssudo firewall-cmd --reload -
Чтобы проверить установку Nginx, откройте
http://YOUR_IPв выбранном вами браузере, и вы увидите страницу приветствия Nginx по умолчанию, как показано на рисунке ниже:
Управление службой Nginx с помощью systemctl
Вы можете управлять службой Nginx так же, как и любым другим модулем systemd.
Чтобы остановить службу Nginx, выполните:
sudo systemctl stop nginx
Чтобы начать снова, введите:
sudo systemctl start nginx
Чтобы перезапустить службу Nginx :
sudo systemctl restart nginx
Перезагрузите службу Nginx после внесения некоторых изменений в конфигурацию:
sudo systemctl reload nginx
Если вы хотите отключить запуск службы Nginx при загрузке:
sudo systemctl disable nginx
И чтобы снова включить его:
sudo systemctl enable nginx
Структура и файла конфигурации Nginx
- Все файлы конфигурации Nginx находятся в каталоге
/etc/nginx/. - Основной файл конфигурации Nginx —
/etc/nginx/nginx.conf. - Чтобы упростить поддержку конфигурации Nginx, рекомендуется создать отдельный файл конфигурации для каждого домена.
- Новые файлы серверных блоков Nginx должны иметь расширение
.confи храниться в каталоге/etc/nginx/conf.d. Количество серверных блоков может быть любым. - Рекомендуется следовать стандартному соглашению об именовании, например, если ваше доменное имя —
mydomain.com, то ваш файл конфигурации должен называться/etc/nginx/conf.d/mydomain.com.conf - Если вы используете повторяющиеся сегменты конфигурации в блоках сервера доменов, то хорошей идеей будет создать каталог с именем
/etc/nginx/snippetsпреобразуя эти сегменты в фрагменты, и включить файл фрагмента в блоки сервера. - Файлы журналов Nginx (
access.logиerror.log) находятся в каталоге/var/log/nginx/. Рекомендуется создать отдельные файлы журналовaccessиerrorдля каждого блока сервера. - Вы можете указать любое место в качестве корневого каталога документов вашего домена. Наиболее распространённые расположения для webroot:
-
/home// -
/var/www/ -
/var/www/html/ -
/opt/ -
/usr/share/nginx/html
-
Заключение
Поздравляем! Вы успешно установили Nginx на свой сервер CentOS 7. Теперь вы готовы приступить к развертыванию приложений и использованию Nginx в качестве веб-сервера или прокси-сервера. Если вы планируете размещать несколько доменов на сервере CentOS, вам следует научиться создавать серверные блоки Nginx .
В наши дни наличие сертификата безопасности — обязательная функция для любого веб-сайта. Чтобы защитить свой сайт с помощью бесплатного SSL-сертификата Let's Encrypt, ознакомьтесь с нашим руководством по защите Nginx с помощью Let's Encrypt в CentOS 7 .
Эта публикация является частью серии «Установка стека LEMP в CentOS 7» .
Другие посты в этой серии:
Не используете CentOS 7?
Выберите другую ОС: центос 8 дебиан 10 дебиан 9 убунту 16.04 убунту 18.04 убунту 20.04
Связанные руководства
- Как установить WordPress с Nginx на CentOS 7
- Как установить phpMyAdmin с Nginx на CentOS 7
- Как настроить блоки сервера Nginx на CentOS 7
- Защитите Nginx с помощью Let's Encrypt на CentOS 7
- Как настроить блоки сервера Nginx на CentOS 8
- Защитите Nginx с помощью Let's Encrypt на CentOS 8
- Как установить Nginx на CentOS 8