Django + Nginx di Localhost

Prinsip utama yang harus dipahami adalah nginx disini menjadi proxy untuk port 8000 (port default django untuk dev), caranya dengan menambahkan di nginx.conf atau di sites-available/default baris berikut:

server {
    listen 80;
    server_name localhost;
    location / {
        proxy_pass 127.0.0.1:8000;
    }
}

Setelah itu jalankan perintah ./manage.py runserver dan buka localhost di browser, sekarang nginx menjadi web server di local development Anda, kalau mau lebih yakin lagi, buka tools chrome inspect -> network -> Server, localhost dilayani oleh:

Server: nginx/1.10.3

sedangkan URL localhost:8000 dilayani oleh:

Server: WSGIServer/0.2 CPython/3.6.1

Selamat mencoba!

Cara Setup nginx x-accel-redirect

Belum habis kagum dengan nginx pagespeed, barusan nemu salah satu fungsi lagi dari nginx untuk internal redirection. Contoh kasus penggunaan, kadang dalam sebuah proyek kita menyediakan file yang bisa diunduh oleh user, dan umumnya logic ini kita buat di level web app. Karena ini terkait dengan file, tentu dengan nginx kerja akan lebih efisien dan aplikasi web kita bisa bekerja untuk hal yang lain.

Continue reading “Cara Setup nginx x-accel-redirect”

Contoh nginx regex match URL

Contoh:

location ~ ^/read/([0-9]+)/([0-9a-z-]+\.png$) {
    alias /home/kholidfu/awesome/image/$1/$2;
}

Pola regex akan cocok dengan URL berikut:

/read/9999/some-awesome-image.png

Dan nginx akan mencari image tersebut di direktori

/home/kholidfu/awesome/image/9999/some-awesome-image.png

OOT dikit, kenapa menggunakan directive alias bukan root? Jawabannya di sini

Nginx — static file serving confusion with root & alias

Selamat mencoba…

Featured

Kitab Nginx

Nginx – sebuah aplikasi web server yang cepat dan multi-fungsi, saya sendiri sering memanfaatkan nginx untuk web server, http_image_filter, melayani statics file, optimasi kecepatan loading sebuah halaman, cache dan masih banyak lagi. Untuk itu pantas kiranya dibuatkan featured post tersendiri, biar lebih mudah dicari. Seperti biasa, tulisan ini juga bersifat continuously improved.

Continue reading “Kitab Nginx”