- Installing Nginx in Mac OS X Maverick With Homebrew
- Установка php5.5+php-fpm+mysql+nginx на Mac OS X Mavericks
- Xcode
- Homebrew
- PHP-FPM
- Настройка PHP в командной строке
- Настройка автозапуска
- MySQL
- Настройка автозапуска
- Обезопасьте установку
- Проверка соединения
- phpMyAdmin
- Nginx
- Настройка автозапуска
- Протестриуйте веб-сервер
- Дальнейшая настройка
- nginx.conf
- Загрузка PHP FPM
- Создание виртуальных хостов
- Настройка SSL
- Включение виртуальных хостов
- Последние тесты
- Управление сервисами
- Nginx
- PHP-FPM
- MySQL
- Настройка окружения для web-разработки на Mac OS X
- Установка Homebrew
- Cтавим MariaDB:
- Займемся web сервером nginx:
- Настройка nginx и создание структуры директорий.
- Конфигурационные файлы вирутальных хостов.
- Установка PHP
- Корректная настройка Nginx в Mac OS?
- jimothyGator / README.md
- This comment has been minimized.
- spamguy commented Sep 25, 2015
- This comment has been minimized.
- Vetal4eg commented Oct 1, 2015
- This comment has been minimized.
- anthonybrown commented Oct 13, 2015
- This comment has been minimized.
- wellington1993 commented Mar 30, 2016
- This comment has been minimized.
- andresnator commented May 28, 2016
- This comment has been minimized.
- iplus26 commented Jun 7, 2016
- This comment has been minimized.
- raulvillca commented Aug 14, 2016
- This comment has been minimized.
- cr2121 commented Sep 20, 2016
- This comment has been minimized.
- craigiswayne commented Dec 19, 2016
- This comment has been minimized.
- j0t3x commented Dec 26, 2016
- This comment has been minimized.
- sivcan commented Jan 19, 2017
- This comment has been minimized.
- trainiac commented Jan 22, 2017
- This comment has been minimized.
- Oliboy50 commented Feb 1, 2017
- This comment has been minimized.
- nyxee commented Aug 25, 2017
- This comment has been minimized.
- ihorvorotnov commented Feb 22, 2018
- This comment has been minimized.
- efthemiosprime commented Mar 25, 2018
- This comment has been minimized.
- agm1984 commented Oct 11, 2018 •
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. Он также удостоверится, что вы получите последние обновления для установленных приложений, так что вам не нужно будет беспокоиться из-за просроченных версиях или брешах в системе безопасности, эксплойтах и так далее.
Прежде всего, нам понадобиться 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-сервера:
Дайте мне знать, если застряли или у вас есть какие-либо дополнения!»
Источник
Настройка окружения для 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 и смотрим результат. Чтобы сервисы автоматически запускались после перезагрузки:
Вот вроде бы и все. Если возникнут вопросы, пишите в комментариях либо через форму обратной связи на странице контактов.
Источник
Корректная настройка Nginx в Mac OS?
Здравствуйте, помогите пожалуйста разобраться!
Пытаюсь настроить 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 .
- Вопрос задан более трёх лет назад
- 8421 просмотр
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 не хватает прав на открытие файлов логов.
Источник
jimothyGator / README.md
- nginx.conf to /usr/local/etc/nginx/
- default.conf and default-ssl.conf to /usr/local/etc/nginx/sites-available
- homebrew.mxcl.nginx.plist to /Library/LaunchDaemons/
Not documented yet:
- How to create self-signed SSL certificates
- How to start and stop Nginx
server < |
listen 443; |
server_name localhost; |
ssl on; |
ssl_certificate server.crt; |
ssl_certificate_key server.key; |
ssl_session_timeout 5m; |
ssl_protocols SSLv2 SSLv3 TLSv1; |
ssl_ciphers HIGH:!aNULL:!MD5; |
ssl_prefer_server_ciphers on; |
location / < |
root html; |
index index.html index.htm; |
> |
> |
server < |
listen 80; |
server_name localhost; |
#access_log logs/host.access.log main; |
location / < |
root html; |
index index.html index.htm; |
> |
#error_page 404 /404.html; |
# redirect server error pages to the static page /50x.html |
# |
error_page 500 502 503 504 /50x.html; |
location = /50x.html < |
root html; |
> |
> |
xml version = » 1.0 » encoding = » UTF-8 » ?> |
DOCTYPE plist PUBLIC «-//Apple//DTD PLIST 1.0//EN» «http://www.apple.com/DTDs/PropertyList-1.0.dtd»> |
plist version = » 1.0 » > |
dict > |
key > Label key > |
string > homebrew.mxcl.nginx string > |
key > RunAtLoad key > |
true/> |
key > KeepAlive key > |
false/> |
key > ProgramArguments key > |
array > |
string > /usr/local/opt/nginx/sbin/nginx string > |
string > -g string > |
string > daemon off; string > |
array > |
key > WorkingDirectory key > |
string > /usr/local string > |
dict > |
plist > |
#user nobody; |
worker_processes 1 ; |
error_log /Library/Logs/nginx/error.log; |
events < |
worker_connections 1024 ; |
> |
http < |
include mime.types; |
default_type application/octet-stream; |
log_format main ‘ $remote_addr — $remote_user [ $time_local ] » $request » ‘ |
‘ $status $body_bytes_sent » $http_referer » ‘ |
‘» $http_user_agent » » $http_x_forwarded_for «‘ ; |
access_log /Library/Logs/nginx/access.log main ; |
sendfile on ; |
keepalive_timeout 65 ; |
index index.html index.php; |
upstream www-upstream-pool < |
server unix:/tmp/php-fpm.sock; |
> |
include /etc/nginx/conf.d/*.conf; |
include /usr/local/etc/nginx/sites-enabled/*.conf; |
> |
This comment has been minimized.
Copy link Quote reply
spamguy commented Sep 25, 2015
Good idea putting the logs in /Library/Logs. I had to create the directory /Library/Logs/nginx first—nginx couldn’t handle that itself.
This comment has been minimized.
Copy link Quote reply
Vetal4eg commented Oct 1, 2015
@spamguy What good in logs at /Library/Logs? Only unix way, only hardcore!
This comment has been minimized.
Copy link Quote reply
anthonybrown commented Oct 13, 2015
I can’t seem to get nginx to load anything on port :8080
brew install nginx —with-passenger
followed brew’s instructions but couldn’t get localhost to work.
I have it running on my iMac but not on my MBP, is there some difference in configuration?
This comment has been minimized.
Copy link Quote reply
wellington1993 commented Mar 30, 2016
This comment has been minimized.
Copy link Quote reply
andresnator commented May 28, 2016
This comment has been minimized.
Copy link Quote reply
iplus26 commented Jun 7, 2016
You saved my day.
Forgot to include /usr/local/etc/nginx/sites-enabled/*.conf;
This comment has been minimized.
Copy link Quote reply
raulvillca commented Aug 14, 2016
include /etc/nginx/conf.d . i must make it, cause i didn’t find it
This comment has been minimized.
Copy link Quote reply
cr2121 commented Sep 20, 2016
This comment has been minimized.
Copy link Quote reply
craigiswayne commented Dec 19, 2016
Found this «create your own signed certificate for mac» tutorial
https://certsimple.com/blog/localhost-ssl-fix
This comment has been minimized.
Copy link Quote reply
j0t3x commented Dec 26, 2016
This comment has been minimized.
Copy link Quote reply
sivcan commented Jan 19, 2017
Thanks a lot dude!
This comment has been minimized.
Copy link Quote reply
trainiac commented Jan 22, 2017
/usr/local/opt/nginx/sbin/nginx was /usr/local/opt/nginx/bin/nginx for me. Thanks!
This comment has been minimized.
Copy link Quote reply
Oliboy50 commented Feb 1, 2017
This comment has been minimized.
Copy link Quote reply
nyxee commented Aug 25, 2017
people always fail to inform others to edit /private/etc/hosts and add entries for the servers.
This comment has been minimized.
Copy link Quote reply
ihorvorotnov commented Feb 22, 2018
@nyxee or just let dnsmasq handle it
This comment has been minimized.
Copy link Quote reply
efthemiosprime commented Mar 25, 2018
where can i find the /private/etc/hosts?
This comment has been minimized.
Copy link Quote reply
agm1984 commented Oct 11, 2018 •
The hosts files is found at /etc/hosts in both Mac OS and Unix systems.
Typically, you can type
and it will open the file, if you have nano installed. There is a good chance you have nano installed. Try it, if not, use your favourite text editor. Make sure you open the file with elevated privileges so you can save it. It is a system file.
As mentioned above, you can also use dnsmasq which auto forwards *.dev domains in your browser to localhost.
Источник