Как установить Nginx на CentOS 7

Nginx
Как установить Nginx на CentOS 7

Эта статья была впервые опубликована:Руководство для разработчиков: как установить Nginx на CentOS 7


Nginx читается какengine x, это бесплатный, открытый источник, высокопроизводительный HTTP и обратный прокси-сервис, в основном ответственна за загрузку некоторых сильно посещенных сайтов.

Nginx можно использовать как автономный веб-сервис или как обратный прокси-сервер для Apache или других веб-сервисов.

По сравнению с Apache, Nginx может обрабатывать больше одновременных подключений, а объем памяти, занимаемый каждым подключением, очень мал.

В этом руководстве вы узнаете, как установить и управлять Nginx на сервере Centos 7.

Подготовка перед началом

Прежде чем приступить к чтению этого руководства, убедитесь, что у вас естьsudoСервер для регистрации прав пользователя, и сервер не является Apache или какой-либо другой службой, использующей порт 80 (HTTP) и 443 (HTTPS), что предотвращает занятие порта, в результате чего Nginx не запускается должным образом.

Установите Nginx на CentOS

Выполните следующие шаги, чтобы установить Nginx в CentOS.

1,В репозитории EPEL есть установочный пакет Nginx. Если вы не установили EPEL, вы можете сделать это, выполнив следующую команду:

sudo yum install epel-release

Приведенный выше код означаетsudoЗапустите с разрешением на установку epel-release.Если пользователь, под которым вы сейчас вошли, не является пользователем root, вам будет предложено ввести пароль для запуска.Когда вы вводите пароль, вы не сможете увидеть, что вы ввели, поэтому не волнуйтесь, просто продолжайте вводить. Затем нажмите Enter, чтобы продолжить выполнение, если следующая команда содержитsudoУказано, что это означает, что именно упоминается, и объяснение не повторится.

2,Введите следующую команду для установки Nginx:

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) <epel@fedoraproject.org>"
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(回车)Вы можете продолжать устанавливать.

3.После завершения установки вы можете запустить и запустить службу Nginx с помощью следующих команд:

Установите Nginx для запуска при загрузке:

sudo systemctl enable nginx

После выполнения приведенной выше команды будет выведено что-то похожее на следующее, указывающее на то, что мягкое соединение создано для связи с Nginx. Не волнуйтесь, это не ошибка, и вы можете запустить Nginx на следующем шаге.

Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.

Запустите 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

4.Если на вашем сервере включен брандмауэр, вам необходимо открыть оба порта: 80 (HTTP) и 443 (HTTPS).

Откройте оба порта с помощью следующих команд:

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

Для отечественных производителей серверов группа безопасности также может блокировать эти два порта по умолчанию, например, Alibaba Cloud и Tencent Cloud.Шаг 5Когда вы обнаружите, что не можете получить к нему доступ, вы можете использовать Baidu, чтобы узнать, как освободить эти два порта.

5.Verify Nginx запустился успешно, вы можете открыть в браузереhttp://YOUR_IP, вы увидите страницу приветствия Nginx по умолчанию, похожую на изображение ниже:

Welcome to Nginx

Примечание. Страница приветствия Nginx по умолчанию имеет несколько стилей, связанных с установленной вами версией, поэтому вам нужно только обратить внимание на большой заголовок этой страницы.Welcome to nginx!

Управление Nginx с помощью systemctl

Вы можете управлять Nginx, как и любым другим сервисом.

Запустить Nginx

sudo systemctl start nginx

Остановить nginx

sudo systemctl stop nginx

Перезапустите Nginx

sudo systemctl restart nginx

После изменения конфигурации Nginx перезагрузите

sudo systemctl reload nginx

Настройка запуска Nginx при загрузке

sudo systemctl enable nginx

Отключить запуск Nginx

sudo systemctl disable nginx

Файлы конфигурации Nginx и рекомендации

  • Для Nginx, установленного указанным выше способом, все соответствующие файлы конфигурации находятся в/etc/nginx/в каталоге.
  • Основной файл конфигурации Nginx/etc/nginx/nginx.conf.
  • Чтобы упростить настройку Nginx, рекомендуется создать отдельный файл конфигурации для каждого сервиса (доменного имени).
  • Каждый отдельный файл конфигурации службы Nginx должен начинаться с.confзаканчиваются и сохраняются в/etc/nginx/conf.dв каталоге. Вы можете создать столько независимых файлов конфигурации, сколько захотите.
  • Отдельные файлы конфигурации, мы рекомендуем следующую конвенцию именования, такие как ваше доменное имяkaifazhinan.com, то ваш файл конфигурации должен выглядеть так/etc/nginx/conf.d/kaifazhinan.com.conf, если вы развертываете несколько сервисов на сервере, конечно, вы также можете добавить номер порта, перенаправленный Nginx, к имени файла, напримерkaifazhinan.com.3000.conf, что делает его более дружелюбным.
  • Если в вашей конфигурации много повторяющегося кода, то рекомендуется создать/etc/nginx/snippetsПапка, в которой хранятся все блоки кода, которые будут использоваться повторно, а затем они упоминаются в каждом файле конфигурации Nginx, который необходимо использовать, что упрощает управление и изменение.
  • Лог-файл Nginx (access.logиerror.log)роды/var/log/nginx/в каталоге. Рекомендуется настроить разные права доступа и файлы журналов ошибок для каждой независимой службы, чтобы поиск ошибок был проще и быстрее.
  • Вы можете хранить файлы кода для развертывания в любом месте, но обычно рекомендуется хранить их в одном из следующих мест:
    • /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 на своем сервере. Если вы планируете развернуть несколько служб на сервере, вам может понадобиться прочитать эту статью.How To Set Up Nginx Server Blocks on CentOS 7(для перевода).

Ах да, сертификат безопасности (HTTPS) сегодня все сайты обязательно должны иметь. Итак, вы можете прочитать эту статьюSecure Nginx with Let's Encrypt on CentOS 7(в переводе), чтобы узнать, как создать бесплатный сертификат безопасности с помощью Let's Encrypt SSL.

Ждем вас в следующий раз :)

Эта статья была впервые опубликована:Руководство для разработчиков: как установить Nginx на CentOS 7