GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So stellen Sie Ruby + Passenger + Nginx unter CentOS Linux bereit

Bevor wir mit dem technischen Tutorial beginnen, wollen wir uns zunächst die Technologien ansehen, die in diesem Ruby + Passenger + Nginx-Leitfaden für CentOS Linux enthalten sind.

Ruby ist eine agile, dynamische Open-Source-Sprache, die sich auf einfaches und natürliches Schreiben und Lesen von Code konzentriert und gleichzeitig eine schöne und elegante einfache Syntax beibehält.

Passenger ist ein App-Server, der zum Servern von Apps verwendet wird, die in Ruby-Sprache geschrieben sind. Um Ihre Ruby-Apps online zu bringen, müssen Sie Passenger in einen Webserver integrieren, in unserem Fall unser geliebtes Nginx.

Dieses Tutorial basiert auf CentOS 6.x 64 Bit, sollte aber auch auf RHEL 6.x funktionieren.

Anforderungen

Lassen Sie uns einige Entwicklungstools installieren, die wir möglicherweise benötigen

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'

Kernel- und Selinux-Anforderungen

Wenn SELinux aktiviert ist, erfordert Passenger Kernel>=2.6.39. Wenn Ihr Kernel nicht aktuell genug ist, können Sie Selinux deaktivieren:

nano -w /etc/selinux/config

Setzen Sie dann SELINUX=disabled und starten Sie Ihren Server neu.

Oder Sie können auch Ihren Kernel aktualisieren, indem Sie dnf

verwenden
dnf update kernel*

Wie kann ich Ruby + Passenger + Nginx auf CentOS installieren?

Die Installation von Ruby, Passenger und die Integration von Passenger in Nginx ist überhaupt nicht schwer, aber Sie müssen die Schritte sorgfältig befolgen und jeden Fehler analysieren, wenn Sie etwas sehen.

Ruby installieren

Lassen Sie uns RVM und Ruby 2.2.2 installieren, führen Sie die folgenden Befehle aus:

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

Überprüfen Sie Ihre Ruby-Installation

Überprüfen Sie nun Ihre Ruby-Version, sie sollte 2.2.2 sein

[[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]

Passagier installieren

gem install passenger

Wenn das nicht funktioniert oder einen Fehler anzeigt, versuchen Sie Folgendes:

/usr/local/rvm/rubies/ruby-2.2.2/bin/gem install passenger

Installieren von Nginx + Passagiermodul

wget http://nginx.org/download/nginx-1.11.6.tar.gz
tar -xvpzf nginx-1.11.6.tar.gz
cd nginx-1.11.6

Lassen Sie uns Nginx-Verzeichnis innerhalb von Passenger greifen und die globale Variable festlegen, da wir dies benötigen, um Passenger-Unterstützung in Nginx hinzuzufügen.

Überprüfen Sie mit diesem Befehl, was Ihr Nginx-Quellverzeichnis in der Passagierinstallation ist:

passenger-config about nginx-addon-dir

Stellen Sie es dann so ein, wie Sie unten sehen, in meinem Fall war das Quellverzeichnis /src/nginx_module.

PASSENGER_NGINX_DIR=`passenger-config --root`/src/nginx_module

Stellen Sie sicher, dass Sie die richtigen Berechtigungen für das /tmp-Verzeichnis haben, sonst wird Passenger nicht kompilieren:

chmod 1777 /tmp -v

Wir werden jetzt Nginx konfigurieren und am Ende der Konfigurationszeile dies hinzufügen

--add-module=$PASSENGER_NGINX_DIR

Der vollständige Befehl würde so aussehen. Stellen Sie sicher, dass Sie Ihre eigenen erforderlichen Nginx-Module hinzufügen und Ihre Pfade so konfigurieren, dass sie Ihren eigenen Anforderungen entsprechen. Dies ist nur ein allgemeines Beispiel:

./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

Führen Sie dann make und make install

aus
make
make install

Passagier-Nginx-Modul konfigurieren

nano -w /etc/nginx/conf.d/passenger.conf

Fügen Sie Folgendes ein:

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;

Aktivieren Sie Rails und Passenger in Ihrem virtuellen Nginx-Host

Fügen Sie diese zwei Zeilen in Ihre vhost-Konfiguration ein:

passenger_enabled on;
rails_env production;

Es sollte so aussehen:

### 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;

Starten Sie Nginx neu, um die Änderungen zu übernehmen:

service nginx restart

Schlussfolgerung

Das ist alles, an diesem Punkt sollten Sie Ruby, Passenger und Nginx voll funktionsfähig haben. Bitte teilen Sie uns mit, wenn Sie Fehler oder Probleme mit den Schritten in diesem Tutorial haben.

How to Deploy Ruby + Passenger + Nginx on CentOS Linux wurde zuletzt geändert:7. Februar 2017 von Esteban Borges
Cent OS
  1. So debootstrap auf CentOS Linux

  2. So installieren Sie Ruby auf RHEL 8 / CentOS 8

  3. So sichern Sie Nginx mit Letsencrypt unter Rocky Linux/Centos 8

  4. So installieren Sie Erlang auf Rocky Linux/Alma Linux/CentOS 8

  5. So installieren Sie Linux Dash auf CentOS 6

So installieren Sie Magento 2.1 auf CentOS 7

So installieren Sie Restyaboard auf CentOS 7

So aktualisieren Sie den Linux-Kernel auf CentOS 7

So migrieren Sie CentOS Linux auf Oracle Linux

So installieren Sie Nginx unter CentOS

So installieren Sie Webmin unter CentOS Linux