Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Linux и FreeBSD » Общий по Linux » Debian/Ubuntu - LAMP: php - в виде модуля Apache или fastCGI ?

Ответить
Настройки темы
Debian/Ubuntu - LAMP: php - в виде модуля Apache или fastCGI ?

Аватара для CyraxZ

Ветеран


Сообщения: 784
Благодарности: 11

Профиль | Отправить PM | Цитировать


Почитал статей всяких-разных. Но определиться не могу.
Из чего исходим:

1. Скорость обработки запросов важнее занимаемой памяти
2. На VPS будут только мои сайты. Пользователь - один. Соответственно, для варианта "модуль Apache" противопоказаний в этом плане нет (т.е. настройки будут общими для сайтов/пользователей).

Из прочитанного - ключевые моменты:


Цитата:
Таким образом, использование FastCGI является более безопасным, как с точки зрения прав доступа, так и с точки зрения наличия ошибок
в работе посторонних скриптов, и более экономичным и быстрым способом работы PHP-скриптов. mod_php, в свою очередь, имеет некоторое увеличение быстродействия при большой (в тысячи соединений) нагрузке на сайт.
Цитата:
Некоторые библиотеки, например PCNTL работают только с FastCGI php
Цитата:
Если только ваши сайти будут на сервере - можно как модуль
Если будут несколько юзеров - FastCGI
Цитата:
Если надо экономить память - то fastcgi
Ваш совет, исходя из практического опыта ?

Отправлено: 01:25, 10-10-2016

 

Аватара для MakaBooka

Старожил


Сообщения: 342
Благодарности: 46

Профиль | Отправить PM | Цитировать


Цитата CyraxZ:
Таким образом, использование FastCGI является более безопасным, как с точки зрения прав доступа »
Сферично и вакуумно.

Цитата CyraxZ:
mod_php, в свою очередь, имеет некоторое увеличение быстродействия при большой (в тысячи соединений) нагрузке на сайт. »
Когда не включает течку, да.

Цитата CyraxZ:
Если только ваши сайти будут на сервере - можно как модуль
Если будут несколько юзеров - FastCGI »
Если речь о shared хостинге - всё несколько сложнее. FastCGI не даст полной изоляции юзерей сам по себе, тут надо не обманывать себя и плотно смотреть в более низкоуровневую изоляцию типа jail и далее по списку.

Из практического опыта: nginx прекрасно отдаёт статику. php-fpm решает вопрос с течкой php. nginx + php_fpm сложнее в отладке сбоев. nginx + php-fpm не имеет .htaccess. Если это не проблема - можно использовать php-fpm + nginx.
Если сайт относится к тяжело нагруженым, то
Цитата CyraxZ:
На VPS будут только мои сайты »
...VPS не подходит делается индивидуальная конструкция.
Опять же нужно помнить, что у апача несколько вариантов работы: prefork, worker.... так же апач может работать как реверс-прокси и кэшировать статику (вариант работы апач-под апачем) или это можно поручить тому же nginx.

Короче целый просто для разных конструкций в зависимости от нагрузки, прямизны рук и вкусовщины. На мой взгляд связка nginx+php-fpm очень даже неплоха, как для скромных сайтов, так и для тяжелонагруженных.

В целом конечно нужно делать, мерить, сравнивать, профилировать.
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:33, 10-10-2016 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Аватара для CyraxZ

Ветеран


Сообщения: 784
Благодарности: 11

Профиль | Отправить PM | Цитировать


Для Apache много всяких правил и настроек сконфигурировано и отшлифовано. тяжеловато будет на nginx переносить.
Пока остановился на Apache mpm-event + php-fcgi.

Последний раз редактировалось CyraxZ, 10-10-2016 в 15:14.


Отправлено: 14:51, 10-10-2016 | #3


Аватара для CyraxZ

Ветеран


Сообщения: 784
Благодарности: 11

Профиль | Отправить PM | Цитировать


Вопрос в том, работает ли Apache в режиме event вместе с php-fcgi ?

Отправлено: 14:34, 11-10-2016 | #4


Аватара для CyraxZ

