GNU/Linux >> Belajar Linux >  >> Cent OS

Cara Menyebarkan Ruby + Penumpang + Nginx di CentOS Linux

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
Cent OS
  1. Cara debootstrap di CentOS Linux

  2. Cara Mengamankan Nginx dengan Letsencrypt di Rocky Linux/Centos 8

  3. Cara menginstal Erlang di Rocky Linux/Alma Linux/CentOS 8

  1. Cara menginstal ruby ​​​​pada RHEL 8 / CentOS 8

  2. Cara menginstal VirtualBox di CentOS 8 Linux

  3. Cara Menginstal Dash Linux di CentOS 6

  1. Cara menginstal Skype di CentOS 8 Linux

  2. Cara Menginstal Nginx di CentOS 7

  3. Cara menggunakan Mattermost di CentOS 7