在 AWS Elastic Beanstalk 上使用 Wordpress CMS - 部署时遇到问题(页面未加载)
Using Wordpress CMS on AWS Elastic Beanstalk - Trouble deploying (page doesn't load)
我正在尝试在 AWS Elastic Beanstalk 上获取 Wordpress 运行。我开始于:
- 一组 Wordpress 4.1 文件(带有一些额外的插件等)
- AWS Elastic Beanstalk 上的一个环境(我们称之为 app-dev)
- AWS RDS
上的 MySQL 数据库 运行
- 本地服务器 运行 使用 MAMP
我可以成功让应用程序在本地运行。我启动服务器,将它指向 WP 目录,然后就可以访问它了。我通过 WP 设置屏幕,插入我的数据库信息,安装 WP,一切都与数据库一起工作正常。这也会生成我的 wp-config.php 文件。
现在,当我使用 Elastic Beanstalk 命令行工具尝试将应用程序部署到应用程序开发环境时(通过制作 git 存储库,使用 eb init 和 eb deploy),我在 app-dev.elasticbeanstalk.com 上得到的结果只是一个 "This webpage is unavailable" 问题。有趣的是,如果我转到 app-dev.elasticbeanstalk.com/wp-admin,它会自动将我重定向到 localhost:8888/wp-admin 页面。这让我觉得我在设置 wp-config 时做错了什么 - 它正在做一些事情 link 它回到 localhost:8888 links。
我尝试不在本地进行 WP 设置,只是部署到服务器并在那里进行设置,但是在我点击设置后,它奇怪地重新引导我在 [=44 上再次尝试设置=].所以我觉得这是错误的方法。
我尝试从以下教程中获得见解,特别是关于它们的本地设置与生产设置(即与本地-config.php 文件有关的所有内容),但我的每一个变体我试过没有更好的结果。
- https://www.otreva.com/blog/deploying-wordpress-amazon-web-services-aws-ec2-rds-via-elasticbeanstalk/
- http://slicenpress.com/how-we-manage-sites-with-beanstalk/
我倾向于认为我误解了一些关于 WP 安装程序如何工作以及它在安装过程中做了什么的基本概念。谁能给我指出正确的方向,或者试着为我描述一下?
谢谢!
想通了。事实证明,我只是没有考虑安装 WP 时 WP 设置的一些变量 - URL 与安装相关联。所以在这种情况下,WP 指向我的本地主机链接,即使我部署到服务器也是如此。
直接的解决方法是转到 WordPress,设置 > 常规,然后更改 Wordpress 地址和站点地址 URLs 以反映服务器 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');
}
在本地-config.php,我刚刚有:
<?php define('WP_HOME','http://localhost:8888');
define('WP_SITEURL','http://localhost:8888'); ?>
我在 .gitignore 中列出了 local-config.php,这意味着每当我部署时,local-config.php 都不包括在内,并且在尝试 [= =32=] 在服务器上。
我正在尝试在 AWS Elastic Beanstalk 上获取 Wordpress 运行。我开始于:
- 一组 Wordpress 4.1 文件(带有一些额外的插件等)
- AWS Elastic Beanstalk 上的一个环境(我们称之为 app-dev)
- AWS RDS 上的 MySQL 数据库 运行
- 本地服务器 运行 使用 MAMP
我可以成功让应用程序在本地运行。我启动服务器,将它指向 WP 目录,然后就可以访问它了。我通过 WP 设置屏幕,插入我的数据库信息,安装 WP,一切都与数据库一起工作正常。这也会生成我的 wp-config.php 文件。
现在,当我使用 Elastic Beanstalk 命令行工具尝试将应用程序部署到应用程序开发环境时(通过制作 git 存储库,使用 eb init 和 eb deploy),我在 app-dev.elasticbeanstalk.com 上得到的结果只是一个 "This webpage is unavailable" 问题。有趣的是,如果我转到 app-dev.elasticbeanstalk.com/wp-admin,它会自动将我重定向到 localhost:8888/wp-admin 页面。这让我觉得我在设置 wp-config 时做错了什么 - 它正在做一些事情 link 它回到 localhost:8888 links。
我尝试不在本地进行 WP 设置,只是部署到服务器并在那里进行设置,但是在我点击设置后,它奇怪地重新引导我在 [=44 上再次尝试设置=].所以我觉得这是错误的方法。
我尝试从以下教程中获得见解,特别是关于它们的本地设置与生产设置(即与本地-config.php 文件有关的所有内容),但我的每一个变体我试过没有更好的结果。
- https://www.otreva.com/blog/deploying-wordpress-amazon-web-services-aws-ec2-rds-via-elasticbeanstalk/
- http://slicenpress.com/how-we-manage-sites-with-beanstalk/
我倾向于认为我误解了一些关于 WP 安装程序如何工作以及它在安装过程中做了什么的基本概念。谁能给我指出正确的方向,或者试着为我描述一下?
谢谢!
想通了。事实证明,我只是没有考虑安装 WP 时 WP 设置的一些变量 - URL 与安装相关联。所以在这种情况下,WP 指向我的本地主机链接,即使我部署到服务器也是如此。
直接的解决方法是转到 WordPress,设置 > 常规,然后更改 Wordpress 地址和站点地址 URLs 以反映服务器 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');
}
在本地-config.php,我刚刚有:
<?php define('WP_HOME','http://localhost:8888');
define('WP_SITEURL','http://localhost:8888'); ?>
我在 .gitignore 中列出了 local-config.php,这意味着每当我部署时,local-config.php 都不包括在内,并且在尝试 [= =32=] 在服务器上。