Я недавно переместил свой сайт с низким и умеренным трафиком (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)
Start customization based on profile
Exhaustive Options List
И делать заметки mod_fcgid
- Поможет ускорить установку PHP вместе с suPHP. Я не буду вдаваться в подробности о том, что лучше, поскольку это можно оставить для мета-потока и Google.Mod SuPHP
- Поможет защитить PHP, заставляя скрипты PHP запускаться от имени пользователя, а не пользователя nobody
frontpage
- Бесполезный, устаревший и обновленный несколько месяцев назад, по-прежнему был выбран по умолчанию на cPanel.IonCube Loader for PHP
если вы используете скрипты, использующие IonCube.Mod Security
для безопасности, которая будет Помогите предотвратите появление ботов и других неприятных вещей с вашей установкой WordPress. Google Mod Security
если вы хотите узнать об этом больше.Zend Optimizer for PHP
поскольку он оптимизирует некоторые части PHP и предлагает удобство работы с фреймворками Zend.Xcache for PHP
поскольку он будет хранить коды операций 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
Main >> Service Configuration >> Configure PHP and SuExec
вы выбираете PHP 5 Handler
быть suPHP.
Надеюсь, это улучшит вашу производительность. Без более подробной информации это лучшее, что мы можем сделать. Я предлагаю вам нанять профессионала, если это будет продолжаться, или вы предоставите нам дополнительную информацию.