Настройка nginx mac os

Installing Nginx in Mac OS X Maverick With Homebrew

Nov 25, 2015 · 2 min read

Install with brew

Use brew to install the nginx with command:

After install run:

Open Navigator it by going to URL:

The default place of nginx.conf on Mac after installing with brew is:

Changing the default port (8080)

We shall change it to 80. First stop the nginx server if it is running by:

Update thanks @zue666, @pixel67 if apache is running must also stop sudo apachectl stop

Then open nginx.conf with (example vim):

Save configuration and relaunch nginx

Open Navigator it by going to URL:

Update: thanks @pablohenrique * ERROR 403 Forbidden — * dont worry, some other application is already using port 80. probably be skype.

1 Solution 1: Change Skype port in Skype > Preferences > advanced 2 Solution 2: No change server < listen to 80.

That means that nginx will use port 8080 instead of 80. To access it I would use this url http://localhost:8080.

Changing the path of defualt web location

he nginx html folder (brew install only) is by the defult in:

Note: change ** 1.2.3 ** to your nginx version.

The defualt path configuration:

To let say Users/to/www:

After change relaunch nginix server and nginx is now serving pages from your custom folder!

Источник

Установка php5.5+php-fpm+mysql+nginx на Mac OS X Mavericks

Каждый веб-разработчик, выбравший Mac, после первичной настройки системы ищет рабочий инструментарий. И если c IDE и редакторами всё понятно, то что-либо подобное по удобству win-довым OpenServer или Denwer за бесплатно найти трудно. Есть отличное решение MAMP PRO, но оно стоит две тысячи деревянных. Да и работа через Apache некоторых может смутить.

Занимаясь решением этого вопроса, набрёл на интереснейший материал, который рассказывает о том, как при помощи консольного пакет-менеджера Homebrew настроить рабочее пространство буквально за 5-10 минут. Публикую его перевод, потому что кому-нибудь подобная инструкция по настройке веб-окружения на Mac обязательно пригодится.

«Только что получил новый MacBook Pro и решил настроить его с чистого листа, потому что я использую тот же бэкап Time Machine примерно уже четверы года. Хороший шанс избавиться от стэка веб-сервера/LAMP (Linux Apache MySQL PHP) и заменить его Nginx и PHP-FPM как реализацию FastCGI. Ниже вы можете прочесть, как настроить Nginx, PHP-FPM, MySQL и PhpMyAdmin на OS X 10.9 / Mavericks.

Xcode

Прежде всего, установите последнюю версию Xcode через Mac App Store:
Скачать Xcode.app (через Mac App Store)

Как только закончится загрузка, откройте Xcode в папке /Applications и согласитесь с лицензией.

Откройте окно Терминала и установите Xcode через следующую команду:

Подтвердите установку при помощи кнопки Install .

Вернитесь обратно в Xcode, нажмите ⌘ + , для доступа к настройкам и перейдите на вкладку Locations. Установите Command Line Tools на последнюю доступную версию, Xcode 5.0.2 (5A3005) в моём примере:

Homebrew

Теперь необходимо установить Homebrew, который является менеджером пакетов для OS X. Вы возможно уже слышали про apt-get или aptitude на дистрибутивах Linux для установки пакетов и зависимостей для конкретный приложений. brew работает также, только на компьютерах под управлением Mac OS X. Он также удостоверится, что вы получите последние обновления для установленных приложений, так что вам не нужно будет беспокоиться из-за просроченных версиях или брешах в системе безопасности, эксплойтах и так далее.

Читайте также:  Samsung unified linux driver

Прежде всего, нам понадобиться Xquarz:

Теперь нам необходимо загрузить и установить Homebrew при помощи следующей команды:

Поверим на любые конфликты и проблемы:

Обновим репозитории и приложения при помощи Homebrew:

PHP-FPM

Потому как Homebrew не имеет репозитория по-умолчанию для PHP-FPM, нам необходимо его добавить:

Установим PHP-FPM при помощи следующих аргументов:

Homebrew загрузит исходный код PHP-FPM и скомпилирует его аз вас. Дайте ему немного времени, это может занять несколько минут.

Настройка PHP в командной строке

Если вы хотите использовать PHP в командной строке, вам необходимо обновить переменную окружения $PATH в файле

Настройка автозапуска

Удостоверьтесь, что PHP-FPM слушает порт 9000:

Вывод должен выглядеть примерно следующим образом:

MySQL

Следующий шаг для установки MySQL:

Настройка автозапуска

И запустите сервер баз данных:

Обезопасьте установку

Для безопасности нашего MySQL-сервера мы вызовем идущий в компоекте бинарник secure_mysql_installation для смены root-пароля, удаления анонимного пользователя и отключения возможности дистанционного логина под root-ом:

Пожалуйста, укажите текущий пароль, если он уже установлен.

Нажите enter, указав пароль для root-пользователя. По желанию сохраните его в менеджерах паролей LastPass или 1Password.

Да, в них нет необходимости.

Да, нет необходимости в авторизации под root с любого другого IP кроме 127.0.0.1.

Да. Нам не нужны тестовые таблицы.

Перезагрузка таблицы привилегий даст нам возможность удостовериться, что изменения вступили в силу.

Проверка соединения

Введите указанный ранее root-пароль и увидите консоль MySQL:

Закончите сессию при помщи команды \q :

phpMyAdmin

Установите autoconf который необходим для phpMyAdmin:

Установите переменную окружения $PHP_AUTOCONF:

Приступим к установке phpMyAdmin:

Nginx

Установите Nginx при помощи команды:

Настройка автозапуска

Так как мы используем 80 порт, необходимо запускать Nginx под пользователем root:

Протестриуйте веб-сервер

Конфигурация по-умолчанию слушает порт 8080 вместо стандартного для протокола HTTP порта 80. Пока проигнорируем это:

Ответ должен выглядеть следующим образом:

Снова остановим Nginx:

Дальнейшая настройка

nginx.conf

Создайте папки, которые понадобятся нам при последующей конфигурации Nginx:

Удалите текущий файл nginx.conf (который всегда будет доступен по адресу /usr/local/etc/nginx/nginx.conf.default , если вы захотите взглянуть на его код) и загрузите созданные мною настройки при помощи curl с GitHub:

Конфиуграционный файл прост и легковесен насколько это возможно: настройки worker, пути/форматы логов и несколько includes. Ничего лишнего в отличие от nginx.conf.default .

Загрузка PHP FPM

Скачайте мои настройки PHP-FPM с GitHub:

Создание виртуальных хостов

Клонируйте тестовый виртуальный хост (включая рерайты для 404, 403 и phpinfo() ) используя git :

И удалите папку /var/www/.git , чтобы git не отслеживал последующие изменнения.

Настройка SSL

Создайте папку для наших сертификатов SSL и частных ключей:

Сгенерируйте 4096bit RSA ключи и само-подписные сертификаты следюущей командой:

Включение виртуальных хостов

Теперь нам нужно создать симлинки в папке sites-enabled для виртуальных хостов с целью включить их:

Снова стартуем Nginx:

Последние тесты

Вот оно, всё должно работать. Щелкайте на ссылках ниже с целью удостовериться в этом:

Управление сервисами

В силу того, чтоы вам рано или поздно понадобиться перезапустить тот или иной вресив, вам возможно понадобятся дополнительные алиасы:

Вы можете или открыть новое окно/сессию Терминала или же вручную перезагрузить

/.bash_profile при помощи команды:

Теперь вы можете использовать алиасы вместо печатания длинных команд launchctl , как то было выше.

Nginx

Вы можете стартовать, остановить и перезапустить Nginx при помощи команд:

Быстрый доступ к логам:

PHP-FPM

Старт, стоп и перезагрузка PHP-FPM:

MySQL

Старт, стоп и рестарт MySQL-сервера:

Дайте мне знать, если застряли или у вас есть какие-либо дополнения!»

Источник

Корректная настройка Nginx в Mac OS?

Здравствуйте, помогите пожалуйста разобраться!

Читайте также:  Веб камера филипс spc230nc драйвер для windows 10

Пытаюсь настроить Nginx в Mac OS.

В /usr/local/etc/nginx/servers/ создаю файл mysite_nginx.conf . В /private/etc/host добавил 127.0.0.1 mysite . Запускаю Nginx, захожу по url mysite:8888, а статика не отображается.

Команда nginx -t :

P.S. До этого использовал Nginx лишь в Ubuntu 16.04, где кастомные настройки для своего проекта создавались в папке /etc/nginx/sites-available/mysite_nginx.conf .

  • Вопрос задан более трёх лет назад
  • 8422 просмотра

Nginx слушает 80 порт, но вы продожаете ходить в 8888, т.е. мимо nginx.

А вообще, nginx точно запустился, а то сообщения об ошибках вообще-то не совместимы с нормальной работой.

Алексей Тен, вы правы я обращаясь по порту 8888 в url я проходил мимо Nginx. Написал в url-ке mysite без порта и все открылось как надо. На счет ошибок не могу сам понять в чем проблема. Проверил файлы error.log и nginx.pid по указанным адресам и они существуют. Заходил в файл /usr/local/etc/nginx/nginx.conf и там были закоментированы следующие поля:

Я их разкомментировал, и перезагрузил nginx (Команда sudo nginx -s reload).
Запустил команду nginx -t но к сожалению выдает те же ошибки. Есть идеи как исправить ситуацию?

Тестировать тоже надо используя sudo

Алексей Тен, В чем существенная разница между sudo nginx -t и nginx -t ? Понятно sudo выполняет команду от имени администратора.

Без sudo не хватает прав на открытие файлов логов.

Источник

Настройка окружения для web-разработки на Mac OS X

Установку необходимого софта будем производить с использованием менеджера недостающих пакетов для macOS — Homebrew. Если он у вас еще не устанолен, сперва ставим Xcode через AppStore либо в терминале набираем команду:

согласившись с лицензионным соглашением.

Установка Homebrew

Открываем терминал (вместо стандартного я использую ITerm2) и запускаем установку командой:

После установки обновляемся, проверяем все ли в порядке:

В качестве сервера баз данных я решил использовать MariaDB.

Cтавим MariaDB:

Выпоним первоначальную настройку сервера:

и проверяем подключение:

Займемся web сервером nginx:

Настройка nginx и создание структуры директорий.

Для виртуальных хостов я использую следующую структуру (вы можете использовать другую, удобную вам но не забудьте исправить пути в конфигах!):

Конфигурационные файлы вирутальных хостов.

Я использую следующую схему:

После установки nginx, в директории /usr/local/etc/nginx/ имеется стандартный конфигурационный файл nginx.conf. Приведем его к следуюущему виду:

Далее пишем конфигурацию виртуального хоста в директории /usr/local/etc/nginx/sites-available/

Создаем символьную ссылку:

Установка PHP

Если используете zsh то:

либо (в зависимости от того какой используется шел)

Версии должны быть одинаковыми!

Далее создадим файл index.php для проверки:

В адресной строке браузера набираем localhost и смотрим результат. Чтобы сервисы автоматически запускались после перезагрузки:

Вот вроде бы и все. Если возникнут вопросы, пишите в комментариях либо через форму обратной связи на странице контактов.

Источник

macOS 11 Big Sur Nginx Setup: Multiple PHP Versions

December 10, 2020 by Kevin

Setup

Before starting you need xcode installed with the cli tools. Also, you will need VS Code installed with the code command in your system path.

OpenSSL

MySQL

Next, update your my.cnf

Now, secure using the password password and then restart.

Next, MySQL 8 authentication needs to be updated per user to mysql_native_password .

Postgres

Install postgresql (not the postgres app).

Now, you can check your user list.

Don’t use the default homebrew core tap for PHP. Use shivammathur/php.

Next, set PHP 7.4 as your default php CLI version.

Now, for each version update the php-fpm you will need a unique port. Change the ports of each php-fpm to match its php version number. For example, php@7.4 I use port 9074 .

Also, you will want php-fpm to run with your user account and not _www .

Optionally, before starting php-fpm, if you want to make edits to a php.ini file now is the time. For example, you might want to increase the upload_max_filesize and post_max_size to 10M .

Читайте также:  Как посмотреть логи командной строки windows

Once you are ready, start up php-fpm for each version.

Check that you have processes running and validate your ports are correct.

Next, and optionally, add some aliases for your CLI to use by adding the following and replacing with the version homebrew installs. This will give you quick access to a specific version when needed.

If you want to change the default php CLI you can set it using brew or, if added, the bash function phpv 7.4 .

PHP Errors

As time passes Homebrew is bound to break your PHP installations. When this happens you can reinstall the PHP version having the error. Keep in mind you may need to reconfigure that version of PHP but I’ve found your php.ini files remain the same.

Xdebug

Now, I like xdebug for development. But, this step is optional. To install xdebug for each version of php (cli and fpm) run the following.

For each version you installed update the php.ini . In our example, php@7.4.

You will need to remove the zend_extension=»xdebug.so» that is added to the top of the file by the pecl install process. The new default xdebug port is 9003 , it was port 9000 .

Add the following to the bottom of your php.ini file.

When finished adding your xdebug configuration to each version you have installed kill all the currently running php-fpm processes. This is not wise to do on a production server. On a new Mac dev setup, this is perfectly fine.

Nginx

Now, test the install is working.

Now, change the default settings.

Next, add a FastCGI gateway to php-fpm on the default server. The latest version of php installed is best. For other servers, you can set the version of PHP to the project requirement.

Next, add some basic security to your default server.

Then add the charset.

Now, you might want to allow for large file uploads.

Next, we edit the real index.html file used by nginx. So, replace the index.html with an index.php file. Then, and some php code to make sure everything is working.

To add more servers you can go to the nginx servers directory, /usr/local/etc/nginx/servers , and add them there as individual files. Here is a basic template.

To add SSL for your nginx server check out this post. I use these bash functions to make the process faster. To add a server I use the command nginxcreate my.test.x but you might want to modify the files to match your setup.

Dnsmasq

To save yourself the fuss of editing your hosts file constantly you can use dnsmasq .

Then we set up a custom hosts TLD *.x (or other hosts TLD like .test ) that point to 127.0.0.1 .

(customize the commands as needed)

Test that it is working.

MailHog

I like to have mailhog running as a development mail server. But, if you don’t want to take this step that is perfectly fine.

Now, you can access MailHog at http://localhost:8025/. However, you still need to connect MailHog to PHP and the mail mac command used by Postfix (Postfix comes with macOS Big Sur).

Add the following to the end of the file to connect MailHog to Postfix.

Send a test email and check MailHog.

Next, update each php.ini file with the following and then restart php-fpm. Note, test@localhost should be used but will be overridden by any PHP scripts that run.

Redis

Install Radis. This will install Redis Server v6.

Источник

Оцените статью