2015-01-11 5 views
2

Я пытаюсь заставить Wordpress работать на AWS Elastic Beanstalk. Я начинаю с:Использование Wordpress CMS на AWS Elastic Beanstalk - Неисправность развертывания (страница не загружается)

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

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

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

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

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

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

Спасибо!

ответ

2

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

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

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

// 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'); 
} 

В местной-конфигурации.PHP, я только что:

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

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