Membuat halaman maintenance di Nginx

Sedikit memperjelas jawaban dari permintaan mbak Shafira soal pengaturan maintenance mode pada Nginx. Rata – rata CMS biasanya menyediakan mode ini untuk menonaktifkan fungsi – fungsinya dan hanya administrator yang bisa mengaksesnya. Pada tahap ini yang biasa dilakukan adalah backup dan update. Bedanya kalau di Nginx ya kita harus melakukannya secara manual karena memang bukan fiturnya.

Solusi pertama yang saya pikirkan adalah dengan memblokir seluruh pengunjung ke websitenya. Ini bukanlah hal yang sulit, tapi harus tepat karena bisa jadi bumerang. Jadi pada konfigurasi virtual host Nginxnya tambahkan kode berikut:

location / {
    try_files /maintenance.html $uri $uri/ =503;
}

Jadi nanti semua trafik akan ditampilkan halaman maintenance.html dan disertai kode HTTP 503 Service Temporarily Unavailable untuk menandakan adanya maintenance ke robot Google dan kawan – kawannya. Jangan lupa membuat halaman HTMLnya karena diredirect kesana semua, beri informasi yang jelas dan mungkin kontak emailnya.

Kalau anda pakai cara diatas maka proses perawatan situsnya ya lewat SSH, baik membuat backup database dan mengarsipkan seluruh file – filenya memanfaatkan tar.gz. Tidak bisa lewat CMS karena akan ikut terblokir

Kalau si admin ingin tetap dapat membuka websitenya, tampaknya perlu dikombinasikan dengan if dan sistem whitelist alamat IP pengunjung.

28 Comments

    1. Semuanya cepat lho mbak, dan kalau pengunjung masih puluhan ribu per hari selisihnya masih bisa diabaikan. 😀 Tinggal masalah resource servernya saja. Apache saja kalau pakai spek server dewa ya ga kalah sama Nginx. 😀

      Web server alternatif itu unggul di optimasi resource yang ada, tidak seboros Apache. Memaksimalkan yang minimal konsepnya. 😉

  1. mas Chandra,.. pake web panel kloxo ribet jg ya,.. tdinya sekilas di lihat oke punya,.. tpi setelah di uji coba bnyk yg erorr,… terutama pada subdomain di nginx msh bingung aku,.. udh reinstall vps hmpir 50x tetep bingung cra pakenya…

    1. Hmm.. kalau Kloxo saya no comment mbak. Belum pernah pakai sendiri soalnya. 🙁 Bukannya tinggal add domain/virtual host saja di panelnya mbak? Tidak ada opsi seperti itu?

  2. iya mas tpi ada kloxo MR jika saya amati harus jeli dan super teliti karena begitu komplek… saya hnya ingin tahu sja seberapa lama saya kuat dg webpanel ini…semakin bnyak bugs semakin asyik belajar,…

    1. Bisa dicopaskan isi konfigurasi Nginx dan virtual hostnya mbak? Kalau nebak sih ini dibedakan lokasinya berdasarkan pengunjung dari PC atau mobile.

  3. mas pake nginxproxy web ku kog kenceng bener ya,… di gtmetrix nilainya A semua,… di pingdomtool juga,… apa ini webserver yg paling tangguh ya mas,…

    1. Paling populer dan secara default sudah cukup optimal mbak.

      Ini pakai Nginx sebagai reverse proxy? Atau pakai fitur yang disediakan Kloxo mbak?

    1. Sep mbak, trims infonya. Mungkin minggu depan saya cek Kloxo-MR. Belum pernah nyentuh soalnya. Hehe. 😀

      Sekarang sedang fokus nyatat belanjaan pas Black Friday/Cyber Monday mulai besok.

  4. mas nginx ku 302 lagi klo di smartphone muncul moved 302 ini default.conf :

    #server {
    #    listen       80;
    #    server_name  localhost;
    
        #charset koi8-r;
        #access_log  /var/log/nginx/log/host.access.log  main;
    
    #    location / {
    #        root   /usr/share/nginx/html;
    #        index  index.html index.htm;
    #    }
    
        #error_page  404              /404.html;
    
        # redirect server error pages to the static page /50x.html
        #
    #    error_page   500 502 503 504  /50x.html;
    #    location = /50x.html {
    #        root   /usr/share/nginx/html;
    #    }
    
        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}
    
        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}
    
        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    #}
    1. Loh sebentar mbak, ini localhost? Bisa dicopaskan yang memang buat websitenya? Diganti saja nama domainnya pakai yang fiktif.

  5. owh berati itu salahnya hnya di localhostnya ya mas,… jdi localhost itu di ganti dg nama domain. iya di vps ku default nginx nya sprti itu,….

  6. iya mas ku lupa tanda # itu harusnya di hilangkan semua ya… hehehe kurang teliti aku mas…, klo lengkapnya konfigurasinya sprti apa?

  7. mas pake nginx dibuak di smartphone https://domain1 moved302 https://domain2 yg satunya blank page… ga ada tulisan erorr itu klo dibuka di smartphone tpi klo dibuka di pc lancar…

    1. Waduh… coba dicopas mbak konfigurasi virtual host untuk websitenya disini. Kalau saya ga lihat sendiri ya ngeblank. 🙁

  8. server {
        listen       80;
        server_name  192.168.1.45;
        root   /usr/share/nginx/html;
        index index.php index.html index.htm;
    
        location / {
            try_files $uri $uri/ =404;
        }
        error_page 404 /404.html;
        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
            root /usr/share/nginx/html;
        }
    
        location ~ \.php$ {
            try_files $uri =404;
            fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
        }
    }
    1. Saya sensor alamat IP servernya ya. 😀 Yang masalah tapi HTTPS (port 443), ketinggalan atau di tempat lain konfigurasinya? Ini pakai Kloxo-MR itu mbak?

      Slow response ya mbak, saya sedang nonton livestream Dota2. Hehe. 😀

  9. iya mas itu yg default dari kloxo aku ganti dengan konfigurasi sperti itu,.. tpi msh tetep erorr 302 moved… tpi di pc/laptop engga maslah…
    mas apa bener ini semua gertis https://ohosti.com/…. server dg spek sebesar itu digeratisin selamanya… *_*

    1. Hmmm… yang saya pikirkan itu masih pakai Nginx yang vanilla mbak. Hehe. Kalau sudah pakai auto-installer/panel kadang racikannya custom. Saya belum sempat mencobanya.

      Itu ga memuat file .conf dari lokasi lain didalam nginx.conf mbak? Bukan konfigurasi virtual host maksud saya.

      Soal free hosting saya cuma rekomendasi satu provider: https://afreecloud.com/ yang paling beres.

      Barang gratisan itu harus diperhatikan mereka dapat uangnya darimana mbak, soalnya tetap saja bisnis bukan badan amal. 🙂 Minimal identitas pengguna dicuri dan disalahgunakan, cukup sering kejadian ga sampai setahun lenyap.

Tinggalkan Balasan ke intan Batalkan balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *