Рекомендуемые сообщения

sitecreator    546

Хотел бы коснуться важной составляющей всего сервера, а именно веб-сервера. Это для начала.

 

Предполагается, что используется Linux, а именно CentOS 7 как наиболее разумный на сегодня вариант.

Предполагается, что используется ISPmanager 5 Lite.

В качестве веб-сервера выступает Апаче.

 

Итак, как можно добиться максимальной производительности сервера (в конечном итоге сайта) за счет настроек веб-сервера?

И при этом обеспечить максимальную безопасность.

 

Желательно не использовать права для папок вида 777. Лучше такие: 755.

Т. е. мы выставляем права доступа не всем подряд (777), что само по себе приводит к снижению безопасности,  а только владельцу (виртуалхоста, т. е. сайта/домена) и его группе.

 

Возражения есть по этому правилу безопасности?

 

На сервере (VPS/VDS)  по умолчанию установлен веб-сервер Апаче  (Apache MPM-Prefork) и php как модуль апаче.

конфиги php.ini в корне сайта в таком случае не работают.

 

конфигурацию php в таком случае производят в глобальном php.ini, а для сайта - в соответствующем файле .htaccess

пример директив в этом файле (.htaccess):

php_value max_execution_time 600

Поскольку мы говорим про Апаче, установленный по умолчанию, то PHP (mod-php)  будет работать от имени Апаче (httpd).  Что требует выставления прав 777 для папок сайта, что не есть хорошо.

 

Работа PHP именно как модуля Апаче предпочтительна, т. к. именно в таком случае достигается наибольшая производительность.  Да и некоторые полезные возможности php будут работать только в этом режиме, а в режиме CGI будут отсутствовать.

 

Для определенного пользователя можно выбрать тип PHP (как модуль или как CGI)

 

5272e9ee64.jpg

 

PHP типа CGI будет работать от имени пользователя, и можно использовать права для папок не выше 755, что хорошо в плане безопасности. И удобно при разворачивании сайта, т. к. при разархивировании (из RAR, например) дистрибутива папки автоматически создаются с такими правами. Также CGI позволяет менять версии php для каждого пользователя индивидуально, это бывает иногда полезно если у вас сайтов много с разными требованиями к php.  Но обычно сервер используется для одного высоконагруженного проекта (сайта).

 

Но в плане производительности (быстродействия) PHP как CGI  уступает варианту PHP как модулю.

 

Установленный по умолчанию Apache MPM-Prefork не позволит работать php от имени пользователя.

Но есть вариант замены его на Apache MPM-ITK  с сохранением преимуществ работы php как модуля и возможность работать от имени пользователя (владельца virtualhost). На мой взгляд, это лучшее решение.

 

Сборка Apache MPM-ITK не представляет особых трудностей.  Пользоваться терминалом (консолью) для этого нужно было на старых версиях панели управления, сейчас все проще.

 

Я пока не касаюсь вопросов настройки кеширования и сжатия файлов.

 

У кого-то имеется лучшее предложение по Апаче в плане производительности и безопасности?

 

-------

Вопрос использования nginx хотел бы рассмотреть немного позже. И связку Апаче + nginx  в вариантах тоже попозже.

Изменено пользователем sitecreator

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу