No commands working in Production

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

On Monday, March 16, 2015 at 4:47:12 PM UTC, Mark Sandford wrote:

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.

Looks like someone was very paranoid about running in production mode -
I’d search the code base for instances of that warning message. It seems
that by default this is included in test_help.rb (generated as part of a
rails app), so it’s possible that’s been required somehow.

Fred

You, sir, are a giant among men.

I assumed the message about running in production was a standard message
whenever running in that environment. Commenting out “require
‘rails/test_help’” in environment.rb did the trick.

Thanks!

Mark