Назад | Перейти на главную страницу

Сайт WordPress с низким трафиком на Apache продолжает давать сбой на сервере

Я недавно переместил свой сайт с низким и умеренным трафиком (1000 UAU, 5000 просмотров страниц в напряженный день) с общего хостинга на 64-битный VPS Centos 6 с Apache и cPanel, работающими на 4 четырехъядерных процессорах (вероятно, перепродан) и 3 ГБ памяти (Ксен).

У нас с самого начала были проблемы. Сервер продолжает вылетать. Кажется, что PHP продолжает расширяться, пока не потребляет всю память и не дает сбой сервера.

Некоторые люди предлагают мне отказаться от Apache / cPanel / PHP / mySQL и перейти на nginX / Varnish / PHP-FPM / SQLite. Но для меня это просто невозможно, поскольку я не очень разбираюсь в технологиях и нуждаюсь в простом графическом интерфейсе, таком как cPanel, чтобы иметь возможность управлять рутинными задачами управления (не могу позволить себе нанять системного администратора или получить полностью управляемый хостинг).

Я наткнулся на несколько сообщений, в которых обсуждалась оптимизация Apache для WordPress. Но все это приводит к довольно устаревшим статьям, например, этой ~ 4-летней давности от января 2009 г. http://themefoundry.com/blog/optimize-apache-wordpress/

Статья довольно подробная и кажется полезной, но я спотыкаюсь даже о первом шаге. В моем httpd.conf всего 2 команды loadmodule

LoadModule fastinclude_module modules/mod_fastinclude.so  
LoadModule bwlimited_module modules/mod_bwlimited.so

Так что я тут же разоряюсь. Кроме того, мой httpd.conf говорит

Прямые изменения в файле конфигурации Apache могут быть потеряны при последующей регенерации файла конфигурации. Чтобы изменения сохранялись, все изменения должны быть проверены в системе конфигурации, запустив: / usr / local / cpanel / bin / apache_conf_distiller

Мне не удается найти, где изменить модули в WHM.

Может кто-нибудь помочь мне с обновленными рекомендациями по оптимизации Apache для WordPress? Большое спасибо!

P.S. В установке WordPress также установлен WP Super Cache.
P.P.S. У меня также установлены phpBB, OpenCart и Menalto Gallery.

ОБНОВИТЬ:
В конечном итоге это оказалась утечка памяти PHP 5.3.3. Выяснилось совершенно случайно. Первоначально считал, что виноват Apache. Сделал все возможное, включая переход на nginx и установку Varnish. Потребовалось все больше и больше времени, чтобы полностью использовать всю оперативную память, но я неизбежно добирался туда. Наконец, с некоторой помощью NewRelic выяснили, что приложения PHP со временем увеличивали использование памяти ... процессы никогда не убивались или что-то в этом роде. Обновил PHP до 5.4.16, и с тех пор все стало как надо.

По моему опыту, похоже, что вы не перекомпилировали Apache / PHP. Я предполагаю это. Если да, сделайте следующее:

Войдите в WHM и перейдите в Main >> Software >> EasyApache (Apache Update)

  1. Выберите любую конфигурацию и нажмите Start customization based on profile
  2. Выберите последнюю версию Apache
  3. Выберите последнюю версию PHP, которая не является бета-версией или устаревшей (конец жизненного цикла нормальный и стабильный)
  4. На пятом шаге прокрутите вниз и выберите Exhaustive Options List И делать заметки
    1. mod_fcgid - Поможет ускорить установку PHP вместе с suPHP. Я не буду вдаваться в подробности о том, что лучше, поскольку это можно оставить для мета-потока и Google.
    2. Mod SuPHP - Поможет защитить PHP, заставляя скрипты PHP запускаться от имени пользователя, а не пользователя nobody
    3. ОТКЛЮЧИТЬ frontpage - Бесполезный, устаревший и обновленный несколько месяцев назад, по-прежнему был выбран по умолчанию на cPanel.
    4. Для удобства выберите IonCube Loader for PHP если вы используете скрипты, использующие IonCube.
    5. Выбрать Mod Security для безопасности, которая будет Помогите предотвратите появление ботов и других неприятных вещей с вашей установкой WordPress. Google Mod Security если вы хотите узнать об этом больше.
    6. Выбрать Zend Optimizer for PHP поскольку он оптимизирует некоторые части PHP и предлагает удобство работы с фреймворками Zend.
    7. Выбрать Xcache for PHP поскольку он будет хранить коды операций PHP в памяти. Это поможет повысить производительность страницы.
    8. Выберите любой из модулей PHP, которые вы хотите установить. У меня на рабочем сервере есть следующее. Перейдите в Google, какой модуль выполняет самостоятельно, если вы хотите узнать больше (или задайте вопрос об этом здесь). Вы можете использовать это как ориентир. По большей части добавление модулей не снизит вашу производительность, а только предложит удобство, если вы хотите установить больше приложений на свой сервер без необходимости перекомпилировать Apache / PHP.
      • Bcmath, Bz2, CGI, Calendar, Curl, CurlSSL, Curlwrappers, Dbase, Exif, FTP, Fastcgi, Force CGI Redirect, GD, Gettext, Iconv, Imap, MM, Magic Quotes, MailHeaders, Mbregex, Mbstring, Mcrypt, Mhash, Mime Magic, Mysql , Mysql of the system , MySQL "Improved" extension. , Openssl, PDO, PDO MySQL, POSIX, Path Info Check, Pear, Pspell, Sockets, TTF (FreeType), Tidy, Wddx, XSL, XmlRPC, Zend Multibyte, Zip, Zlib
    9. Сохраните вашу конфигурацию и соберите Apache.
    10. Когда закончите, убедитесь - и это важная часть - что под Main >> Service Configuration >> Configure PHP and SuExec вы выбираете PHP 5 Handler быть suPHP.

Надеюсь, это улучшит вашу производительность. Без более подробной информации это лучшее, что мы можем сделать. Я предлагаю вам нанять профессионала, если это будет продолжаться, или вы предоставите нам дополнительную информацию.