Cara Ganti Apache dengan Nginx di Ubuntu 20.04
Bagaimana cara ganti apache dengan nginx di ubuntu 20.04 ?. NGINX banyak digunakan oleh situs web dengan trafik yang tinggi. Sehingga bagi Anda yang sudah memiliki traffic website yang sangat tinggi, sangat cocok untuk beralih ke nginx. Secara umum nginx akan berjalan dengan service MYSQL dan PHP (LEMP). Sehingga bila sebelumnya pada apache sudah menginstall service tersebut, maka akan lebih mudah untuk bermigrasi dari apache ke nginx.
Meskipun server web Apache saat ini merupakan server web paling populer di dunia, Nginx saat ini sedang berkembang pesat. Ini tidak mengherankan, mengingat Nginx berkinerja sangat baik dan menggunakan sedikit sumber daya. Untuk banyak situs web, migrasi ke Nginx akan meningkatkan kinerja.
Ada beberapa alasan mengapa Anda perlu bermigrasi dari apache ke nginx :
- NGINX merupakan web web server dengan kinerja sangat baik yang mendukung koneksi bersamaan dan mendukung beban situs dengan traffic tinggi.
- NGINX lebih sedikit menggunakan RAM dan CPU dibandingkan dengan Apache serta ramah sumber daya.
- NGINX meningkatkan kinerja situs web dengan mendukung sistem cache bawaan untuk akses yang lebih cepat untuk konten statis situs web seperti Gambar, CSS, JavaScript, dll.
Baca Juga : Cara Install Nginx, MariaDB, PHP di Ubuntu 18.04
Dalam konfigurasi nginx, Anda dapat melakukannya di /etc/nginx/nginx.conf dan menggunakan blok server. Hal ini tentu berbeda dengan apache yang konfigurasinya menggunakan virtual host. Langsung saja kita mulai pembahasan mengenai cara migrasi situs web dari Apache ke Nginx di Ubuntu 20.04.
Cara Ganti Apache dengan Nginx di Ubuntu 20.04
Sebelum menginstall web server Nginx, Anda perlu menghapus terlebih dahulu web server Apache. Hal ini dimaksudkan agar tidak terjadi konflik.
Langkah 1 – Hapus Web Server Apache
Pertama Anda hentikan proses apache web server sebelum melakukan penghapusan. Silakan jalankan perintah dibawah ini.
sudo systemctl stop apache2
Jika Anda menggunakan apache versi 1, maka setiap proses gunakan saja apache bukan apache2.
Setelah menghentikan Apache, hapus entri Apache startup dari systemctl. Hal ini agar apache tidak bekerja otomatis saat waktu boot.
sudo systemctl disable apache2
Ketika Apache berhasil dihentikan dan entri startup juga dihapus maka selanjutnya menghapus web server Apache dari VPS. Jika ada konfirmasi saat proses penghapusan, pilih saja Y dan Enter.
sudo apt remove apache2
Perintah di atas hanya akan menghapus paket apache2 tetapi dependensi terkait Apache masih tetap ada didalam VPS. Jadi, Anda perlu menghapus dependensi yang tidak digunakan tersebut untuk mengurangi diskspace.
sudo apt autoremove
Sekarang apache dan dependency sudah terhapus. Anda sudah dapat melakuakn instalasi nginx.
Langkah 2 – Install Web Server Nginx
Bersihkan cache repositori apt lama dan perbaharui repositori untuk memuat paket baru di VPS. Jalankan perintah berikut ini.
Jika terdapat konfirmasi, pilih saja Y dan Enter.
sudo apt clean all && sudo apt update && sudo apt dist-upgrade
Selanjutnya install web service nginx.
sudo apt install nginx
Langkah 3 – Konfigurasi UFW
Jika Anda menggunakan UFW pada server vps, maka perlu melakukan konfigurasi. Karena nginx membutuhkan port HTTP (80) dan port HTTPS (443) agar website dapat diakses secara public. Silakan pelajari lebih lengkap panduan dibawah mengenai UFW.
Baca Juga : Cara Konfigurasi UFW di VPS Ubuntu
Jalankan perintah dibawah ini agar port http dan https nginx aktif di UFW.
sudo ufw allow "Nginx Full"
Semua port yang dibutuhkan untuk pengelolaan VPS akan terbuka setelah menjalankan perintah diatas. Namun bila port akses SSH telah Anda update dengan port lain maka perlu Anda daftarkan manual. Silakn cek panduan diatas.
Untuk memastikan bahwa port HTTP dan HTTPS telah terbuka, Anda dapat menjalankan perintah ini.
sudo ufw status
Langkah 4 – Konfigurasi PHP Nginx
Agar nginx dapat bekerja dengan baik pada PHP, maka perlu dilakukan konfigurasi pada block server. Jika di apache namanya adalah virtual host.
Di Ubuntu, Blok Server NGINX terletak di direktori sites-available dan sites-enabled di dalam direktori konfigurasi NGINX. Anda akan mengedit file blok server yang terletak di /etc/nginx/sites-available/ dan mengaktifkan blok server untuk domain Anda. Metode ini sangat disarankan karena memungkinkan Anda untuk menggunakan lebih dari satu situs web dan domain.
Anda bebas menggunakan editor apa saja, baik vim, nano atau lain untuk melakukan editing. Pada panduan ini saya menggunakan editor vim/vi.
i : untuk edit atau insert (huruf i)
esc : berhenti dari proses edit
:wq atau :wq! : untuk menyimpan sekaligus keluar
q! : keluar tanpa menyimpan
Jalankan perintah berikut dan gunakan shortcode diatas untuk proses editing dan menyimpan.
sudo vim /etc/nginx/sites-available/nama_domain.com.conf
Pada bagian root script dibawah silakan disesuikan dengan letak folder domain website Anda. Jika pada panduan ini website saya berada di /var/www/namadomain.com.
Serta versi PHP sesuaikan dengan versi PHP yang Anda gunakan saat ini. Setelah Anda tambahkan (insert) langsung saja di simpan.
server { listen 80; server_name nama_domain.com www.nama_domain.com; root /var/www/nama_domain.com; index index.html index.htm index.php; location / { try_files $uri $uri/ =404; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; } location ~ /\.ht { deny all; } }
Setelah melakukan penyimpanan file diatas, selanjutnya jalankan perintah dibawah ini untuk proses replikasi ke direktori.
sudo ln -s /etc/nginx/sites-available/nama_domain.conf /etc/nginx/sites-enabled/nama_domain.conf
Periksa sintaks yang telah dibuat untuk menghindari kesalahan yang ada dalam file konfigurasi NGINX. Perintah ini juga akan memberi tahu Anda di mana Anda memiliki kesalahan.
sudo nginx -t
Jika tampil informasi sukses, berarti script block server sebelumnya tidak ada yang error. Selanjutnya langsung saja restart nginx.
sudo systemctl restart nginx
Setelah selesai maka Anda perlu mengubah izin pengguna NGINX default www-data untuk mengaktifkan izin read, write dan execute untuk direktori root web default. Jalankan perintah dibawah ini.
sudo chown -R www-data:www-data /var/www/*
Perintah diatas artinya saya memberikan permission www-data mulai dari konten yang ada didalam folder www. Anda dapat menyesuaikan dengan folder website atau mengikuti panduan.
Saat ini Nginx telah siap digunakan. Silakan Anda coba akses website melalui browser untuk memastikan nginx dan PHP sudah bekerja dengan baik.
Demikianlah Cara Ganti Apache dengan Nginx di Ubuntu 20.04. Semoga bermanfaat dan dapat membantu Anda. Jangan lupa untuk shared artikel ini kepada teman, kerabat, saudara atau lainnya. Agar mimin novri.web.id lebih semangat dalam membuat panduan-panduan lain. images by freepick