Ruby on Rails with Apche
Web Server for Rails
In Rails, we can use WEBrick for development use.
This is basically development use.
If we can use Apache, we can use Apache features and take better performance.
Preparation
I tried following environments
- Ubuntu 15.10
- Rail 4.2.3
- Ruby 2.3.0
- passenger
passenger : Phusionpassenger
I created rbenv environment for it. Please see other entry. rbenv
Install rails and passeneger
gem install rails gem install passenger
We need some dependencies to install rails, please follow your result to run these commands
Start passenger and clear dependencies
passenger-install-apache2-module
Install all dependencies for passenger, if you have error, please follow
The final results show apache configuration for Ruby. Please memo and add them to
/etc/apache2/apache2.conf
#Passenger LoadModule passenger_module /home..... <IfModule mod_passenger.c> PassengerRoot PassengerDefaultRuby </IfModule>
/home … is your directory.
That’s all for Apache module settings. Next is rails
Create vhost
Please take a look other entry Apache Ubuntu vhost
Copy rails project under vhost
To run with PRODUCTION environment, please be careful two things
- Need secret key for production with config/secret.yml
- root routes
We need root routing in config/routes.rb, for development index.html was created by default, but not for production
If you want to check run, use WEBrick and it works or not
rails server -e production
After test, and stop WEBrick.
O.K. That’s all for setting. Restart
Restart
Please restart Apache
sudo service apache2 restart