Вам нужно протестировать веб-сайт, который вы разрабатываете, но у вас в распоряжении только Mac? Вам не нужно строить отдельный сервер или виртуальную машину только для тестирования вашего сайта. Один из быстрых вариантов – установка NGINX на Mac, и у вас должен быть работающий веб-сервер прямо на вашем компьютере.
Останьтесь с нами и узнайте, как установить и настроить NGINX на Mac. Вы узнаете несколько различных способов установки NGINX, так что вы можете выбрать метод, который подходит вам. Вы также узнаете основные элементы конфигурации, чтобы помочь вам начать тестирование.
Предварительные требования
Этот учебник будет практической демонстрацией. Если вы хотите следовать за нами, убедитесь, что у вас есть следующее:
- Любая недавняя версия macOS. На момент написания этого текста три поддерживаемые, не устаревшие версии macOS – это Catalina, Big Sur и Monterey. В этом учебнике используется macOS Big Sur.
- Вашему компьютеру необходимы Xcode Command Line Tools, чтобы установить NGINX из исходного кода, или Homebrew, чтобы установить пакет NGINX (формула).
Установка NGINX на Mac
Существуют два способа установки NGINX на Mac: компиляция исходного кода или использование менеджера пакетов. Но не существует лучшего метода установки. Выбор метода зависит от ваших требований.
В следующих разделах вы узнаете, как выполнить оба метода установки NGINX.
Метод 1: Компиляция и установка из исходного кода
Компиляция и установка NGINX из исходного кода дает вам гибкость включения модулей или патчей безопасности в вашу установку NGINX. Например, вы можете скомпилировать NGINX, чтобы включить модуль Real-Time Messaging Protocol (RTMP), если настроите потоковый сервер.
Пользователь: Настраиваемость требует больше шагов и включает в себя ручную установку зависимостей. Следуйте этим шагам для установки NGINX на Mac из исходного кода.
1. Откройте терминал на своем Mac.
2. Выполните нижеуказанную команду, чтобы создать рабочий каталог в вашей домашней папке. Этот каталог будет содержать все необходимые файлы исходного кода для установки NGINX.
3. Затем выполните команды ниже, чтобы скачать (curl
) и извлечь (tar
) последнюю версию Perl Compatible Regular Expressions (PCRE). Модули NGINX Core и Rewrite требуют PCRE. Последняя версия PCRE на момент написания – 8.45
.
4. Выполните каждую из команд ниже, чтобы скачать (curl
) исходный код OpenSSL для добавления поддержки SSL. Это дополнение – пример настройки сборки NGINX. Последняя версия OpenSSL на момент написания – 1.1.1m
.
5. После загрузки требований выполните следующие команды для загрузки (curl
) и извлечения (tar
) исходного кода NGINX. Последняя стабильная версия на момент написания – 1.20.2
.
На данном этапе у вас должно быть три новых каталога в общей сложности, как показано ниже.

6. Теперь выполните следующие команды для компиляции (make
) и установки (install
) NGINX.
7. Затем выполните следующую команду, чтобы добавить путь к NGNIX в системный $PATH
, добавив полный путь /usr/local/nginx
в /etc/paths
. После этого шага вы сможете выполнять команды nginx
без указания полного пути.
8. Выйдите из терминала, нажав CMD+Q
, и откройте новую сессию терминала, чтобы применить новый $PATHS
.
9. Выполните нижеприведенную команду nginx
, чтобы запустить NGINX, так как сервер NGINX не запускается автоматически после установки.
10. Наконец, убедитесь, что NGINX запущен. Откройте окно веб-браузера и введите адрес HTTP://localhost. Вы должны увидеть страницу приветствия NGINX по умолчанию, подобную приведенной ниже.
Установка NGINX из исходного кода устанавливает порт прослушивания по умолчанию 80.

Поскольку вы установили NGINX на Mac из исходного кода от имени root, вам нужно будет префиксировать каждую команду
nginx
, которую вы будете выполнять впоследствии, с помощьюsudo
.
Метод 2: Установка NGINX с использованием Homebrew
Установка NGINX с помощью Homebrew более удобна и менее подвержена ошибкам. Этот метод автоматически устанавливает зависимости. Если вам не нужно настраивать установку NGINX, этот метод является самым быстрым и требует только одной команды для установки!
Чтобы установить NGINX на Mac с использованием Homebrew, продолжайте следовать этим инструкциям.
1. Откройте новую сессию терминала.
2. Выполните нижеприведенную команду brew
, чтобы установить NGINX.
Можно ли устанавливать NGINX от имени root с помощью Homebrew? – Нет (официально). Команда установки brew отказывается выполняться с префиксом sudo. Если вы попытаетесь, вы получите сообщение об ошибке, приведенное ниже.
“Er” или: Запуск Homebrew от имени root-пользователя крайне опасен и больше не поддерживается. Поскольку Homebrew не снижает привилегий при установке, вы предоставите всем сценариям сборки полный доступ к вашей системе.”
3. После установки вызовите нижеприведенную команду для запуска NGINX. Эта команда запускает NGINX в качестве фонового демона.
По умолчанию Homebrew устанавливает NGINX в /usr/local/Cellar/nginx/<version> и создает символические ссылки в /usr/local/opt/. Бинарный файл nginx имеет символическую ссылку в /usr/local/bin, и этот каталог уже включен в $PATH.
Чтобы запустить NGINX без фонового сервиса, выполните вместо этого нижеприведенную команду. Эта команда выдает глобальную директиву НЕ запускать nginx как демон.
nginx -g “да” mon off;”
Вы можете остановить NGINX, нажав CTRL+C в терминале в этом режиме.
4. Наконец, вызовите команду curl
ниже, чтобы подтвердить, что NGINX теперь работает.
Установка NGINX через Homebrew устанавливает порт прослушивания по умолчанию 8080. Это назначение порта по умолчанию гарантирует, что вы можете запускать nginx без sudo.
Как видно ниже, команда curl загрузила веб-страницу NGINX по умолчанию, что указывает на работу сервера.

Настройка NGINX для тестирования
До сих пор вы установили NGINX, но он все еще работает на настройках по умолчанию. Перед началом тестирования вашего веб-сайта стоит рассмотреть несколько фундаментальных изменений.
Вы хотите, чтобы NGINX запускался автоматически при загрузке компьютера? Где вы будете хранить файлы для тестируемого вами веб-сайта? Следует ли сохранить назначенный порт прослушивания по умолчанию?
Это некоторые из элементов, которые вам придется настроить после установки NGINX, о чем вы узнаете в следующих разделах.
В последующих разделах будут представлены шаги по настройке файла(ов) конфигурации NGINX, установленного с помощью Homebrew, если инструкции явно не указывают иное.
Настройка прослушиваемого порта сервера
В зависимости от способа установки, прослушиваемым портом по умолчанию будет либо 80, либо 8080. Порт 8080 обычно подходит для тестирования и разработки. Однако в некоторых случаях вам может потребоваться изменить номер порта, возможно, из-за конфликта с другими службами или по другим причинам.
Независимо от причины, выполните следующие шаги, чтобы изменить прослушиваемый порт NGINX по умолчанию.
1. Сначала выполните следующую команду для отправки сигнала остановки (-s stop
) и убедитесь, что NGINX не запущен. nginx -s stop
2. Затем выполните команду nginx
ниже, чтобы узнать путь к файлу конфигурации NGINX.
Ниже показан результат, указывающий, что файл конфигурации находится в /usr/local/etc/nginx/nginx.conf.

3. Откройте файл конфигурации в выбранном вами текстовом редакторе, например, nano
, как показано ниже.
4. Теперь найдите строку listen
внутри блока server {}
. Как видно ниже, значение порта прослушивания равно 8080
.

5. Измените номер порта listen
на другое уникальное значение порта, например, 9000
, в этом примере. Сохраните изменение и закройте файл.

6. Теперь повторно запустите команду nginx
ниже, чтобы снова запустить NGINX.
7. Наконец, откройте новое окно браузера и перейдите по адресу HTTP://localhost:9000. NGINX теперь должен обслуживать веб-сайт на порту 9000, как показано ниже.

Указание на ваш каталог веб-разработки
По умолчанию при установке NGINX на Mac веб-каталог обслуживается из /usr/share/nginx/html (установленного из исходных кодов) или /usr/local/Cellar/nginx/<version>/html (установленного через Homebrew).
Но что если файлы вашего веб-сайта где-то еще, например, на другом диске? Не волнуйтесь. Следуйте приведенным ниже шагам, чтобы указать NGINX ваш каталог веб-разработки.
1. Сначала выполните нижеуказанные команды, чтобы остановить NGINX и открыть файл конфигурации в текстовом редакторе, как вы делали в разделе «Настройка прослушивания сервера» (шаги один до трех).
2. В текстовом редакторе найдите строку root html;
внутри блока server {}
.

3. Измените значение root
и укажите путь к своей пользовательской папке. В этом примере веб-директория находится в /Volume/DevData/testweb
. Сохраните изменения и закройте редактор.
Тестовый сайт в этом примере – это статический сайт под названием Dimensions, загруженный с HTML5 Up. Этот образец сайта можно бесплатно скачать и использовать в соответствии с Лицензией Creative Commons Attribution 3.0.

4. Теперь снова запустите сервер NGINX.
5. Наконец, перейдите по адресу HTTP://localhost:9000 с помощью вашего веб-браузера. Теперь NGINX обслуживает ваш тестовый сайт из вашей пользовательской веб-директории, как показано на скриншоте ниже.

Включение автозапуска NGINX для установки из исходного кода
По умолчанию NGINX не запускается автоматически, независимо от выбранного метода установки. В разработке или при тестировании автозапуск NGINX может не потребоваться. Но если вам это нужно, вы можете настроить автозапуск NGINX при загрузке с помощью процесса launchd
.
Вы можете настроить автозапуск NGINX для установки как из исходных кодов, так и на основе Homebrew. Но для этой демонстрации начнем с установки из исходных кодов.
Чтобы включить автозапуск NGINX для установки из исходных кодов, выполните следующие шаги.
1. Запустите команду touch
, чтобы создать новый файл свойств (PLIST) для NGINX.
Место /Library/LaunchDaemons хранит глобальные демоны, которые выполняются от имени root или указанного пользователя. Имя файла может быть любым, но было бы полезно, если оно содержало имя создаваемого вами демона.
2. Теперь откройте файл PLIST для редактирования.
3. Скопируйте код ниже и вставьте его в текстовый редактор. Сохраните файл и закройте редактор.
Кратко говоря, приведенный ниже код определяет демон с именем ata.nginx. Программа для запуска – /usr/local/nginx/sbin/nginx, и значение RunAtLoad означает, что программа будет запущена при загрузке компьютера.
4. Наконец, выполните следующую команду launchctl
, чтобы load
демона. Эта команда сразу запускает NGINX. И с этого момента NGINX будет автоматически запускаться после каждой перезагрузки компьютера.
Предположим, вы передумали и предпочли бы отключить автозапуск NGINX. Запустите следующую команду. Эта команда останавливает и отключает автозапуск демона NGINX.
Включение автозапуска NGINX для установки на основе Homebrew
В отличие от установки на основе исходного кода, для установки NGINX на основе Homebrew вам нужно выполнить всего одну команду для включения или отключения автозапуска NGINX. Удобно, не так ли?
Запустите следующую команду для включения автозапуска NGINX. Команда start
немедленно запускает NGINX и регистрирует его для запуска при загрузке.
После выполнения команды вы получите похожий вывод, как показано на изображении ниже.

Чтобы отключить состояние автозапуска NGINX, выполните следующую команду. Как видите, единственная часть команды, которую нужно изменить, – это замена start
на stop
. Эта команда также корректно завершает работу сервера NGINX немедленно.
Заключение
Вот и все! Установка NGINX на Mac – надежный способ быстро запустить веб-сервер для тестирования. У вас есть варианты установки в зависимости от ваших требований к настройке, и настройка его параметров быстра через файлы конфигурации в формате обычного текста – не требуются специальные инструменты.
NGINX не ограничивает тестирование и запуск только для одного веб-сайта. Вы можете запускать одновременно несколько разработочных доменов и веб-сайтов без взаимных вмешательств. Или, если вы чувствуете себя авантюрным, вы можете запустить NGINX в Docker на Mac тоже!