Panduan ini mengajarkan bagaimana Anda bisa menyebarkan aplikasi Anda ke server. Panduan ini mengasumsikan bahwa Anda telah melakukan hal berikut, dan Anda tahu cara melakukannya:
Penumpang dan Nginx sudah terinstal di server.
Anda telah mentransfer kode aplikasi ke server.
Anda telah menginstal Ruby.
Anda telah menginstal semua dependensi yang diperlukan yang dibutuhkan aplikasi Anda.
Jika Anda melewatkan salah satu prasyarat ini atau tidak tahu bagaimana cara melakukannya, sebaiknya Anda mengikuti tutorial Penerapan. Tutorial penyebaran adalah panduan dari ujung ke ujung dan mengajarkan cara memasang setiap komponen.
passenger-config about ruby-command passenger-config was invoked through the following Ruby interpreter: Command: /usr/local/rvm/gems/ruby-2.3.3/wrappers/ruby Version: ruby 2.3.3p85 (2015-02-26 revision 49769) [x86_64-linux]
Harap perhatikan jalur setelah “Command” (dalam contoh ini, /usr/local/rvm/gems/ruby-2.3.3/wrappers/ruby). Anda akan membutuhkannya di salah satu langkah selanjutnya.
Deploying an app to a virtual host’s root
Untuk menerapkan aplikasi ke jalur akar virtual Nginx, langkah-langkah berikut harus dilakukan:
Tambahkan entri host virtual (blok server) ke file konfigurasi Nginx Anda.
Akar blok server harus mengarah ke subdirektori publik aplikasi Anda.
Anda juga harus mengatur passenger_enabled di blok server.
Berikut adalah contohnya:
server { listen 80; server_name yourserver.com; # Tell Nginx and Passenger where your app's 'public' directory is root /path-to-app/public; # Turn on Passenger passenger_enabled on; passenger_ruby /path-to-ruby; }
Ganti yourserver.com dengan nama host server Anda, dan ganti / path-to-app dengan jalur direktori kode aplikasi Anda. Namun, pastikan Nginx dikonfigurasi untuk menunjuk ke subdirektori publik di dalamnya!
Ganti / path-to-ruby dengan perintah Ruby yang Anda dapatkan di Tentukan perintah Ruby yang harus digunakan Penumpang.
Setelah selesai, restart Nginx. Jika Anda menginstal Nginx melalui paket Debian atau RPM kami:
sudo service nginx restart
Jika tidak, jika Anda menginstal Nginx dari sumber dan tidak memiliki skrip init:
sudo kill $(cat /opt/nginx/logs/nginx.pid) $ sudo /opt/nginx/sbin/nginx
Kamu sekarang sudah selesai Jika Anda menemui masalah, lihat panduan mengatasi masalah.
Deploying an app to a sub-URI or subdirectory
http { ... server { listen 80; server_name www.phusion.nl; root /websites/phusion/public; passenger_enabled on; } }
Dan Anda ingin aplikasi Anda, terletak di / websites / secondapp, agar dapat diakses dari URL http://www.phusion.nl/subpath. Untuk melakukan ini, Anda perlu melakukan hal berikut:
Buat lokasi dengan parameter ~ ^ / <SUBURI> (/.* | $). Ini adalah ekspresi reguler yang mengatakan: “cocokkan semuanya dengan tepat, atau dimulai dengan /”.
Di dalam blok lokasi, set alias <PATH TO YOUR APPLICATION PUBLIC SUBDIRECTORY> $ 1.
Di dalam blok lokasi, atur passenger_base_uri <SUBURI>.
Di dalam blok lokasi, atur passenger_app_root <PATH TO YOUR APPLICATION ROOT>.
Di dalam blok lokasi, atur passenger_document_root <PATH TO YOUR APPLICATIOS PUBLIC SUBDIRECTORY>.
Di dalam blok lokasi, set app_type dan startup_file sesuai.
Berikut adalah contohnya:
http { ... server { listen 80; server_name www.phusion.nl; root /websites/phusion/public; passenger_enabled on; # This block has been added. location ~ ^/subpath(/.*|$) { alias /websites/secondapp/public$1; # <-- be sure to point to 'public'! passenger_base_uri /subpath; passenger_app_root /websites/secondapp; passenger_document_root /websites/secondapp/public; passenger_enabled on; } } }
Setelah selesai, restart Nginx. Jika Anda menginstal Nginx melalui paket Debian atau RPM kami:
sudo service nginx restart
Jika tidak, jika Anda menginstal Nginx dari sumber dan tidak memiliki skrip init:
sudo kill $(cat /opt/nginx/logs/nginx.pid) $ sudo /opt/nginx/sbin/nginx
You are now done. If you run into any problems, please refer to the troubleshooting guide.