Cara menginstal beberapa versi php dengan nginx di ubuntu 18.04 & 16.04

Cara menginstal beberapa versi php dengan nginx di ubuntu 18.04 & 16.04

Secara umum, Web Hosting Manager menggunakan server terpisah untuk setiap penyebaran aplikasi versi PHP. Yang meningkatkan biaya hosting. Atau, Anda dapat menjalankan beberapa wadah Docker untuk beberapa versi PHP.

Tutorial ini membantu Anda dengan instalasi dan konfigurasi dua virtualhost di server web nginx dengan versi php yang berbeda. VirtualHost pertama akan bekerja dengan PHP 5.6 dan virtualhost lainnya akan berjalan dengan PHP 7.2. Jadi lakukan saja tutorial ini. Anda juga dapat menggunakan lebih dari dua versi PHP dengan NginX sesuai kebutuhan tetapi tutorial ini hanya mencakup dua.

Instalasi PHP

Untuk pemasangan versi PHP, kami menggunakan PPA yang dikelola di sini. Gunakan beberapa perintah di bawah ini untuk menambahkan PPA ke sistem Anda.

sudo apt menginstal python-software-properties sudo add-apt-repository PPA: ondrej/php 

Untuk tutorial ini, saya menggunakan Php 5.6 dan php 7.2 Untuk mengonfigurasinya dengan server web nginx. Untuk menggunakan beberapa versi PHP, kami akan menggunakan PHP FPM dan FastCGI. Mari kita instal paket berikut di sistem Anda.

Perbarui sudo apt apt instal php5.6 Php5.6-fpm sudo apt instal php7.2 php7.2-fpm 

Anda mungkin juga perlu menginstal modul php tambahan. Untuk tutorial, hanya paket di atas yang diperlukan.

Setelah instalasi, layanan PHP-FPM akan dimulai secara otomatis. Gunakan perintah berikut untuk memastikan kedua layanan sedang berjalan.

Sudo Systemctl Status Php5.6-fpm sudo systemctl status php7.2-fpm 
  • Direkomendasikan: Cara Mengaktifkan/Nonaktifkan Modul PHP di Ubuntu

Instalasi Nginx

Server web nginx adalah paket tersedia di repositori resmi Ubuntu. Luncurkan Terminal di sistem Anda atau login dengan SSH untuk sistem jarak jauh. Jalankan perintah berikut untuk menginstal versi terbaru yang tersedia dari server web Nginx.

sudo apt update sudo apt install nginx 

Konfigurasi nginx

Bersiaplah untuk konfigurasi situs web di server nginx. Untuk tujuan pengujian, saya mengkonfigurasi dua situs web untuk bekerja dengan dua versi PHP yang berbeda-2. Pertama, buat dua direktori di server Anda.

sudo mkdir/var/www/php56 sudo mkdir/var/www/php72 

Sekarang, buat dan indeks.php berisi phpinfo () fungsi.

echo "">/var/www/php56/index.php echo "">/var/www/php72/index.php 

Setelah itu membuat blok server untuk kedua situs di nginx. Versi terbaru dari Nginx menyimpan file konfigurasi blok server di bawah/etc/nginx/direktori yang tersedia situs. Buat file untuk host virtual pertama dan edit di editor teks favorit Anda.

sudo vim/etc/nginx/situs-tersedia/php56.contoh.com 

Tambahkan konten berikut. Pastikan untuk menggunakan SERVERName dan jalur direktori yang benar sesuai dengan pengaturan Anda. Situs web ini dikonfigurasi untuk bekerja dengan PHP 5.6.

# Aplikasi dengan PHP 5.6 # Server Listen 80; root/var/www/php56; Indeks Indeks.PHP; server_name php56.contoh.com; Lokasi ~* \.php $  # dengan php-fpm soket unix fastcgi_pass unix:/var/run/php/php5.6-fpm.kaus kaki; Sertakan fastcgi_params; fastcgi_param script_filename $ document_root $ fastcgi_script_name; fastcgi_param script_name $ fastcgi_script_name;  

Demikian pula, buat file konfigurasi VirtualHost kedua untuk bekerja dengan PHP 7.2. Edit file konfigurasi di editor teks:

sudo vim/etc/nginx/situs-tersedia/php72.contoh.com 

Tambahkan konten berikut untuk mengajukan dengan nama servername dan documentroot yang tepat.

# Aplikasi dengan PHP 7.2 # server Listen 80; root/var/www/php72; Indeks Indeks.PHP; server_name php72.contoh.com; Lokasi ~* \.php $  # dengan php-fpm soket unix fastcgi_pass unix:/var/run/php/php7.2-fpm.kaus kaki; Sertakan fastcgi_params; fastcgi_param script_filename $ document_root $ fastcgi_script_name; fastcgi_param script_name $ fastcgi_script_name;  

Baiklah, Anda telah membuat kedua situs web di nginx Anda. Tapi mereka masih belum aktif. Nginx menjaga situs aktif di bawah/etc/nignx/direktori yang diaktifkan situs. Anda cukup membuat tautan simbolik untuk kedua file konfigurasi ke direktori ini atau menggunakan perintah di bawah ini untuk melakukan hal yang sama.

sudo ln -s/etc/nginx/situs -tersedia/php56.contoh.com/etc/nginx/Situs-Enabled/sudo ln -s/etc/nginx/situs-tersedia/php72.contoh.com/etc/nginx/Situs-Enabled/ 

Setelah membuat semua perubahan restart nginx untuk memuat ulang perubahan pengaturan baru.

Sudo Systemctl restart nginx.melayani 

Pengaturan Anda telah selesai sekarang. Pergi ke langkah berikutnya untuk menguji pengaturan Anda.

Pengaturan tes

Semua selesai. Anda dapat mengakses kedua situs di browser web favorit Anda . Anda akan melihatnya php56.contoh.com menunjukkan versinya PHP 5.6 Dan php72.contoh.com menunjukkan PHP 7.2 sebagai konfigurasi.

Selamat, sistem Anda siap meng -host situs web dengan versi PHP yang berbeda. Selamat hosting.