I’m having an issue getting my app to start up in production. After
spending a lot of time trying to troubleshoot differences between
production and development servers, I set up a clean Ubuntu 14.04 server
on
EC2. Everything runs fine in the development environment, but as soon
as I
try to do anything in the production environment, it fails immediately
with
no errors and no logs (that I can find). See below for what I’m getting
on
the command line when trying to start the server or create the database.
Starting server in Development:
ubuntu@ip-172-31-27-6:~/myapp$ rails s puma -b
ec2-54-173-179-250.compute-1.amazonaws.com
=> Booting Puma
=> Rails 4.2.0 application starting in development on
http://ec2-54-173-179-250.compute-1.amazonaws.com:3000
=> Run rails server -h
for more startup options
=> Ctrl-C to shutdown server
Puma 2.11.1 starting…
- Min threads: 0, max threads: 16
- Environment: development
- Listening on tcp://ec2-54-173-179-250.compute-1.amazonaws.com:3000
*Starting server in *Production:
ubuntu@ip-172-31-27-6:~/myapp$ rails s puma -b
ec2-54-173-179-250.compute-1.amazonaws.com -e production
=> Booting Puma
=> Rails 4.2.0 application starting in production on
http://ec2-54-173-179-250.compute-1.amazonaws.com:3000
=> Run rails server -h
for more startup options
=> Ctrl-C to shutdown server
Abort testing: Your Rails environment is running in production mode!
Exiting
ubuntu@ip-172-31-27-6:~/myapp$
Creating DB in Development
ubuntu@ip-172-31-27-6:~/myapp$ RAILS_ENV=development rake db:create
db:schema:load
– enable_extension(“plpgsql”)
→ 0.0241s
– create_table(“clients”, {:force=>:cascade})
→ 0.0195s
– add_index(“clients”, [“user_id”], {:name=>“index_clients_on_user_id”,
:using=>:btree})
→ 0.0071s
– create_table(“pieces”, {:force=>:cascade})
→ 0.0134s
– add_index(“pieces”, [“user_id”], {:name=>“index_pieces_on_user_id”,
:using=>:btree})
→ 0.0075s
– create_table(“rentals”, {:force=>:cascade})
→ 0.0065s
– add_index(“rentals”, [“client_id”],
{:name=>“index_rentals_on_client_id”, :using=>:btree})
→ 0.0063s
– add_index(“rentals”, [“piece_id”],
{:name=>“index_rentals_on_piece_id”,
:using=>:btree})
→ 0.0065s
– create_table(“users”, {:force=>:cascade})
→ 0.0111s
– add_index(“users”, [“email”], {:name=>“index_users_on_email”,
:unique=>true, :using=>:btree})
→ 0.0057s
– add_foreign_key(“clients”, “users”)
→ 0.0032s
– add_foreign_key(“pieces”, “users”)
→ 0.0020s
– initialize_schema_migrations_table()
→ 0.0140s
Started
0/0:
[==================================================================================================]
100% Time: 00:00:00, Time: 00:00:00
Creating DB in Production:
ubuntu@ip-172-31-27-6:~/myapp$ RAILS_ENV=production rake db:create
db:schema:load
Abort testing: Your Rails environment is running in production mode!
ubuntu@ip-172-31-27-6:~/myapp$
In this case, the production database is created, but the tables aren’t.
Basically, running any command seems to stop after getting the message
“Abort testing: Your Rails environment is running in production mode!”
I’ve tried pointing to the already-created dev database in database.yml
and running the server, but I get the same problem. I’ve tried using
WEBrick, puma and unicorn. All end up with the same issue. I even
copied
environments/development.rb to environments/production.rb, with no luck.
I’m new to RoR and this kind of development environment. I don’t even
know
where to begin troubleshooting this, so any help would be appreciated.
Thanks
Mark