Оригинал: Установка и настройка 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/
Следующие файлы (папки) включены в файл изменений:
Как упоминалось ранее, путь к хранилищу по умолчанию для файлов конфигурации nginx под Mac – –
- /usr/local/etc/nginx/
- Следующие файлы (папки) включены в файл изменений:
- Как упоминалось ранее, путь к хранилищу по умолчанию для файлов конфигурации nginx под Mac – –
- /usr/local/etc/nginx/
Следующие файлы (папки) включены в файл изменений:
серверы
серверы
- серверы
- сайты с поддержкой
- параметры fastcgi_params
- параметры fastcgi_params
- параметры uwsgi_params
- параметры uwsgi_params
- параметры uwsgi_params
- параметры uwsgi_params
- 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