2017-01-08 169 views
0

我正在將我的網站從CPanel託管遷移到Amazon EC2。我正在使用Amazon RDS託管我的WordPress數據庫。無法從EC2 wordpress站點連接到Amazon RDS

我遵循以下步驟:

  1. 創造了從舊服務器WordPress的文件的文件夾。
  2. 在RDS中創建數據庫並上傳舊網站的數據庫轉儲。
  3. 編輯wp-config.php文件以更改連接到RDS實例的參數。

雖然一切都很好,但我在瀏覽器中打開我的網站時出現以下錯誤「Error establishing a database connection」。我嘗試更改RDS上的安全組並允許所有用戶,並且還爲MySQL添加了具有數據庫所需權限的用戶。

問題是與RDS的連接沒有建立。我可以從我的EC2實例連接到RDS,但WordPress無法連接到RDS。

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的連接問題。

回答

1

轉到您的AWS設置並查看您打開的端口。 IIRC,大多數都已關閉,您可能必須打開數據庫的端口。

+0

我已經在我的安全設置中打開了所有端口,以確保安全組不會導致問題,但我仍然無法通過wordpress連接到RDS。 –

+1

也許這是wordpress實例上的端口設置。 – Furrowed

0

使用準系統服務器時,您必須自己安裝所有內容。請繼續檢查您的EC2服務器上是否安裝了PHP,Apache和MySQL,否則它將無法工作!

當您在安全組上打開端口時,我希望您也沒有打開EC2/RDS的所有傳入端口 - 兩個安全組都有不同的安全組。

如果網站正在從您的本地主機上運行,​​這意味着RDS也可以接受來自任何地方的傳入連接。理想情況下,爲了保證數據庫安全 - RDS只能接受來自一個IP(您的EC2實例的彈性IP)的傳入連接

乾杯!