#Nginx

Konfigurasi Nginx sebagai proksi songsang

Dalam proses pembangunan laman statik menggunakan Hugo, ada kalanya kita mahu mengaksesnya melalui domain tempatan seperti https://blog-hugo.loc dan pada masa yang sama menikmati ciri LiveReload secara automatik.

Catatan ini menunjukkan cara:

  • Mengkonfigurasi Nginx sebagai proksi songsang (reverse proxy) untuk pelayan pembangunan Hugo,
  • Mengaktifkan sokongan WebSocket untuk LiveReload,
  • Menjalankan Hugo dengan parameter sesuai agar kena dengan penggunaan proksi HTTPS.

Panduan ini diadaptasi daripada “How to create an HTTPS certificate for localhost domains”, bertujuan mengaktifkan sokongan HTTPS pada domain yang menghala ke alamat IP 127.0.0.1, iaitu localhost, audio.loc dan laravel.loc.

Semua fail berkaitan pensijilan ini disimpan dalam satu direktori khas: /etc/nginx/ssl.

Sila ubah nilai negara, negeri, bandar dan nama entiti dalam parameter pensijilan mengikut keperluan anda.

Persediaan Direktori

  • Cipta direktori dan tukar ke dalamnya:
    bash
    mkdir -p /etc/nginx/ssl && cd /etc/nginx/ssl

Sijil Akar (Root CA)

  • Jana sijil akar (Root CA) yang ditandatangani sendiri:

Arch Linux

  
  ---
title: Aliran Trafik daripada Nginx ke 'Backend'
---
flowchart TD
  A(["NGINX<br>(Reverse Proxy)"])
  A --> B{"BACKEND"}
  B --> C["Apache<br>(PHP-FPM)"]
  B --> D["Flask<br>(Gunicorn)"]
  B --> E["Laravel<br>(PHP-FPM)"]

Dalam pembangunan perisian moden, kita jarang bergantung kepada satu teknologi sahaja. Saya sediakan catatan ini bagi memaparkan bagaimana Nginx boleh digunakan sebagai proksi songsang untuk menyatukan pelbagai pelayan latar; Apache, Flask (melalui Gunicorn), dan Laravel (melalui PHP-FPM), dalam satu mesin pembangunan berasaskan Arch Linux.

Sebelum melangkah lebih jauh, pastikan anda telah menyediakan konfigurasi asas seperti yang diterangkan dalam catatan saya terdahulu: Konfigurasi LEMP dalam Arch Linux.

Berpandukan ArchWiki

Assalamu’alaikum.

LEMP dalam catatan ini merangkumi empat komponen berikut:

  • L = Linux sebagai sistem operasi dan distro utama pembangunan web ;
  • E = nginx sebagai pelayan (server) web HTTP ;
  • M = MariaDB sebagai pelayan pangkalan data ; &
  • P = PHP sebagai bahasa skrip yang digunakan dalam pembangunan laman web dinamik.
"M" boleh juga merujuk kepada MySQL, manakala "P" boleh merujuk kepada bahasa lain seperti Python atau Perl dalam konteks tertentu.

Penulisan ini menghimpunkan konfigurasi tiga komponen penting dalam pembangunan aplikasi web dinamik (juga dikenali sebagai “back-end development”), iaitu Nginx, PHP dan MariaDB.

Tentang Blog & Penulis

Topik perbincangan dalam blog ini merangkumi Linux dan perisian sumber terbuka, Virtual Machine, serta Typesetting system.
Fokus semasa: Full Stack Development
Minat sampingan: Analisis Data
Bakat tersembunyi hamba: Menyanyi dan melukis.

Sumber dari Wallpaper Cave.