Кому нужна медленная социальная сеть? Оптимизируем свой сайт – PHP

Первую часть, посвященную настройке FreeBSD и Apache, тоже стоит прочитать (кто этого еще не сделал).

PHP

Теперь займемся оптимизацией и защитой PHP. Кроме самого PHP – установите eAccelerator! Для чего? Приятно видеть в админке WP не 45Mb, а 20?

eAccelerator – это PHP ускоритель, оптимизатор кэш-памяти динамического содержимого. Он увеличивает производительность PHP скриптов за счет кэширования их в компилированном состоянии, тем самым дополнительные ресурсы сервера на компиляцию скриптов не используются. Также оптимизируются скрипты для ускорения выполнения. eAccelerator обычно уменьшает нагрузку на сервер и увеличивает скорость вашего кода PHP в 1-10 раз.

Установка и настройка акселератора:

Естественно, все ссылки даны лишь в ознакомительных целях, вы можете найти и другой материал. Буду рад, если вы укажете тот материал, который вам помог.

Безопасность

  • отключите возможность выполнения следующих функций (в интернете советую больше отключать, но для WP нам нельзя все закрывать..):

disable_functions = dl, shell_exec, poopen, proc_nice, posix_mkfifo

  • также используйте Suhosin и блокируйте следующие функции (спасибо Vladimir’у за список):

exec, passthru, shell_exec, system, pcntl_exec, popen, proc_open, proc_nice, proc_terminate, proc_get_status, proc_close, leak, apache_child_terminate, posix_kill, posix_mkfifo, posix_setpgid, posix_setsid, posix_setuid

  • safe_mode и safe_mode_gid – поставьте Off
  • более подробно написано на сайте Безопасности PHP.

Оптимизация

Все параметры ниже редактируются в файле php.ini, который зачастую находится в папке /etc/php.ini

  • max_execution_time = 20, время выполнения скрипта – ограничение на выполнение, если скрипт с проблемой или хакер пытается “подвесить” Вас – не дайте возможность серверу уйти в себя!
  • max_input_time = 30, аналогично;
  • memory_limit = 64M, установите общее ограничение памяти на каждого клиента, аналогично можно задавать в настройка WP, но лучше тут и для всех хостов сразу!
  • log_errors = On, контролируйте PHP!
  • log_errors_max_len = 1024, задайте ограничение для лога ошибок – раздел с логами не бесконечен…
  • post_max_size = 2M, задайте максимальный размер загружаемого контента – фотографий, записей, страниц и т.п.

divider

В следующей части вы прочитаете о некоторых советах по настройке MySQL.

Данный пост является гостевым, весь материал принадлежит Александру
(вот его социальная сеть SportActions.ru и личный сайт Milordk.ru).

комментариев 9

  1. Александр:

    Дополнительно – не включайте модули которые не используйте! это и безопасность и ресурсы :)

  2. Игорь:

    Ясно, ждем про mysql

  3. Опечатка: posix_mkfifo, не postix_mkifo.

    А вообще на боевом сервере мы используем Suhosin и блокируем такие функции: exec, passthru, shell_exec, system, pcntl_exec, popen, proc_open, proc_nice, proc_terminate, proc_get_status, proc_close, leak, apache_child_terminate, posix_kill, posix_mkfifo, posix_setpgid, posix_setsid, posix_setuid.

    Раздел, на котором находятся сайты, смонтирован с параметрами nosuid,nodev,noexec, так что выполнение всяких левых скриптов будет очень сильно затруднено. Вдобавок права доступа установлены так, что сайты изолированы друг от друга.

  4. @Vladimir:
    Спасибо, я исправил опечатку :)
    И спасибо за подсказки по функциям – я их внесу в тот список в записи.

  5. Vladimir,
    мониторание с такими параметрами – половина функционала работать не будет.. это ближе к плагинам.. но без них WP – движок который толком ничего не делает – а ресурсы кушает :)

  6. Валерий:

    Долго загружаются- сайт, панель админа, материалы и все остальное (1.5- 3мин.) Устанавливал Joomla 1.5.14 и 1.5.9- не помогает. Одинаково долго в Мозиле, Опере, Експлорере.
    Не могли бы мне помочь?
    Компьютер- Windows XP Prof. Intel(R) Celeron(R)CPU 3.06GHz 3.07ГГц, 2.00ГБ ОЗУ
    Полный объем- 232ГБ, свободно- 162ГБ.
    В обычном режиме- без Денвера, загрузки компьютера- нормальные.

  1. 18.12.2009

    […] Кому нужна медленная социальная сеть? Оптимизируем св

  2. 19.04.2012

    […] php и MySQL вы можно прочитать на страницах моего сайта: здесь про php, а здесь про мускул. Также будет полезной первая часть […]

Добавить комментарий

Ваш адрес email не будет опубликован.