Latihan 1: Nginx Basics — DevOps

Latihan 1 dari materi Nginx Basics di DevOps — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.

Lengkapi function generateNginxServer(config) supaya mengembalikan teks server block nginx (string), bukan mencetaknya.

config berbentuk { port, serverName, root, locations }, dan locations adalah array { path, directive }.

  1. Baris pertama server {.
  2. Tiga baris berikutnya diindentasi 4 spasi: listen {port};, server_name {serverName};, dan root {root};.
  3. Untuk tiap location: location {path} { (4 spasi), lalu {directive}; (8 spasi), lalu } (4 spasi).
  4. Baris terakhir }. Gabungkan semua baris dengan \n, tanpa baris kosong dan tanpa \n di akhir.

Yang dicek: untuk config di console.log kode awal (port 80, myapp.com, /var/www/html, satu location / dengan try_files $uri /index.html), hasilnya persis:

server {
    listen 80;
    server_name myapp.com;
    root /var/www/html;
    location / {
        try_files $uri /index.html;
    }
}

Ada satu config lain yang dicek diam-diam (port, domain, root, dan location berbeda), jadi pakai nilai dari config, jangan tulis teksnya langsung. Baris console.log(...) di kode awal sudah ada, biarkan saja.

Hint