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) <[email protected]>" 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 nginx
sudo 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=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo 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/<user_name>/<site_name>
/var/www/<site_name>
/var/www/html/<site_name>
/opt/<site_name>
/usr/share/nginx/html
Выводы
Поздравляем, вы успешно установили Nginx на свой сервер CentOS 7. Теперь вы готовы начать развертывание своих приложений и использовать Nginx в качестве веб-сервера или прокси-сервера. Если вы намереваетесь разместить несколько доменов на своем сервере CentOS, вам следует научиться создавать блоки сервера Nginx .
В настоящее время безопасный сертификат является обязательной функцией для всех веб-сайтов. Чтобы защитить свой сайт с помощью бесплатного сертификата Let’s Encrypt SSL, вы можете ознакомиться с нашим руководством о том, как защитить Nginx с помощью Let’s Encrypt в CentOS 7 .
Этот пост является частью серии Install LEMP Stack on CentOS 7. Другие сообщения из этой серии: