Использование Wordpress CMS на AWS Elastic Beanstalk — проблемы с развертыванием (страница не загружается)

Я пытаюсь запустить Wordpress на AWS Elastic Beanstalk. Я начинаю с:

  • Набор файлов Wordpress 4.1 (с некоторыми дополнительными плагинами и т.д.)
  • Среда на AWS Elastic Beanstalk (назовем ее app-dev)
  • База данных MySQL, работающая на AWS RDS
  • Локальный сервер, работающий с использованием MAMP

Я могу успешно запустить приложение локально. Я запускаю сервер, указываю ему каталог WP и могу получить к нему доступ. Я просматриваю экраны настройки WP, подключаю информацию о своей базе данных, устанавливаю WP, и все работает нормально в сочетании с базой данных. Это также генерирует мой файл wp-config.php.

Теперь, когда я использую инструменты командной строки Elastic Beanstalk, чтобы попытаться развернуть приложение в среде разработки приложений (путем создания репозитория git, использования eb init и eb deploy), результат я получаю на app-dev. elasticbeanstalk.com — это всего лишь проблема «Эта веб-страница недоступна». Интересно, что если я захожу на app-dev.elasticbeanstalk.com/wp-admin, он автоматически перенаправляет меня на страницу localhost:8888/wp-admin. Это заставляет меня думать, что я делаю что-то не так, когда устанавливаю wp-config - он что-то делает, чтобы связать его со ссылками localhost:8888.

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

Я попытался получить информацию из следующих руководств, особенно в отношении их локальной и производственной настройки (т. Е. Все, что связано с файлом local-config.php), но каждый вариант того, что я пробовал, не был лучше Результаты.

Я склонен думать, что неправильно понимаю некоторые базовые понятия о том, как работает установка WP и что она делает во время установки. Может ли кто-нибудь указать мне в правильном направлении или попытаться описать это для меня?

Спасибо!


person Tadas Antanavicius    schedule 11.01.2015    source источник


Ответы (1)


Догадаться. Оказывается, я просто не учел несколько переменных, которые WP устанавливает при установке WP — URL-адрес, связанный с установкой. Таким образом, в этом случае WP указывал на мои ссылки на локальный хост, даже когда я выполнял развертывание на сервере.

Простое исправление состоит в том, чтобы перейти в WordPress, «Настройки»> «Общие» и изменить URL-адреса Wordpress Address и Site Address, чтобы они отражали URL-адрес сервера, а не ваш локальный URL-адрес. Вы должны сделать это прямо перед развертыванием, потому что после того, как вы его измените, вы больше не сможете получить к нему доступ через локальный хост.

Более полное исправление заключается в настройке вашего файла wp-config.php для учета этого. Эти два поля соответствуют переменным WP_HOME и WP_SITEURL. Для моей настройки (в которой я использовал ветвление git, чтобы различать код разработки и рабочий код), я использовал это:

// Check for a local config file
if ( file_exists( dirname( __FILE__ ) . '/local-config.php' ) ) {
   define( 'WP_LOCAL_DEV', true );
   include( dirname( __FILE__ ) . '/local-config.php' );
} else {
  define( 'WP_LOCAL_DEV', false );
  define('WP_HOME','http://myserverurl.com');
  define('WP_SITEURL','http://myserverurl.com');
}

В local-config.php у меня было только что:

<?php define('WP_HOME','http://localhost:8888'); 
define('WP_SITEURL','http://localhost:8888'); ?>

Я указал local-config.php в .gitignore, что означало, что всякий раз, когда я развертывал, local-config.php не включался, и при попытке запуска на сервере использовались правильные переменные.

person Tadas Antanavicius    schedule 12.01.2015