【问题标题】:Unable to connect to Amazon RDS from EC2 wordpress site无法从 EC2 wordpress 站点连接到 Amazon RDS
【发布时间】:2017-05-22 13:45:06
【问题描述】:

我正在将我的网站从 CPanel 托管迁移到 Amazon EC2。我正在使用 Amazon RDS 来托管我的 WordPress 数据库。

我按照以下步骤操作:

  1. 用旧服务器上的 WordPress 文件创建了一个文件夹。
  2. 在 RDS 中创建了一个数据库并上传了旧站点的数据库转储。
  3. 编辑 wp-config.php 文件以更改参数以连接到 RDS 实例。

虽然一切正常,但在浏览器中打开网站时出现以下错误“Error establishing a database connection”。我尝试更改 RDS 上的安全组并允许所有用户,并在 MySQL 上添加了一个具有数据库所需权限的用户。

问题是未建立与 RDS 的连接。我可以从我的 EC2 实例连接到 RDS,但 WordPress 不能。

我的wp-config.php 看起来像:

/** The name of the database for WordPress */
define('DB_NAME', 'wordpress');

/** MySQL database username */
define('DB_USER', 'db_username');

/** MySQL database password */
define('DB_PASSWORD', 'db_password');

/** MySQL hostname */
define('DB_HOST', 'wordpress-site.something.rds.amazonaws.com:3306');

/** Database Charset to use in creating database tables. */
define('DB_CHARSET', 'utf8');

/** The Database Collate type. Don't change this if in doubt. */
define('DB_COLLATE', '');

编辑:我将本地主机的 wp-config.php 更改为指向 RDS,并且该站点在我的本地主机上运行良好。唯一的问题是来自 EC2 的连接问题。

【问题讨论】:

    标签: php mysql wordpress amazon-ec2 amazon-rds


    【解决方案1】:

    使用准系统服务器时,您必须自己安装所有内容。请继续检查您的 EC2 服务器上是否安装了 PHP、Apache 和 mysql,否则将无法正常工作!

    当您在安全组上打开端口时,我希望您没有同时为 EC2/RDS 打开所有传入端口 - 请为它们设置不同的安全组。

    如果站点在您的本地主机上运行,​​则意味着 RDS 也接受来自任何地方的传入连接。理想情况下,为了确保数据库安全 - RDS 必须只接受来自一个 IP(EC2 实例的弹性 IP)的传入连接

    干杯!

    【讨论】:

      【解决方案2】:

      转到您的 AWS 设置并查看您打开了哪些端口。 IIRC,大多数都关闭了,您可能必须为数据库打开端口。

      【讨论】:

      • 我已经打开了我的安全设置中的所有端口,只是为了确保安全组没有导致问题,但我仍然无法通过 wordpress 连接到 RDS。
      • 可能是wordpress实例上的端口设置。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-05-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多