Рубрики
Uncategorized

Установка и настройка Nginx, PHP, MySQL и PHP-fpm под Mac

Автор оригинала: David Wong.

Оригинал: Установка и настройка Nginx, PHP, MySQL и PHP-fpm под постоянным адресом личного блога Mac.

Статья была обновлена, и была добавлена информация о конфигурации php-fpm.

Создание среды NPM под Mac-это необходимый навык для php Mac каждого пользователя. Обычно это первый день, чтобы найти новую работу – настроить среду.

Как упоминалось выше, сегодняшняя запись, среда разработки конфигурации. Компания оснащена очень хорошим аппаратным оборудованием, 15-летним ноутбуком MacBook Pro one (13 дюймов), с 8 ГБ памяти DDR3, процессором core i5 2,7 ГГц, 120 ГБ флэш-памяти. Конечно, это не так высоко, как конфигурация, которую я купил сам. Ха-ха ~~

Что такое домашнее пиво? Давайте начнем с того, что home-brew и OS X похожи на узлы и npm, Java и maven (или gradle), PHP и composer, apt-get и Ubutun, Yum и centos и так далее. Они представляют собой управление зависимостями инструментов или пакетов разработки хоста.

Перед установкой Homebrew установите средство командной строки Xcode. После успешной установки откройте приложение Xcode, чтобы узнать, обновлен ли Xcode. Если нет, обновите Xcode в App Store.

еще –> еще –>

Команда для установки средства командной строки Xcode:

xcode-select --install

После установки, пожалуйста, используйте brew doctor Команда проверяет, соответствует ли текущая среда требованиям brew, и если версия Xcode слишком низкая, появятся соответствующие подсказки.

Homebrew прост в установке, пока на вашем клиентском терминале установлен ruby, на самом деле вам вообще не нужно беспокоиться об этом, система OS X была предварительно установлена ruby.

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Ранее в Интернете было много статей об установке homebrew, поэтому многие статьи по-прежнему предусматривают следующую установку. Фактически, тест обнаружил, что изменение адреса вернуло 404, который не может предоставлять услуги ресурсов.

ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"

Для получения дополнительной информации о Homebrew см. Ссылки на следующие сайты.

  • Менеджер необходимых пакетов OS X
  • Адрес на Github доморощенного
  • Менеджер пакетов программного обеспечения, аналогичный apt-get под системой Mac–Homebrew

После установки Homebrew вы можете использовать команду brew для установки пакета. Затем установите сервер nginx.

brew install nginx

Если вам нужно установить другие версии nginx, вы можете использовать brew edit nginx Для изменения его содержимого:

> class Nginx < Formula   desc "HTTP(S) server and reverse proxy, and
> IMAP/POP3 proxy server"   homepage "http://nginx.org/"   url
> "http://nginx.org/download/nginx-1.10.0.tar.gz"   sha256
> "8ed647c3dd65bc4ced03b0e0f6bf9e633eff6b01bac772bcf97077d58bc2be4d"  
> head "http://hg.nginx.org/nginx/", :using => :hg
> 
> bottle do
> sha256 "69839647f12306f8756eb7934eed946e55ffb47c1a2813f126523d824cd53a9d" =>
> :el_capitan
> sha256 "af4b2cad55c8414c2c29db340c94da9270ec66044f8a52f1d0e0efe1f11adb9b" =>
> :yosemite
> sha256 "8bc5364108c213b062427a98b361d3caf91e8f5a8ef518f23954bdb41e10b9df" =>
> :mavericks   end
> 
>  #Before submitting more options to this formula please check they
> aren\'t   # already in Homebrew/homebrew-nginx/nginx-full:   #
> https://github.com/Homebrew/homebrew-nginx/blob/master/Formula/nginx-full.rb
> option "with-passenger", "Compile with support for Phusion Passenger module"   option "with-webdav", "Compile with support for WebDAV module"   option "with-debug", "Compile with support for debug log"

Из приведенной выше информации вы можете увидеть адрес загрузки nginx и другую информацию, которую можно изменить в соответствии с вашими собственными потребностями.

После выполнения brew, даже если сервер nginx установлен, выполните следующие несколько фатальных тестов:

# Start the nginx service
sudo nginx

# Reload Configuration | Restart | Stop | Exit nginx
nginx -s reload|reopen|stop|quit

# Test configuration for syntax errors
nginx -t

После запуска nginx введите его в браузере http://localhost:8080/ Когда вы вернетесь, вы сможете увидеть результат операции, который показан следующим образом /usr/local/Cellar/nginx/1.10.0/html/index.html Содержание документа.

Соответствующие параметры могут быть изменены сами по себе. Как настроить nginx? Пожалуйста, ознакомьтесь с конфигурацией nginx.

Фактически, при запуске службы nginx можно использовать - C файл конфигурации nginx Параметры для разработки файла конфигурации, загрузка по умолчанию/usr/local/etc/nginx/nginx. файл conf, конечно, работа nginx-это не только эти команды, но и некоторые сигнальные операции, сигнальные операции на nginx и т. Д., Оставьте это подробно.

# Start nginx
sudo ngixn -c /usr/local/etc/nginx/nginx.conf

# Test configuration for syntax errors
nginx -t -c /usr/local/etc/nginx/nginx.conf

дополнение

Настройки службы nginx для самостоятельного запуска при запуске:

mkdir -p ~/Library/LaunchAgents
cp /usr/local/Cellar/nginx/1.10.0/homebrew.mxcl.nginx.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist

Настройте права доступа и группировку для лиц, не являющихся администраторами, для автоматической загрузки nginx:

sudo chown root:wheel /usr/local/Cellar/nginx/1.10.0/sbin/nginx
sudo chmod u+s /usr/local/Cellar/nginx/1.10.0/sbin/nginx

Пояснение: {Уважайте знания, уважайте результаты работы других людей} Справочная статья: Установка и настройка Nginx, MySQL, PHP-FPM под Mac

Установка MySQL так же проста, как и nginx. Выполните команду brew:

brew install mysql

После выполнения команды brew, если ошибки нет, MySQL устанавливается на локальную машину или сервер, конечно, этот процесс увидит много информации, напечатанной в окне командной оболочки.

Далее мы выполняем несколько простых команд настройки.

A. Инициализация базы данных MySQL:

mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql

Здесь необходимо пояснить, что для многих данных в Интернете требуются параметры TMPDIR, а именно:

mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp

Это будет неправильно, конкретная причина пока неизвестна. Некоторые люди задавали вопросы о сегментарном разломе, и в настоящее время нет идеального ответа.

B. Проверьте, запущена ли база данных MySQL или нет mysqld Запуск команды.

ps -ef | grep mysql

Если нет, запустите MySQL с помощью команды mysqld в установленном каталоге MySQL:

/usr/local/Cellar/mysql/5.7.12/bin/mysqld

Конечно, вы можете использовать его напрямую. /usr/local/bin/mysqld Вы можете запустить службу MySQL.

which mysqld

Результаты показали, что:

> MacBook-Pro:joyven $ which mysql
> /usr/local/bin/mysqld

В настоящее время у базы данных нет пароля, и даже пользователи root могут войти в службу базы данных без пароля. Поэтому вам необходимо установить пароль к базе данных:

/usr/local/bin/mysqladmin -u root password 'new-password'

Теперь доступ к MySQL можно подключить без пароля. Если вы хотите установить некоторые ограничения доступа безопасности для пароля входа в систему, вам необходимо выполнить следующие инструкции по установке безопасности MySQL:

/usr/local//bin/mysql_secure_installation

В основном установите и измените пароль root (установить невозможно, пропустить), удалите анонимный доступ, удалите доступ к корневой сети, удалите тестовую базу данных. После выполнения инструкции для входа в MySQL требуется проверка пароля:

mysql -u root -p

Запустите MySQL

mkdir -p ~/Library/LaunchAgents/
cp /usr/local/Cellar/mysql/5.7.12/homebrew.mxcl.mysql.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

Если вы хотите остановить службу MySQL:

launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

Установка PHP очень проста. php-fpm был интегрирован в ядро PHP и может быть установлен как ядро. Давным-давно этого не было. Пожалуйста, обратите внимание, что я не помню, когда я присоединился к ядру. Если вы хотите проверить, пожалуйста, дайте мне знать в разделе комментариев.

Что касается причины, по которой он является ядром, обратитесь к вопросу “Каковы отношения между FastCGI и PHP-FPM”. Посмотрите на ответы следующих богов.

Перед установкой php, пожалуйста, используйте команду brew tap, чтобы представить стороннюю библиотеку PHP. В репозитории brew нет установочного пакета PHP.

brew tap homebrew/dupes
brew tap josegonzalez/homebrew-php

Все готово. Мы должны только Dongfeng. Нет, мы должны только один заказ.

brew install php56 --with-imap --with-tidy --with-debug --with-pgsql --with-mysql --with-fpm

Ниже приведена выходная информация:

заварите установку php56 –с-imap –с-аккуратностью –с-отладкой –с-pgsql –с-mysql –с-fpm –с-завитком=/usr/локальный/Подвал/завиток/==> Установка php56 из josegonzalez/php ==> Установка зависимостей для josegonzalez/php/php56: строка чтения, postgre ==> Установка зависимости josegonzalez/php/php56: строка чтения ==> Загрузка https://homebrew.bintray.com/… ####################################################################### 100.0% ==> Заливка readline-6.3.8.el_capitan.bottle.tar.gz ==> Предостережения Эта формула предназначена только для бочонков, что означает, что она не была символически связана с/usr/local.

OS X предоставляет библиотеку BSD libedit, которая скрывает libreadline. Чтобы предотвратить конфликты, когда программы ищут libreadline, мы по умолчанию устанавливаем эту установку GNU Readline только для бочонка.

Как правило, для вас это не имеет никаких последствий. Если вы создаете свое собственное программное обеспечение и для него требуется эта формула, вам нужно будет добавить в свои переменные сборки:

LDFLAGS:  -L/usr/local/opt/readline/lib
CPPFLAGS: -I/usr/local/opt/readline/include

==> Краткое описание ?/usr/локальный/Подвал/строка чтения/6.3.8: 46 файлов, 2,0 М ==> Установка зависимости josegonzalez/php/php56: postgresql ==> Загрузка https://homebrew.bintray.com/… ######################################################################## 100.0% ==> Заливка postgresql-9.5.2.el_capitan.bottle.1.tar.gz ==>/usr/local/Cellar/postgresql/9.5.2/bin/initdb/usr/local/var/postgres ==> Предостережения Если сборки PostgreSQL 9 не работают и у вас установлена версия 8.x,вам может потребоваться сначала удалить предыдущую версию. См.: https://github.com/Homebrew/h…

Чтобы перенести существующие данные из предыдущей основной версии (до 9.0) PostgreSQL, см.: https://www.postgresql.org/do…

Чтобы перенести существующие данные из предыдущей второстепенной версии (9.0-9.4) Postgressql, см.: https://www.postgresql.org/do…

Вам потребуется ваша предыдущая установка PostgreSQL из brew для выполнения pg_upgrade . Не запускайте очистку postgresql от brew до тех пор, пока вы не выполните миграцию.

Чтобы запустить запуск postgresql сейчас и перезапустить при входе в систему: службы brew запускают postgresql Или, если вы не хотите/нуждаетесь в фоновой службе, вы можете просто запустить: postgres-D/usr/local/var/postgres ==> Сводка ?/usr/локальный/Погреб/postgresql/9.5.2: 3135 файлов, 34,9 Млн ==> Установка josegonzalez/php/php56 зависимость: libpng ==> Загрузка https://homebrew.bintray.com/… ######################################################################## 100.0% ==> Заливка libpng-1.6.21.el_capitan.bottle.tar.gz ?/usr/локальный/Подвал/libpng/1.6.21: 25 файлов, 1,2 М ==> Установка josegonzalez/php/php56 зависимость: свободный тип ==> Загрузка https://homebrew.bintray.com/… ######################################################################## 100.0% ==> Заливка freetype-2.6.3.el_capitan.bottle.tar.gz ?/usr/локальный/Подвал/свободный тип/2.6.3: 61 файл, 2,5 М ==> Установка josegonzalez/php/php56 зависимость: gettext ==> Загрузка https://homebrew.bintray.com/… #########################################################

OS X предоставляет библиотеку BSD gettext, и некоторые программы путаются, если оба находятся в пути к библиотеке.

Как правило, для вас это не имеет никаких последствий. Если вы создаете свое собственное программное обеспечение и для него требуется эта формула, вам нужно будет добавить в свои переменные сборки:

LDFLAGS:  -L/usr/local/opt/gettext/lib
CPPFLAGS: -I/usr/local/opt/gettext/include

==> Краткое описание ?/usr/локальный/Подвал/gettext/0.19.7: 1934 файла, 16,7 Млн ==> Установка josegonzalez/php/php56 зависимость: icu4c ==> Загрузка https://homebrew.bintray.com/… ######################################################################## 100.0% ==> Заливка icu4c-57.1.el_capitan.bottle.tar.gz ==> Предостережения Эта формула предназначена только для бочонков, что означает, что она не была символически связана с/usr/local.

OS X предоставляет libicucore.dylib (но больше ничего).

Как правило, для вас это не имеет никаких последствий. Если вы создаете свое собственное программное обеспечение и для него требуется эта формула, вам нужно будет добавить в свои переменные сборки:

LDFLAGS:  -L/usr/local/opt/icu4c/lib
CPPFLAGS: -I/usr/local/opt/icu4c/include

==> Краткое описание ?/usr/локальный/Подвал/icu4c/57.1: 265 файлов, 65,0 М ==> Установка josegonzalez/php/php56 зависимость: imap-uw ==> Загрузка https://homebrew.bintray.com/… ######################################################################## 100.0% ==> Заливка imap-uw-2007f.el_capitan.bottle.tar.gz ?/usr/локальный/Подвал/imap-uw/2007f: 151 файл, 9,0 М ==> Установка josegonzalez/php/php56 зависимость: jpeg ==> Загрузка https://homebrew.bintray.com/… ######################################################################## 100.0% ==> Заливка jpeg-8d.el_capitan.bottle.2.tar.gz ?/usr/локальный/Архив/jpeg/8d: 19 файлов, 713,7 К ==> Установка josegonzalez/php/php56 зависимость: libxml2 ==> Загрузка https://homebrew.bintray.com/… ######################################################################## 100.0% ==> Заливка libxml2-2.9.3.el_capitan.bottle.tar.gz ==> Предостережения Эта формула предназначена только для бочонков, что означает, что она не была символически связана с/usr/local.

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

Как правило, для вас это не имеет никаких последствий. Если вы создаете свое собственное программное обеспечение и для него требуется эта формула, вам нужно будет добавить в свои переменные сборки:

LDFLAGS:  -L/usr/local/opt/libxml2/lib
CPPFLAGS: -I/usr/local/opt/libxml2/include

==> Краткое описание ?/usr/локальный/Подвал/libxml2/2.9.3: 276 файлов, 9,8 Млн ==> Установка josegonzalez/php/php56 зависимость: unixodbc ==> Загрузка https://homebrew.bintray.com/… ######################################################################## 100.0% ==> Заливка unixodbc-2.3.4.el_capitan.bottle.tar.gz ?/usr/локальный/Подвал/unixodbc/2.3.4: 39 файлов, 952,3 Тыс. Предупреждение: josegonzalez/php/php56: –с-pgsql устарел; вместо этого используется –с-postgresql! ==> Установка josegonzalez/php/php56 ==> Загрузка https://php.net/get/php-5.6.2… ==> Загрузка с https://secure.php.net/distri… ######################################################################## 100.0% ==> ./настройка –префикс=/usr/локальный/Подвал/php56/5.6.21 –localstatedir=/usr/loc ==> сделать ==> сделать установку ==> Предостережения Для включения PHP в Apache добавьте следующее в httpd.conf и перезапустите Apache:

LoadModule php5_module    

/usr/локальный/opt/php56/libexec/apache2/libphp5.итак

Файл php.ini можно найти в:

/usr/local/etc/php/5.6/php.ini

✩✩✩✩ Расширения ✩✩✩✩

Если у вас возникли проблемы с компиляцией пользовательских расширений, убедитесь, что вы используете версию brew, поместив/usr/local/bin перед/usr/sbin в свой ПУТЬ:

  PATH="/usr/local/bin:$PATH"

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

✩ ✩ ✩ ✩ PHP CLI ✩ ✩ ✩ ✩

Если вы хотите поменять PHP, который вы используете в командной строке, вам следует добавить следующее в ~/.bashrc,~/. zshrc,~/. профиль или эквивалентный файл конфигурации вашей оболочки:

  export PATH="$(brew --prefix homebrew/php/php56)/bin:$PATH"

✩✩✩✩ Бутадиен ✩✩✩✩

Чтобы запустить php-fpm при запуске:

mkdir -p ~/Library/LaunchAgents
cp /usr/local/opt/php56/homebrew.mxcl.php56.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.php56.plist

Сценарий управления находится по адресу/usr/local/opt/php56/bin/php56-fpm

OS X 10.8 и новее поставляются с предустановленным php-fpm, чтобы убедиться, что вы используете версию brew, вам необходимо убедиться, что/usr/local/sbin находится перед/usr/sbin на вашем ПУТИ:

ПУТЬ=”/usr/локальный/sbin:$ПУТЬ”

Возможно, вам также потребуется отредактировать список, чтобы использовать правильное “Имя пользователя”.

Пожалуйста, обратите внимание, что plist назывался “homebrew-php.josegonzalez.php56.plist” в старых версиях этой формулы.

Чтобы запустить запуск josegonzalez/php/php56 сейчас и перезапустить при входе в систему: службы brew запускают josegonzalez/php/php56 ==> Сводка ?/usr/локальный/Подвал/php56/5.6.21: 331 файл, 56,2 М, построен за 8 минут 14 секунд

Причина, по которой я хочу опубликовать эту информацию, очень проста. Это дает мне информацию об успешности нашей установки, пути установки и о том, что нам нужно сделать вручную (например, загрузка и т. Д.).

Поскольку система Mac предварительно установлена с PHP и php-fpm, для прямой загрузки последней установленной версии PHP, пожалуйста, добавьте путь, по которому расположены установочные двоичные файлы PHP, в системный путь, который требует внимания. Если мы настроим автоматическую загрузку, мы не обнаружим никаких проблем, но когда я перенастрою расширение и мне потребуется перезапустить php-fpm, если мы будем использовать его напрямую php-fpm-c/usr/local/etc/php/5.6/php.ini-y/usr/local/ext/php/5.6/php-fpm.conf Когда мы это сделали, мы обнаружили, что наша расширенная установка не работала, потому что мы ее использовали. /usr/sbin/php-fpm Команду можно просмотреть с помощью которой. Поэтому важно отметить, что php-fpm, установленный с brew, находится /usr/local/opt/php56/ Под каталогом. :

export PATH="$(brew --prefix php54)/bin:$PATH"

До сих пор PHP и PHP-fpm были успешно установлены. Поэтому мы все еще устанавливаем загрузку php-fpm, где найти этот код, информацию, напечатанную во время процесса установки, поэтому я хочу, чтобы информация о процессе установки была вставлена один раз:

mkdir -p ~/Library/LaunchAgents
cp /usr/local/opt/php56/homebrew.mxcl.php56.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.php56.plist

ps: Кстати, команды, которые могут вам пригодиться в процессе установки:

  • Команда для завершения процесса:
Sudo kill-9 PID # PID instead of your process number
  • Например, если вы хотите завершить процесс php-fpm, вы также можете использовать следующие команды:
sudo killall php-fpm
    // or
    sudo killall -HUP php-fpm
  • Как просмотреть номер процесса:
    ps -ef | grep php-fpm

Конфигурация сервера Nginx описана в разделе простая конфигурация. Что касается более сложной конфигурации, такой как ip_hash, восходящий поток, gzip, обратный прокси-сервер и т. Д., Описаны в ее главе.

Если корневой каталог вашего сайта находится в /var/www Далее, нам просто нужно настроить простой сайт в качестве начала конфигурации nginx.

Как упоминалось ранее, путь к хранилищу по умолчанию для файлов конфигурации nginx под Mac – – /usr/local/etc/nginx/ Следующие файлы (папки) включены в файл изменений:

  1. Как упоминалось ранее, путь к хранилищу по умолчанию для файлов конфигурации nginx под Mac – –
  2. /usr/local/etc/nginx/
  3. Следующие файлы (папки) включены в файл изменений:
  4. Как упоминалось ранее, путь к хранилищу по умолчанию для файлов конфигурации nginx под Mac – –
  5. /usr/local/etc/nginx/
  6. Следующие файлы (папки) включены в файл изменений:
  7. серверы
  8. серверы
  9. серверы
  10. сайты с поддержкой
  11. параметры fastcgi_params
  12. параметры fastcgi_params
  13. параметры uwsgi_params
  14. параметры uwsgi_params
  15. параметры uwsgi_params
  16. параметры uwsgi_params
  17. koi-utf

По умолчанию сайты не включены В этой папке, на этот раз мы создали папку для удобства управления настроенными узлами сервера. Создание команд: сайты sudo mkdir включены

Параметр nginx часто используется в конфигурации. Fastcgi.conf и fastcgi_params используются для предоставления двух файлов параметров. Эти два файла идентичны, за исключением имени файла сценария. Почему они идентичны? В частности, изучите Google. То есть сначала есть fastcgi_params, а затем fastcgi.conf. Поэтому большую часть времени мы видим много людей в конфигурации. Все еще хотелось бы продолжать использовать fastcgi_params.

Базовая конфигурация nginx.conf:

