Forked from aghyad/installing_passenger_nginx_ror_on_ubuntu_without_rvm_rbenv
Last active
August 29, 2015 14:07
-
-
Save sahidursuman/4ea77cf6df58860fa7ca to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
When installing passenger, Nginx, Ruby and Rails on Ubuntu 12.04 (without RVM/without rbenv): | |
First: installing Ruby (without RVM): | |
sudo apt-get update | |
sudo apt-get install ruby1.9.1 ruby1.9.1-dev \ | |
rubygems1.9.1 irb1.9.1 ri1.9.1 rdoc1.9.1 \ | |
build-essential libopenssl-ruby1.9.1 libssl-dev zlib1g-dev | |
sudo update-alternatives --install /usr/bin/ruby ruby /usr/bin/ruby1.9.1 400 \ | |
--slave /usr/share/man/man1/ruby.1.gz ruby.1.gz \ | |
/usr/share/man/man1/ruby1.9.1.1.gz \ | |
--slave /usr/bin/ri ri /usr/bin/ri1.9.1 \ | |
--slave /usr/bin/irb irb /usr/bin/irb1.9.1 \ | |
--slave /usr/bin/rdoc rdoc /usr/bin/rdoc1.9.1 | |
# choose your interpreter | |
# changes symlinks for /usr/bin/ruby , /usr/bin/gem | |
# /usr/bin/irb, /usr/bin/ri and man (1) ruby | |
sudo update-alternatives --config ruby | |
sudo update-alternatives --config gem | |
# now try | |
ruby --version | |
Second: installing Rails: | |
gem install rails | |
Third: installing passenger: | |
gem install passenger | |
Forth: installing nginx: | |
Either: | |
sudo /opt/ruby/bin/passenger-install-nginx-module --auto --prefix=/opt/nginx/ --auto-download --extra-configure-flags=--with-http_ssl_module | |
OR: | |
sudo passenger-install-nginx-module | |
Fifth: Use this script for init.d service for Nginx: | |
wget -O init-deb.sh http://library.linode.com/assets/660-init-deb.sh | |
sudo mv init-deb.sh /etc/init.d/nginx | |
sudo chmod +x /etc/init.d/nginx | |
sudo /usr/sbin/update-rc.d -f nginx defaults | |
after that you can control nginx with: | |
sudo /etc/init.d/nginx stop | |
sudo /etc/init.d/nginx start | |
sudo /etc/init.d/nginx restart | |
NOTE: if those commands failed for another process using the same port, do this: | |
passenger-memory-stats | |
and then kill all the processes of nginx to start with a clean slate. | |
At this point, nginx should be running, and you can make sure by visiting you www.MYDOMAIN.com and you'll see a message like "Welcome to Nginx ...." | |
Also you can verify that nginx and passenger are working by checking the processes andtheir status in memory: | |
passenger-memory-stats | |
Sixth: configuring nginx to access your rails app: | |
Using vim, Access the nginx.conf file: | |
vim /opt/nginx/conf/nginx.conf | |
That's the block you need to edit: | |
http { | |
... | |
server { | |
listen 80; | |
server_name www.MYDOMAIN.com; | |
root /path/to/my/rails/app/public; ### MAKE SURE TO POINT TO PUBLIC FOLDER | |
passenger_enabled on; | |
} | |
... | |
### NOW COMMENT THE FOLLOWING BLOCK AND ALL LINES IN BETWEEN: | |
#location / { | |
# root html; | |
# ....... | |
# ..... | |
#} | |
} | |
Save the conf file, then restart nginx | |
sudo /etc/init.d/nginx restart | |
Also if you have a rails app already deployed, it doesn't hurt to restart it by doing: | |
touch /pathtorailsapp/tmp/restart.txt | |
======================== | |
Sources: | |
https://www.digitalocean.com/community/articles/how-to-install-rails-and-nginx-with-passenger-on-ubuntu | |
http://ivanvanderbyl.github.io/2011/01/14/rails-nginx-passenger-ubuntu.html | |
http://www.modrails.com/documentation/Users%20guide%20Nginx.html#_deploying_to_a_virtual_host_8217_s_root | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment