Каковы рекомендации по настройке сервера для сайтов WordPress?


Я нанял системного администратора для настройки сервера VPS для меня, и, к сожалению, похоже, что все было настроено неправильно. При попытке установить и обновить плагины я постоянно сталкиваюсь с ошибками разрешений. WP Super Cache является основной проблемой, так как это приводит к тому, что мои читатели сталкиваются с 502 ошибками. В настоящее время мой сайт не загружает разбивку на страницы (нет страницы 2, Страницы 3 и т. Д.).

12/1 Обновление: Сервер apache перезапускался несколько раз сегодня и в прошло 3 часа с момента моего запроса к хост-провайдеру, все, что у меня есть до сих пор, - это то, что они отслеживают это. И он возобновился с тех пор, как они тоже начали мониторинг...

Системный администратор, настроивший сервер, упомянул, что для правильной работы в режиме DSO папки wp-admin, wp-content и wp-plugins необходимо будет изменить на разрешения 777. Единственная проблема в том, что я все еще не смог получить обновление 3.0.2 для работы с этими настройками сегодня (на этот раз ошибка 504 timeout nginx), поэтому Я все еще обеспокоен тем, чтобы вести его таким образом по многим причинам.

Мне сказали, что если я буду работать в режиме PHP (думаю, это правильно?), То я буду загружать больше оперативной памяти запросами и т. Д., И я уже использую 60% в режиме DSO. Для меня это не имеет никакого смысла, потому что мой блог работал немного медленно, но все равно нормально без каких-либо простоев на общем хостинге. Сейчас я нахожусь на очень авторитетном VPS с оперативной памятью 512 МБ, и мой сайт просматривает всего 10-12 тыс. страниц в день.

Ведущий сказал, что они подправили конфигурация для оптимизации оперативной памяти, поэтому я не думаю, что что-то установлено неправильно. Все еще пытаюсь понять, что здесь происходит.

Разработка.....

Author: Jesse Nickles, 2010-11-30

4 answers

Это очень сложный вопрос, я постараюсь сделать все возможное, имейте в виду, что сейчас 4 часа утра, поэтому я просто даю вам основные моменты, а не подробные объяснения.

Linux Я предполагаю, что вы используете последнюю версию Ubuntu

  1. Измените SSH-порт по умолчанию с 22 на что-то другое (/etc/ssh/sshd_config).
  2. Либо включите AllowGroups, либо allowuser в sshd_config,
  3. Установить fail2ban (apt-получить установку fail2ban)
  4. Установите apache2, php5 и mysql-сервер
  5. Отредактируйте /etc/apache2/conf.d/security.conf и внесите соответствующие изменения для рабочего сервера.
  6. Отключите медленный вход запросов в MySQL (вы не хотите, чтобы это было включено в рабочей среде, особенно на VPS)
  7. Настройте системный часовой пояс (dpkg-перенастроить tzdata)
  8. Убедитесь, что ваш php.ini отражает тот же часовой пояс
  9. Добавьте новый виртуальный хост в /etc/apache2/сайты-доступны/ (оставьте один по умолчанию в покое)
    1. Включите этот виртуальный хост с помощью: a2ensite имя нового хост-файла
    2. Включить перезапись модов (перезапись a2enmod)
    3. Перезапустить apache2/etc/init.d/перезапуск apache2

Вы также можете сделать некоторые другие вещи, например, установить Shorewall или UFW для лучшего управления брандмауэром, установить Nginx в качестве обратного прокси-сервера для apache, настроить кэш запросов, но это действительно зависит от целого ряда других вещей, и вам следует настроить настройки mysql после нескольких дней работы в рабочем режиме.

 5
Author: Vid Luther, 2010-11-30 09:42:33

Рискуя не ответить на вопрос (который Vid сделал довольно хорошо), могу ли я предложить вам переключиться на хост VPS, который предлагает вам администрирование системы (обычно бесплатно).

Я думаю о http://hub.org в частности. Марк (парень, который управляет им, и один из первых четырех, кто создал PostgreSQL) - лучший системный администратор, с которым я когда-либо сталкивался.

Панель управления концентратора (это не cPanel) переделывается, когда я пишу это; ее заслуга в том, что показывайте только то, о чем должны беспокоиться конечные пользователи. Остальное, по сути, зависит от открытия билета в службу поддержки и запроса о том, чтобы о нем позаботились. (Конечно, вы можете делать все, что вам заблагорассудится, как root, если вы знаете, как обойти оболочку...)

О, и... Я должен упомянуть, что Марк из тех парней, которые действительно копаются в ваших сценариях и указывают на ошибку, если он подозревает, что именно это вызывает проблемы с сервером. Я не знаю ни одного другого ведущего, который делал бы это...

 2
Author: Denis de Bernardy, 2010-11-30 10:05:52

Некоторые идеи:

Мне не нравится WP-Супер-кэш, потому что он на самом деле не решает проблему медленного времени генерации динамических страниц.

Если у вас есть выделенный сервер только для wordpress, я бы не пошел ни на какие компромиссы:

Nginx+php-fpm (вы также можете использовать Apache с fcgid и suexec (это также решает большинство проблем с разрешениями)

Установите кэш кода операции APC

Используйте серверную часть кэша apc: http://wordpress.org/extend/plugins/apc/

Установите batcache для кэша страниц, он будет использовать серверную часть apc. . Настройте кэш запросов MySQL и посмотрите значение key_buffer, если вы используете таблицы MyISAM или innodb_buffer_pool_size. Если у вас много комментариев/обновлений в вашем блоге, рассмотрите возможность использования InnoDB в качестве механизма хранения.

На интенсивно используемом VPS у меня есть время генерации страниц около 150 мс для динамических страниц (ранее не кэшировавшихся), и если batcache доставит на странице это всего 1 мс. Таким образом, вы можете обслуживать до 200-300 кв/с с "обычным" VPS.

 0
Author: mt_, 2010-11-30 10:37:06

При попытке установить и обновить плагины я постоянно сталкиваюсь с ошибками разрешений.

Это распространенная проблема при запуске PHP в качестве DSO или mod_php. При запуске этой установки файлы WordPress должны принадлежать тому же пользователю, под которым работает PHP. Обычно это будет никто или для www-данных Debian/Ubuntu.

Чтобы исправить весь каталог WordPress, выполните следующие действия из командной строки:

$ chown nobody:nobody blog/ -R

Если WordPress установлен в ваш корневой общедоступный каталог, тогда это будет:

$ chown nobody:nobody public_html/ -R

Вы можете установить права доступа к файлам на 644, а к каталогам - на 755

 0
Author: Chris_O, 2020-06-15 08:21:38