Panduan Migrasi Apache ke NGINX
Halo, teman-teman! Kalian pengguna Apache yang pengen migrasi ke NGINX? Tenang, gak usah bingung! Di sini, gue bakal kasih panduan migrasi Apache ke NGINX yang simpel dan mudah diikuti. NGINX itu keren banget, lho! Bisa nge-handle traffic tinggi dengan lebih efisien. Yuk, langsung aja kita mulai!
1. Kenapa Harus Migrasi ke NGINX?
Sebelum mulai migrasi, gue kasih tau dulu nih kenapa NGINX itu worth it:
- Performance: NGINX lebih cepat dan bisa nge-handle banyak koneksi secara bersamaan.
- Resource Usage: NGINX lebih hemat resource dibanding Apache.
- Scalability: NGINX lebih mudah di-scale untuk kebutuhan yang besar.
2. Instalasi NGINX
Pertama-tama, pastiin dulu NGINX udah terinstall di server kalian. Kalau belum, install dulu dengan perintah berikut:
sudo apt update
sudo apt install nginx
Setelah itu, cek status NGINX:
sudo systemctl status nginx
Kalau udah running, berarti NGINX siap dipake!
3. Konfigurasi NGINX
NGINX punya file konfigurasi utama di /etc/nginx/nginx.conf
. Tapi, biasanya kita bakal lebih sering ngutak-ngatik file konfigurasi di /etc/nginx/sites-available/
.
Buat file konfigurasi baru untuk website kalian:
sudo nano /etc/nginx/sites-available/namadomain.com
Isi file konfigurasi dengan contoh berikut:
server {
listen 80;
server_name namadomain.com www.namadomain.com;
root /var/www/namadomain.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.4-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
Jangan lupa ganti namadomain.com
dengan domain kalian dan pastikan path root-nya sesuai.
4. Aktifkan Konfigurasi
Setelah bikin file konfigurasi, aktifkan dengan cara:
sudo ln -s /etc/nginx/sites-available/namadomain.com /etc/nginx/sites-enabled/
Terus, test konfigurasi NGINX:
sudo nginx -t
Kalau gak ada error, restart NGINX:
sudo systemctl restart nginx
5. Migrasi .htaccess ke NGINX
Nah, ini nih yang sering bikin pusing. Kalau di Apache, kita biasa pake .htaccess
buat aturan rewrite dan lainnya. Di NGINX, gak ada .htaccess
, jadi semua aturan harus dimasukin ke file konfigurasi.
Contoh, kalau di .htaccess
kalian ada:
RewriteEngine On
RewriteRule ^blog/(.*)$ /blog.php?id=$1 [L]
Di NGINX, konversinya jadi:
location /blog/ {
rewrite ^/blog/(.*)$ /blog.php?id=$1 last;
}
6. Aturan Redirect
Kalau di Apache, redirect biasanya pake Redirect
atau RewriteRule
. Di NGINX, kita bisa pake return
atau rewrite
.
Contoh redirect di Apache:
Redirect 301 /oldpage.html http://www.namadomain.com/newpage.html
Di NGINX:
location = /oldpage.html {
return 301 http://www.namadomain.com/newpage.html;
}
7. SSL/TLS Configuration
Kalau website kalian pake SSL/TLS, jangan lupa konfigurasi di NGINX. Kalau udah punya sertifikat dari Apache, tinggal pake aja.
Contoh konfigurasi SSL di NGINX:
server {
listen 443 ssl;
server_name namadomain.com www.namadomain.com;
ssl_certificate /path/to/your/certificate.crt;
ssl_certificate_key /path/to/your/private.key;
# ... konfigurasi lainnya ...
}
8. Testing dan Monitoring
Setelah semua konfigurasi selesai, jangan lupa test website kalian. Pastiin semua halaman bisa diakses dengan baik dan gak ada error. Kalau perlu, monitor log NGINX di /var/log/nginx/error.log
buat cek kalo ada masalah.
9. Disable Apache
Kalau udah yakin semua berjalan lancar dengan NGINX, kalian bisa disable Apache:
sudo systemctl stop apache2
sudo systemctl disable apache2
Tapi, pastiin dulu NGINX udah running dengan baik ya!
Nah, gimana? Gak susah kan migrasi dari Apache ke NGINX? Dengan NGINX, website kalian bakal lebih cepat dan hemat resource. Selamat mencoba!