#user  nobody;
worker_processes  4;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


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  /usr/local/var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       80;
        server_name  localhost;

        charset utf-8;

        access_log  /usr/local/var/log/nginx/localhost.access.log  main;

        root /var/www;
        location / {
            #root   html;
            index  index.html index.htm index.php;
            try_files $uri /$uri index.php?$args;
        }

        #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;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ \.php$ {
            #root           /var/www;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /var/www$fastcgi_script_name;
            include        fastcgi_params;
        }

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        location ~ /\.ht {
            deny  all;
        }
    }

    include sites-enabled/nginx-*.conf;

    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    #    listen       8000;
    #    listen       somename:8080;
    #    server_name  somename  alias  another.alias;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}
    
    # HTTPS server
    #
    #server {
    #    listen       443 ssl;
    #    server_name  localhost;

    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;

    #    ssl_session_cache    shared:SSL:1m;
    #    ssl_session_timeout  5m;

    #    ssl_ciphers  HIGH:!aNULL:!MD5;
    #    ssl_prefer_server_ciphers  on;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}
    #include servers/*;
}

Это слишком грязно. Давайте упростим это.

worker_processes  4;

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  /usr/local/var/log/nginx/access.log  main;

    sendfile        on;
    keepalive_timeout  65;


    server {
        listen       80;
        server_name  localhost;

        charset utf-8;

        access_log  /usr/local/var/log/nginx/localhost.access.log  main;

        Root/var/www;  The root directory of your website
        location / {
            index  index.html index.htm index.php;
        try_files $uri /$uri index.php?$args;
        }
     

        error_page  404              /404.html;
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        location ~ \.php$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /var/www$fastcgi_script_name;
            include        fastcgi_params;
        }
   
        location ~ /\.ht {
            deny  all;
        }
    }

    include sites-enabled/nginx-*.conf;   
}

Это относительно простая конфигурация nginx, относительно сложная конфигурация будет использоваться в сложных сценариях, как правило, их предварительная разработка может быть удовлетворена.

Вот конфигурация nginx в папке с поддержкой сайтов. Следует отметить, что содержимое серверных узлов в приведенной выше конфигурации, включая серверы, может быть извлечено отдельно и помещено в отдельную конфигурацию, которая вводится командой include в последнем предложении.

Вот конфигурация nginx в папке с поддержкой сайтов. Следует отметить, что содержимое серверных узлов в приведенной выше конфигурации, включая серверы, может быть извлечено отдельно и помещено в отдельную конфигурацию, которая вводится командой include в последнем предложении.

server {
    listen 80;
    server_name test-local.com;

    charset utf-8;
    access_log /usr/local/var/log/nginx/test-local.com.access.log main;
    error_log /usr/local/var/log/nginx/test-local.com.error.log;

    root /var/www/test-php/backend/web;

    location / {
        try_files $uri $uri/ /index.php?$args;
        index index.html index.htm index.php;
    }

    location ~ \.php$ {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /var/www/test-php/backend/web$fastcgi_script_name;
        include fastcgi_params;
        try_files $uri =404;
    }
}     

Как и выше, откройте ввод в браузере http://localhost/ Доступ к службе, настроенной первым узлом сервера, введите http://test-local.com/ Доступ ко второму узлу сервера.

Но не спеши. Измените конфигурацию хостов хостов, откройте файл/etc/hosts и добавьте строку:

127.0.0.1 test-local.com

Большую часть времени нам приходится устанавливать расширения PHP, такие как GD, mcrypt, CURL, XML, MEMCACHED и другие конфигурации расширений, которые обычно используются в нашей разработке. Для нескольких относительно сложных расширений сделайте некоторую запись.

  • Установка завитков
  • Установка Mcrypt
  • Установка Memcached

2016-05-09 23:48 Фрагменты Установка PHP и дополнений php-fpm 2016-05-1023:18

—————————————– Строка с извинениями —————— извините Из-за большого пространства установка расширения PHP помещена отдельно в следующей главе. Извините, после того, как вы закончите писать, вы прикрепите ссылку!

2016-05-10 23:19 Извините Дополнение: Установите расширения PHP под mac:

brew install php56-apcu php56-intl php56-redis php56-uuid php56-zookeeper 
    php56-thrift php56-solr php56-ssh2 php56-gmagick php56-kafka php56-libevent 
    php56-imagick php56-msgpack php56-geoip php56-mcrypt php56-swoole 
    php56-scrypt php56-xdebug php56-yaf php56-yaml php56-xhprof 
    php56-memcache php56-memcached php56-gearman