Nginx adalah server HTTP gratis, open-source, berkinerja tinggi. Nginx dikenal dengan stabilitasnya, rangkaian fitur yang kaya, konfigurasi sederhana, dan konsumsi sumber daya yang rendah.
Tutorial ini menunjukkan cara menginstal Nginx di CentOS 7 / RHEL 7 dengan dukungan PHP (melalui PHP-FPM) dan dukungan MariaDB.
PHP-FPM adalah implementasi PHP FastCGI alternatif, dan memiliki beberapa fitur tambahan yang berguna untuk situs dari berbagai ukuran, terutama situs yang lebih sibuk).
Instal Linux
Berikut adalah artikel tentang Langkah demi Langkah instalasi CentOS 7 / RHEL 7.
Sekarang Anda memiliki Linux, dan selanjutnya adalah menginstal Apache, MySQL, dan PHP di dalamnya. Mari kita instal satu per satu.
Hal pertama yang perlu Anda lakukan adalah login sebagai pengguna root atau beralih ke pengguna root.
$ su
Instal Nginx
Instal rpm repositori Nginx untuk mengunduh Nginx dari situs resmi.
### CentOS 7 ### rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm ### RHEL 7 ### rpm -Uvh http://nginx.org/packages/rhel/7/noarch/RPMS/nginx-release-rhel-7-0.el7.ngx.noarch.rpm
Instal Nginx menggunakan perintah berikut.
yum -y install nginx
Mulai layanan Nginx setelah instalasi.
systemctl start nginx
Firewall
Jalankan perintah berikut di terminal untuk mengizinkan permintaan HTTP melalui firewall.
firewall-cmd --permanent --add-service=http firewall-cmd --reload
SELinux
Jika Anda mendapatkan kesalahan SELinux pada log Nginx, berikut adalah tutorial tentang pengaturan kebijakan SELinux untuk Nginx.
Jika tidak, nonaktifkan SELinux menggunakan perintah berikut untuk sementara untuk sesi saat ini.
setenforce 0
Kami menyarankan Anda untuk menonaktifkan SELinux secara permanen.
Uji Nginx
Buka browser web Anda dan kunjungi URL berikut.
http://alamat-ip-AndaAnda akan melihat halaman berikut. Halaman ini mengkonfirmasi bahwa Ngnix berhasil diinstal di server.
Root dokumen nginx default pada CentOS 7 adalah /usr/share/nginx/html/. File konfigurasi dapat ditemukan di direktori /etc/nginx.
Mulai otomatis layanan Nginx saat memulai sistem.
systemctl enable nginx
Instal MariaDB
CentOS 7 / RHEL 7 menawarkan MariaDB v5.5 dari repositori OS dasar, yang sedikit lebih tua dan akan segera menjadi EOL. Anda dapat mempertimbangkan untuk menginstal MariaDB v10.x atau MySQL 8.x untuk tumpukan LEMP Anda.Pertama, kita akan menginstal MariaDB dengan mengeluarkan perintah berikut.
yum -y install mariadb mariadb-server
Mulai server MariaDB menggunakan perintah berikut.
systemctl start mariadb
Aktifkan MariaDB untuk memulai secara otomatis selama boot sistem.
systemctl enable mariadb
Setelah instalasi selesai, Anda perlu mengamankan MariaDB menggunakan perintah mysql_secure_installation. Anda dapat menginstal phpMyAdmin untuk mengelola database melalui browser web.
Instal PHP
PHP v5.4 (Dukungan Berakhir)
Versi PHP (v5.4) yang tersedia di repositori dasar CentOS sudah merupakan akhir dari dukungan.
PHP v7.3
Remi, repositori pihak ketiga yang menawarkan versi PHP terbaru (v7.3). Untuk mengaktifkan repositori Remi, instal paket konfigurasi otomatis repositori Remi.
yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
Instal PHP melalui PHP-FPM (PHP-FPM (FastCGI Process Manager) menggunakan perintah YUM.
yum install -y --enablerepo=remi-php73 php php-fpm php-mysqlnd php-cli
Edit file /etc/php-fpm.d/www.conf,
vi /etc/php-fpm.d/www.conf
Verifikasi bahwa PHP-FPM mendengarkan pada port 9000.
listen = 127.0.0.1:9000
Pastikan nilai berikut adalah UN-commented.
[.More.] pm.min_spare_servers = 5 [.More.] pm.max_spare_servers = 35 [.More.]
Uji Tumpukan LEMP
Buat Host Virtual
Mari kita buat virtual host berbasis nama di server Nginx untuk detail berikut.
Nama Server :server.itzgeek.local
Akar Dokumen :/usr/share/nginx/html/itzgeek.local
Buat file konfigurasi bernama virtual.conf dan Edit /etc/nginx/conf.d/virtual.conf.
vi /etc/nginx/conf.d/virtual.conf
Tambahkan konten berikut.
server { server_name server.itzgeek.local; root /usr/share/nginx/html/itzgeek.local; location / { index index.html index.htm index.php; } location ~ \.php$ { include /etc/nginx/fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html/itzgeek.local$fastcgi_script_name; } }
Buat entri host untuk domain Anda (server.itzgeek.local) di file /etc/hosts.
vi /etc/hosts
Tambahkan entri host seperti di bawah ini.
127.0.0.1 localhost.localdomain localhost server.itzgeek.local
Buat direktori root dokumen.
mkdir /usr/share/nginx/html/itzgeek.local
Uji Host virtual
Untuk menguji PHP, Tempatkan satu file PHP ke root dokumen dari host virtual yang dibuat, Di terminal salin/tempel baris berikut:
echo "<?php phpinfo(); ?>" > /usr/share/nginx/html/itzgeek.local/index.php
Mulai ulang layanan dan Aktifkan mulai otomatis.
systemctl restart nginx systemctl restart php-fpm systemctl enable php-fpm
Sekarang, buka browser web Anda dan ketik domain Anda di bilah alamat:
http://server.itzgeek.localHalaman akan terlihat seperti di bawah ini:
Dari tangkapan layar di atas, PHP berfungsi, dan bekerja melalui FPM/FastCGI, seperti yang ditunjukkan pada baris Server API.
Jika Anda menggulir lebih jauh ke bawah, Anda akan melihat informasi dukungan MariaDB.
Kesimpulan
Itu saja. Anda telah berhasil menyiapkan LEMP stack di CentOS 7 / RHEL 7. Selain itu, Anda dapat menginstal phpMyAdmin di CentOS 7 untuk mengelola database MariaDB / MySQL melalui browser web.