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 }.
- Baris pertama
server {.
- Tiga baris berikutnya diindentasi 4 spasi:
listen {port};, server_name {serverName};, dan root {root};.
- Untuk tiap location:
location {path} { (4 spasi), lalu {directive}; (8 spasi), lalu } (4 spasi).
- 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.