Как создать URL-адрес в wordpress, который вернет код 200?

Это зависит от использования, и сколько необходимо будет масштабировать. Вертикальное масштабирование (добавляющий ЦП и память) в VMware только идет до сих пор. Несколько копий O/S в памяти не обязательно применяются, потому что VMware совместно использует память между VMs.

[примечание стороны]: ссылки http не работают по некоторым причинам, таким образом, вот ссылка на маленькое описание о памяти, совместно использующей: http://www.cdhtalkstech.com/2008/11/03/memory-sharing-–-vmware-has-it-and-the-others-don’t-part-1/

Мне любопытно, почему Вы развертываете кластер SQL через два хоста ESX? У Вас есть VirtualCenter? Так, для подведения, это, выполняя 3 DBS на единственном VM хорошо, пока Вы не должны масштабироваться. Я затем рассмотрел бы разделение их, и возможно поместил бы мои хосты ESX в кластер и включил бы HA, DRS и возможно отказоустойчивость.:D

Удачи!

7
задан 17 January 2017 в 12:32
5 ответов

Вы можете использовать главную страницу установки WordPress для проверки работоспособности. Это самый надежный индикатор того, что сайт WordPress доступен.

9
ответ дан 2 December 2019 в 23:25

Я использовал/favico.ico, больше Походит на взлом, но если Wordpress не работает, Вы становитесь 5xx ошибка иначе 200 (установка wizzard / уже установленными)

0
ответ дан 2 December 2019 в 23:25
​​

Что бы это ни стоило, мне пришлось настроить сайт WordPress в контейнере и пройти проверку работоспособности, прежде чем я смог даже направить на него трафик. Предложения для «первой страницы» работают только ПОСЛЕ установки WordPress через браузер. До этого они возвращают код состояния 302 на /wp-admin/install.php . Я покопался в папках контейнера и решил использовать /wp-includes/images/blank.gif в качестве пути проверки работоспособности. Это позволило успешно выполнить проверку работоспособности и начать маршрутизацию трафика в контейнер. Оттуда я установил WordPress через браузер и смог изменить путь проверки работоспособности обратно на / .

3
ответ дан 2 December 2019 в 23:25

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

Моя проблема с принятым ответом заключается в том, что предлагается использовать домашнюю страницу в качестве проверки работоспособности. В зависимости от вашего сайта это может быть нормально, но я не вижу необходимости запрашивать БД при проверке работоспособности. Даже если соединение с БД не удается, экземпляр все еще технически исправен. например Если ваш кластер RDS выйдет из строя, на домашней странице отобразится ошибка БД, которая выдаст 500 , поэтому вы можете запускать автоматическое масштабирование без необходимости. Проверка работоспособности должна только проверить приложение и убедиться, что оно правильно настроено.

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

Я использую эту простую проверку работоспособности ( _healthCheck.php ):

<?php
/**
 * Check if basic WordPress structure is in place
 * This is to be used for load balancer health checks
 */

// Checks
define('WORDPRESS_CONFIG', __DIR__ . DIRECTORY_SEPARATOR . 'wp-config.php');
define('WORDPRESS_DIRECTORY', __DIR__ . DIRECTORY_SEPARATOR . 'wordpress');
define('WP_CONTENT_DIRECTORY', __DIR__ . DIRECTORY_SEPARATOR . 'wp-content');


// Health Check Flags
$_healthCheckStatus = true;
// Will stop the while loop
$_healthCheckCompleted = false;

// Just to be safe
try {
    // DoWhile loop here to simplify kicking out on a false $_healthCheckStatus
    do {
        // Check if wp-config exists
        if (!file_exists(WORDPRESS_CONFIG)) {
            $_healthCheckStatus = false;
        }

        // Make sure we have required directories
        $_healthCheckStatus = _dirIsValidAndNotEmpty(WORDPRESS_DIRECTORY);
        $_healthCheckStatus = _dirIsValidAndNotEmpty(WP_CONTENT_DIRECTORY);

        // Checks are complete, kick out the loop
        $_healthCheckCompleted = true; // Just say no to infinity and beyond
    } while (false === $_healthCheckCompleted && true === $_healthCheckStatus);
} catch (\Exception $e) {
    // Health check fails
    $_healthCheckStatus = false;
}

// If a bad healthcheck, return 404 to tell the load balancer we suck
if (false === $_healthCheckStatus) {
    header("HTTP/1.0 404 Not Found");
    ?>
    <html>
    <body><h1>Health is bad</h1></body>
    </html>
    <?php
    die();
} else {
    ?>
    <html>
    <body><h1>Health appears good</h1></body>
    </html>
    <?php
}

/**
 * Validates a directory and ensures it's not empty
 * @param string $dir
 * @return bool
 */
function _dirIsValidAndNotEmpty($dir) {
    // Make sure we have a directory
    if (is_dir($dir)) {
        // Make sure it's not empty
        $_dirIsNotEmpty = (new \FilesystemIterator($dir))->valid();
        if ($_dirIsNotEmpty) {
            return true;
        }
    }

    return false;
}

Несколько замечаний:

  • Я всегда устанавливаю WordPress в каталог wordpress .
    • Это значительно упрощает поддержку проекта в Git, поскольку вы можете просто игнорировать каталог wordpress .
  • Поскольку у меня есть WordPress в его собственном каталоге, мне нравится использовать свой собственный wp-content , чтобы упростить управление проектами.
  • Вы можете легко изменить это для своих нужд.

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

2
ответ дан 18 March 2020 в 16:10

На случай, если это поможет, я создал очень простой плагин WordPress, который предоставляет конечную точку проверки работоспособности, сопоставленную с /health.

Вы можете найти подключаемый модуль Health Endpoint по следующей ссылке: https://wordpress.org/plugins/health-endpoint/

1
ответ дан 21 September 2020 в 06:58

Теги

Похожие вопросы