Sebelum kita memulai tutorial teknis, mari kita tinjau terlebih dahulu teknologi yang terlibat dalam panduan Ruby + Passenger + Nginx di CentOS Linux ini.
Ruby adalah bahasa open source yang gesit dan dinamis yang berfokus pada penulisan dan pembacaan kode yang mudah dan alami, sekaligus menjaga sintaksis sederhana yang bagus dan elegan.
Penumpang adalah server aplikasi yang digunakan untuk server aplikasi yang ditulis dalam bahasa Ruby. Untuk membuat aplikasi ruby Anda online, Anda harus mengintegrasikan Penumpang ke server web, dalam kasus kami Nginx tercinta.
Tutorial ini didasarkan pada CentOS 6.x 64 bit tetapi juga harus bekerja pada RHEL 6.x.
Persyaratan
Mari kita instal beberapa alat dev yang mungkin kita perlukan
yum install gcc g++ make automake autoconf curl curl-devel openssl-devel zlib-devel httpd-devel apr-devel apr-util pygpgme yum groupinstall 'Development Tools'
Persyaratan Kernel &Selinux
Jika SELinux diaktifkan, maka Passenger memerlukan kernel>=2.6.39. Jika kernel Anda tidak cukup baru, Anda dapat menonaktifkan Selinux:
nano -w /etc/selinux/config
Kemudian setel SELINUX=disabled dan reboot server Anda.
Atau Anda dapat memperbarui kernel Anda juga, menggunakan dnf
dnf update kernel*
Bagaimana cara menginstal Ruby + Passenger + Nginx di CentOS ?
Menginstal Ruby, Passenger, dan mengintegrasikan Passenger ke dalam Nginx sama sekali tidak sulit, tetapi Anda harus mengikuti langkah-langkahnya dengan cermat dan menganalisis setiap kesalahan jika Anda melihat sesuatu.
Menginstal Ruby
Mari kita instal RVM dan Ruby 2.2.2, jalankan perintah berikut:
curl -L https://get.rvm.io | bash -s stable source /etc/profile.d/rvm.sh rvm install 2.2.2 rvm use 2.2.2 --default
Periksa instalasi Ruby Anda
Sekarang periksa versi ruby Anda, seharusnya 2.2.2
[[email protected]:~]which ruby /usr/local/rvm/rubies/ruby-2.2.2/bin/ruby [[email protected]:~]ruby --version ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-linux]
Pasang Penumpang
gem install passenger
jika itu tidak berhasil atau menunjukkan kesalahan, coba ini:
/usr/local/rvm/rubies/ruby-2.2.2/bin/gem install passenger
Memasang Nginx + Modul Penumpang
wget http://nginx.org/download/nginx-1.11.6.tar.gz tar -xvpzf nginx-1.11.6.tar.gz cd nginx-1.11.6
Mari ambil direktori Nginx di dalam penumpang dan atur variabel global, karena kita akan membutuhkan ini untuk menambahkan dukungan penumpang ke Nginx.
Periksa apa direktori sumber Nginx Anda di dalam instalasi penumpang menggunakan perintah ini:
passenger-config about nginx-addon-dir
Kemudian atur seperti yang Anda lihat di bawah, dalam kasus saya dir sumbernya adalah /src/nginx_module.
PASSENGER_NGINX_DIR=`passenger-config --root`/src/nginx_module
Pastikan Anda memiliki izin yang benar pada direktori /tmp, jika tidak penumpang tidak akan mengompilasi:
chmod 1777 /tmp -v
Sekarang kita akan mengkonfigurasi Nginx dan di akhir baris konfigurasi kita akan menambahkan ini
--add-module=$PASSENGER_NGINX_DIR
Perintah lengkapnya akan terlihat seperti ini. Pastikan Anda menambahkan modul Nginx Anda sendiri yang diperlukan dan mengonfigurasi jalur Anda agar sesuai dengan kebutuhan Anda sendiri, ini hanya contoh umum:
./configure --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --with-http_geoip_module --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module --with-http_auth_request_module --with-mail --with-mail_ssl_module --with-file-aio --with-http_v2_module --with-cc-opt='-O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic' --add-module=$PASSENGER_NGINX_DIR
Kemudian jalankan make dan make install
make make install
Konfigurasikan modul Nginx Penumpang
nano -w /etc/nginx/conf.d/passenger.conf
Tempel ini di dalam:
passenger_root /usr/local/rvm/gems/ruby-2.2.2/gems/passenger-5.0.30; passenger_ruby /usr/local/rvm/rubies/ruby-2.2.2/bin/ruby; passenger_instance_registry_dir /var/run/passenger-instreg;
Aktifkan Rel dan Penumpang di dalam Host Virtual Nginx Anda
Tambahkan dua baris ini di dalam konfigurasi vhost Anda:
passenger_enabled on; rails_env production;
Seharusnya terlihat seperti ini:
### yourdomain.com server { access_log off; log_not_found off; error_log logs/yourdomain.com-error_log info; listen 80; server_name yourdomain.com www.yourdomain.com; # activate passenger & rails support passenger_enabled on; rails_env production;
Mulai ulang Nginx untuk menerapkan perubahan:
service nginx restart
Kesimpulan
Itu saja, pada titik ini Anda harus memiliki Ruby, Passenger, dan Nginx yang berfungsi penuh. Harap beri tahu kami jika Anda memiliki kesalahan atau masalah dengan mengikuti langkah-langkah yang diberikan dalam tutorial ini.
Cara Menyebarkan Ruby + Penumpang + Nginx di CentOS Linux Terakhir diubah:7 Februari 2017 oleh Esteban Borges