Anggap Nginx itu adalah sebuah Gedung Perkantoran Mewah. Internet adalah jalanan di luar gedung. User/pengunjung = tamu yang datang dari jalan. Backend (Laravel, Node, dll) = para karyawan di dalam gedung yang kerja beneran. Nginx = satpam + resepsionis + lift + sistem keamanan gedung — semua dalam satu paket.
Bayangkan kamu punya gedung perkantoran yang punya:
Setiap tamu (request) datang dari jalan (internet), disambut resepsionis (Nginx), lalu diantarkan ke karyawan yang tepat (backend).
pid /tmp/nginx.pid;Bayangkan satpam gedung wajib nulis namanya di papan absen setiap mulai shift:
“Satpam yang jaga sekarang: Budi, nomor ID: 4821”
Nah nginx.pid itu papan absennya. Isinya cuma satu angka — nomor ID proses Nginx yang sedang jalan.
Kenapa perlu? Kalau kamu mau kasih perintah ke Nginx (restart, reload config), sistem perlu tahu “hei, Nginx yang mana yang harus diperintah?” Dia tinggal baca papan itu.
Kalau tidak ada? Nginx tetap jalan, tapi sistem bingung nyari siapa yang harus diperintah. Ibarat mau panggil satpam tapi tidak tahu nama dan nomor IDnya.
Kenapa di /tmp/? Karena /tmp/ itu seperti meja resepsionis — siapa pun boleh taruh sesuatu di sana. Kalau ditaruh di /var/run/, itu seperti lemari terkunci yang hanya bos (root) yang boleh buka. Kalau Nginx bukan bos, dia tidak bisa nulis di sana.
worker_processes 1;Resepsionis inilah yang langsung melayani tamu. worker_processes = berapa orang resepsionis yang kamu hire.