Phusion Passenger atau mod_rails atau mod_rack juga dapat diinstal sebagai modul Nginx, apabila anda menggunakan Nginx sebagai web server untuk aplikasi Ruby on Rails yang sedang anda kembangkan.
Instalasi akan dilakukan pada mesin dengan Operating System CentOS 64 bit, sebagai contoh kasus adalah VPS yang disediakan oleh Magnet Hosting. Harus diperhatikan bahwa langkah berikut dilakukan pada system yang telah memilki instalasi dan konfigurasi Nginx yang telah berjalan dengan baik.
Instalasi Ruby
Berikut software package ruby yang harus diinstall terlebih dahulu;
yum install -y ruby ruby-devel rdoc
Kemudian lakukan kompilasi Ruby Gems dari Rubyforge.
cd /usr/src/ wget wget http://www.magnet-id.com/download/framework/ror/rubygems/rubygems-1.3.3.tgz tar xzvf rubygems-1.3.3.tgz cd rubygems-1.3.3 ruby setup.rb
Juga lakukan instalasi rake dan fastthread
gem install rake gem install fastthread
Instalasi Passenger
Download source file passenger
cd /usr/src/ wget http://www.magnet-id.com/download/Apache/passenger-2.2.2.tar.gz tar xzvf passenger-2.2.2.tar.gz cd passenger-2.2.2 ./bin/passenger-install-nginx-module
Script diatas akan memandu proses instalasi modul passenger, apabila nginx anda disetup dan dikonfigurasi berdasarkan panduan yang ada di http://artikel.magnet-id.com/knowledge-base/vps-knowledge-base/nginx-mysql-php-di-centos-52-64-bit/, silahkan ikuti langkah berikut;
Automatically download and install Nginx? ... Do you want this installer to download, compile and install Nginx for you? 1. Yes: download, compile and install Nginx for me. (recommended) ... 2. No: I want to customize my Nginx installation. (for advanced users) ... Whichever you choose, if you already have an existing Nginx configuration file, then it will be preserved.
Pilih no.2 pada pertanyaan di atas; panduan instalasi akan dilanjutkan, silahkan perhatikan jawaban yang sudah dimasukkan ke dalam teks berikut, sesuai dengan artikel instalasi Nginx;
Where is your Nginx source code located? Please specify the directory: /usr/local/src/nginx-0.6.36 Where do you want to install Nginx to? Please specify a prefix directory [/opt/nginx]: /usr/local/nginx -------------------------------------------- Extra Nginx configure options If you want to pass extra arguments to the Nginx 'configure' script, then please specify them. If not, then specify nothing and press Enter. If you specify nothing then the 'configure' script will be run as follows: ./configure --prefix='/usr/local/nginx' --add-module='/usr/src/passenger-2.2.2/ext/nginx' Extra arguments to pass to configure script: --pid-path=/usr/local/nginx/logs/nginx.pid --sbin-path=/usr/local/sbin/nginx --with-md5=/usr/lib --with-sha1=/usr/lib --with-http_ssl_module --with-http_dav_module --without-mail_pop3_module --without-mail_imap_module --without-mail_smtp_module --------------------------------------------
Apabila kompilasi ulang berhasil, anda akan mendapatkan pesan berikut;
Nginx with Passenger support was successfully installed. Please edit your Nginx configuration file (probably /usr/local/nginx/conf/nginx.conf), and set the passenger_root and passenger_ruby configuration options in the 'http' block, like this: http { ... passenger_root /usr/src/passenger-2.2.2; passenger_ruby /usr/bin/ruby; ... }
Konfigurasi Nginx
Untuk mengaktifkan passenger, silahkan tambahkan direktif
passenger_root /usr/src/passenger-2.2.2; passenger_ruby /usr/bin/ruby;
Di dalam tag http {}
Kemudian di dalam direktif server {} silahkan ditambahkan
root /somewhere/public; # <--- be sure to point to 'public'! passenger_enabled on;