Я действительно близок к тому, чтобы в Amazon Opsworks было развернуто простое приложение Rails - с использованием экземпляра EC2 под управлением Phusion Passenger и экземпляра RDS для сервера базы данных (на нем работает mySQL). Код приложения взят из моего Git Repo.
Вот проблема.
Экземпляр EC2 будет обслуживать мою статическую домашнюю страницу ROR - файл public/index.html, поэтому я знаю, что приложение там и обслуживается.
Проблема возникает, когда я пытаюсь выполнить HTTP GET для извлечения представлений ресурсов из базы данных.
Вот точный код ошибки:
«Не удается подключиться к локальному серверу MySQL через сокет '/var/lib/mysql/mysql.sock' (2) (Mysql2::Error)»
Я предполагаю, что он пытается подключиться к локальному серверу MySQL на моем ноутбуке через сокет, вместо того, чтобы пытаться подключиться к экземпляру Amazon RDS (серверу базы данных MySQL), который я указал в файле database.yml.
Вот мой database.yml:
development:
adapter: mysql2
encoding: utf8
database: *********_development
pool: 5
username: ****
password: ****
socket: /tmp/mysql.sock
host: localhost
test:
adapter: mysql2
encoding: utf8
database: ********_test
pool: 5
username: ********
password: ****
socket: /tmp/mysql.sock
host: localhost
production:
adapter: mysql2
encoding: utf8
database: *****
username: ******
password: *****
host: ***dbinstance.*********.us-west-2.rds.amazonaws.com
port: 3306
Как я могу заставить приложение rails использовать производственную базу данных, указанную в database.yml, вместо того, чтобы всегда пытаться подключиться к локальной базе данных?