Ветеран


Сообщения: 784
Благодарности: 11

Профиль | Отправить PM | Цитировать


2 веских довода в пользу mod_fcgi (вместо mod_php):
1. Благодаря suexec возможно запускать php-скрипты от имени конкретного пользователя => скрипты не получат доступ к чужим и системным файлам

2. php_mod не работает с Apache в режимах mpm-worker и mpm-event:
https://www.garron.me/en/blog/apache...efork-php.html

Отправлено: 17:12, 11-10-2016 | #5


Аватара для CyraxZ

Ветеран


Сообщения: 784
Благодарности: 11

Профиль | Отправить PM | Цитировать


Вот что пишут на php.net:
Почему лучше не пользоваться Apache2 с многопоточным "MPM" (event, worker) в промышленной эксплуатации?
Цитата:
PHP подобен связующему звену. Он полезен для создания хороших веб-приложений путём объединения разрозненных сторонних библиотек в единое целое, через использование интуитивно понятного и простого для изучения языкового интерфейса. Гибкость и сила PHP основана на стабильности и устойчивости платформы, на которой он работает. Чтобы всё работало, нужна рабочая операционная система, рабочий веб-сервер и рабочие сторонние библиотеки. Но когда хоть что-либо из них перестаёт работать - PHP нуждается в способах быстрого определения причины неполадки и её устранения. И когда Вы усложняете базовый фреймворк тем, что не изолируете исполняемые потоки и сегменты памяти, и не предоставляете потокам отдельных изолированных "песочниц" - ослабляется вся PHP-система.

Если Вы пожелаете использовать многопоточный "MPM" - ознакомьтесь с конфигурацией "FastCGI", согласно которой PHP работает в собственном пространстве памяти.

P.S. Apache 2.2 по умолчанию работает в режиме prefork (на уровне компиляции), Apache 2.4 - в режиме event (на уровне модуля).

Последний раз редактировалось CyraxZ, 12-10-2016 в 14:44.


Отправлено: 11:00, 12-10-2016 | #6


Аватара для MakaBooka

Старожил


Сообщения: 342
Благодарности: 46

Профиль | Отправить PM | Цитировать


Цитата CyraxZ:
Но когда хоть что-либо из них перестаёт работать »
С чего бы?

Отправлено: 11:06, 12-10-2016 | #7


Аватара для CyraxZ

Ветеран


Сообщения: 784
Благодарности: 11

Профиль | Отправить PM | Цитировать


Цитата:
1. Благодаря suexec возможно запускать php-скрипты от имени конкретного пользователя => скрипты не получат доступ к чужим и системным файлам
Если все сайты принадлежат одному пользователю, то с версии Apache 2.2.10 на Unix-системах можно обойтись и без suexec: статический модуль modx_unixd позволяет указывать пользователя и группу, под которыми будут запускаться форки.

Таким образом, единственным железным аргументом в пользу mod_fcgid остаётся неработоспособность модуля mod_php в режимах mpm_worker и mpm_event. При установке libapache2-mod-phpX Apache принудительно переводится в режим mpm_prefork.

Цитата:
С чего бы?
Мутная у них аргументация...

Отправлено: 14:37, 12-10-2016 | #8



Компьютерный форум OSzone.net » Linux и FreeBSD » Общий по Linux » Debian/Ubuntu - LAMP: php - в виде модуля Apache или fastCGI ?

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Debian/Ubuntu - [решено] Установка LAMP в Linux Mint 17 - testing.php - в доступе отказано. grimripper8698 Общий по Linux 9 25-08-2014 13:37
Сбой при добавлении модуля PHP 5.2.17 к Apache 2.2 Wandarnem Вебмастеру 0 16-02-2012 21:33
установка модуля FastCGI под Apache (на Windows платформе), помогите советом. pingUIN Хочу все знать 2 28-01-2010 09:15
apache php fastcgi E-mail Вебмастеру 6 13-11-2006 00:35
установка PHP/4.3.7 как модуля к Apache/1.3.33 (Unix) E-mail Вебмастеру 18 23-04-2005 13:48




 
Переход