Веб-сервер на основе Nginx и PHP-FPM Сравнение версий

Различия

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

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
wiki:nginx-phpfpm [2015/06/01 03:52]
avi9526avi9526avi9526ахтыжъёшкинкот синтаксим
wiki:nginx-phpfpm [2015/06/01 04:04] (текущий)
avi9526avi9526avi9526ахтыжъёшкинкот Ссылки
Строка 136: Строка 136:
 </​code>​ </​code>​
  
-==== Настройка шифрования SSL ====+==== Шифрование ====
  
 Необходимо наличие сертификата «*.crt» или «*.pem» и приватного секретного ключа «*.key» (см. [[wiki:​руководство_по_ubuntu_server:​безопасность:​certificates|Сертификаты]]). Самоподписанный сертификат можно сгенерировать командой в терминале (см. [[http://​manpages.ubuntu.com/​manpages/​lucid/​man1/​openssl.1ssl.html|man openssl]], [[http://​manpages.ubuntu.com/​manpages/​precise/​man1/​req.1ssl.html|man req]]) Необходимо наличие сертификата «*.crt» или «*.pem» и приватного секретного ключа «*.key» (см. [[wiki:​руководство_по_ubuntu_server:​безопасность:​certificates|Сертификаты]]). Самоподписанный сертификат можно сгенерировать командой в терминале (см. [[http://​manpages.ubuntu.com/​manpages/​lucid/​man1/​openssl.1ssl.html|man openssl]], [[http://​manpages.ubuntu.com/​manpages/​precise/​man1/​req.1ssl.html|man req]])
Строка 199: Строка 199:
 </​code>​ </​code>​
  
-==== Различные настройки ====+==== Прочие настройки ====
  
 Указание максимального размера запроса -- необходимо если сервер будет использоваться для загрузки больших файлов (например,​ для построения небольшого облачного хранилища на основе «ownCloud»,​ эта строчка по сути делает то же что и указанные выше при настройке «PHP-FPM»,​ только теперь для «Nginx») Указание максимального размера запроса -- необходимо если сервер будет использоваться для загрузки больших файлов (например,​ для построения небольшого облачного хранилища на основе «ownCloud»,​ эта строчка по сути делает то же что и указанные выше при настройке «PHP-FPM»,​ только теперь для «Nginx»)
Строка 211: Строка 211:
 </​code>​ </​code>​
  
-==== Настройки безопасности ====+==== Безопасность ====
 Опишем настройки безопасности в отдельном файле Опишем настройки безопасности в отдельном файле
 <​code=bash>​sudo touch /​etc/​nginx/​common/​security <​code=bash>​sudo touch /​etc/​nginx/​common/​security
Строка 250: Строка 250:
 </​code>​ </​code>​
  
-==== Описание директорий сайта ====+==== Директории сайта ====
  
 Далее указание директорий сайта и правил работы с ними с использованием директив «location». Данная директива может обрабатывать регулярные выражения «Perl» (см. [[http://​www.opennet.ru/​docs/​RUS/​perl-maslov/​re.html|Регулярные выражения (шаблоны)]]) Далее указание директорий сайта и правил работы с ними с использованием директив «location». Данная директива может обрабатывать регулярные выражения «Perl» (см. [[http://​www.opennet.ru/​docs/​RUS/​perl-maslov/​re.html|Регулярные выражения (шаблоны)]])
Строка 300: Строка 300:
 Этот конфигурационный файл подключится автоматически,​ за счёт шаблона (см. выше). Этот конфигурационный файл подключится автоматически,​ за счёт шаблона (см. выше).
  
-==== Для сайта на основе ​Wordpress ====+==== Wordpress ====
  
 Для более полной информации по настройке «Nginx» для «WordPress» следует обратиться к официальной документации (см. [[http://​codex.wordpress.org/​Nginx|codex.wordpress.org/​Nginx]] и [[http://​wiki.nginx.org/​WordPress|wiki.nginx.org/​WordPress]]) Для более полной информации по настройке «Nginx» для «WordPress» следует обратиться к официальной документации (см. [[http://​codex.wordpress.org/​Nginx|codex.wordpress.org/​Nginx]] и [[http://​wiki.nginx.org/​WordPress|wiki.nginx.org/​WordPress]])
Строка 348: Строка 348:
 Сохраняем и закрываем этот файл. Опять же, он будет подключён автоматически. Сохраняем и закрываем этот файл. Опять же, он будет подключён автоматически.
  
-==== Для облачного хранилища на основе ​ownCloud ====+==== ownCloud ====
 Для наиболее полной информации следует обратится к официальному руководству «OwnCloud» (см. [[https://​doc.owncloud.org/​server/​8.0/​admin_manual/​installation/​nginx_configuration.html|Nginx Configuration]]). К примеру,​ «ownCloud» находится в папке «/​var/​www/​owncloud». ​ Для наиболее полной информации следует обратится к официальному руководству «OwnCloud» (см. [[https://​doc.owncloud.org/​server/​8.0/​admin_manual/​installation/​nginx_configuration.html|Nginx Configuration]]). К примеру,​ «ownCloud» находится в папке «/​var/​www/​owncloud». ​
  
Строка 390: Строка 390:
 post_max_size=513M</​code>​ post_max_size=513M</​code>​
 и поменять значения на требуемые. и поменять значения на требуемые.
-==== Базовые ограничения ​доступа ​====+==== Базовые ограничения ====
  
-Выше было написана строчка для подключение файла «/​etc/​common/​deny»+Выше была написана строчка для подключение файла «/etc/nginx/​common/​deny»
 <​code=php>​include common/​deny;</​code>​ <​code=php>​include common/​deny;</​code>​
 рассмотрим его содержание. В нём идет запрет доступа к некоторым стандартным файлам. Создадим этот файл рассмотрим его содержание. В нём идет запрет доступа к некоторым стандартным файлам. Создадим этот файл
Строка 406: Строка 406:
 </​code>​ </​code>​
  
-<note important>​Следует быть бдительным,​ неверно указанный шаблон ​здесь может сильно навредить, возможно лучше не дописывать эти директивы или указать их в конце, так как ​они имеют высокий приоритет. Например,​ клиент ownCloud может начать удалять файлы которые не сможет загрузить на сервер из-за неправильного запрета где-то в конфигурационном файле</​note>​+<note important>​Следует быть бдительным,​ неверно указанный шаблоны для запрета доступа ​е только здесь но и в примерах ​выше) могут ​сильно навредить. Например,​ клиент ownCloud может начать удалять файлы которые не сможет загрузить на сервер из-за неправильного запрета где-то в конфигурационном файле</​note>​
  
 Следует переписать все файлы «.htaccess» в директивы «Nginx». Найти эти файлы среди файлов сайта можно, например,​ командой ​ Следует переписать все файлы «.htaccess» в директивы «Nginx». Найти эти файлы среди файлов сайта можно, например,​ командой ​
 <​code=bash>​sudo find /var/www/ -name .htaccess</​code>​ <​code=bash>​sudo find /var/www/ -name .htaccess</​code>​
  
-==== Перенаправление ​обработки php-скриптов внутреннему серверу «PHP-FPM» ====+==== Вызов PHP-FPM ====
  
 В примерах выше использовался файл «/​etc/​nginx/​common/​php-fpm» — в нём идет перенаправление обработки php-скриптов внутреннему серверу «PHP-FPM» В примерах выше использовался файл «/​etc/​nginx/​common/​php-fpm» — в нём идет перенаправление обработки php-скриптов внутреннему серверу «PHP-FPM»
Строка 456: Строка 456:
  }</​code>​  }</​code>​
  
-==== Завершение редактирования конфигурации ​====+==== Окончание ====
  
 Закрываем фигурные скобки директивы «server» в «/​etc/​nginx/​sites-available/​example.com» Закрываем фигурные скобки директивы «server» в «/​etc/​nginx/​sites-available/​example.com»
Строка 471: Строка 471:
 sudo service php5-fpm restart sudo service php5-fpm restart
 </​code>​ </​code>​
 +
 +====== Проверка ======
 +
 +Проверить свой сайт можно создав файл «info.php» с содержанием
 +<​code=php><?​php
 +phpinfo();
 +?>
 +</​code>​
 +затем скопировав его, например,​ в «/​var/​www/​wordpress/​wp-content/​uploads/​»,​ затем открыв адрес в браузере «http://​example.com/​wordpress/​wp-content/​uploads/​info.php»,​ если он выполнится вместо того чтобы просто сохранится — то что-то настроено неправильно,​ в этой директории php файлы выполняться не должны ни в коем случае (она доступна для загрузки)
 +
 +Проверить свой сайт на скорость и прочее можно тут:
 +  * [[http://​www.webpagetest.org/​|webpagetest.org]]
 +  * [[https://​developers.google.com/​speed/​pagespeed/​insights/​|developers.google.com]]
 +  * [[https://​www.ssllabs.com/​ssltest/​|ssllabs.com]]
  
 ====== Ссылки ====== ====== Ссылки ======