Posts

Ubuntu Server 26.04 LTS „Resolute Raccoon“ — šta je novo i kako preći sa 24.04

Praktično uputstvo za sistem administratore. Stanje: kraj avgusta 2026, posle izlaska tačkastog izdanja 26.04.1. Kratak pregled (TL;DR) Ubuntu 26.04 LTS je izašao 23. aprila 2026. godine, a tačkasto izdanje 26.04.1 stiglo je 27. avgusta 2026 , čime je i zvanično otvoren put za nadogradnju sa 24.04 LTS. Za administratora koji dolazi sa 24.04, ovo su promene koje zaista bole ili zaista pomažu: cgroup v1 je potpuno uklonjen. Ovo je tvrdi blokator nadogradnje — sistem pokrenut u legacy ili hybrid cgroup hijerarhiji neće moći da se nadogradi. Kernel 7.0 umesto 6.8, sa Livepatch podrškom i na ARM64, kao i besplatnim real-time kernelom van Ubuntu Pro pretplate. MySQL 8.0 → 8.4 LTS , sa mysql_native_password nalozima koji se podrazumevano zaključavaju. PostgreSQL 16 → 18 , uz poznatu regresiju performansi ako nemate uključene huge pages. Docker 29 i containerd 2.2.2 , sa lomljivim promenama u odnosu na containerd 1.x. sudo-rs i rust-coreutils kao podrazumevani, umesto klasičnih...

nginx: stream modul — TCP i UDP proxy

Ciljevi lekcije Nakon ove lekcije trebalo bi da: razumeš šta stream modul radi i po čemu se razlikuje od http bloka znaš gde konfiguracija fizički ide na Ubuntu-u, jer to nije očigledno postaviš proxy ispred baze podataka ili bilo kog TCP servisa usmeravaš HTTPS saobraćaj po SNI imenu, bez dešifrovanja proslediš pravu IP adresu klijenta kroz PROXY protokol podesiš logovanje, koje u stream bloku podrazumevano ne postoji 1. Šta je stream Sve dosad u kursu odnosilo se na http blok — nginx koji razume HTTP, čita zaglavlja, bira location , kešira odgovore. stream radi na četvrtom sloju. Prosleđuje bajtove sa jedne strane na drugu, bez ikakvog razumevanja sadržaja. Nema URI-ja, nema zaglavlja, nema location blokova, nema statusnih kodova. Zauzvrat radi sa bilo čim što ide preko TCP-a ili UDP-a: PostgreSQL, MySQL, Redis, SMTP, IMAP, DNS, MQTT, SSH, serveri za igre, sopstveni binarni protokoli. Kada koristiti šta: Situacija Modul Web saobraćaj, API, bilo šta HTT...

nginx: Tuning performansi

Ciljevi lekcije Nakon ove lekcije trebalo bi da: izmeriš stanje pre nego što bilo šta menjaš razumeš odnos worker_processes , worker_connections i sistemskih limita podesiš bafere tako da se telo zahteva ne prelива na disk prepoznaš kada je usko grlo u nginx-u, a kada — mnogo češće — negde drugde znaš koja sysctl podešavanja imaju smisla, a koja se prepisuju bez razumevanja 1. Prvo pravilo: izmeri Najveći deo saveta o tuningu koji kruži internetom je prepisivanje bez konteksta. Pre nego što promeniš ijedan red, treba da znaš tri stvari: Šta je trenutno stanje. Bez polazne mere ne možeš da tvrdiš da si nešto poboljšao. Gde je usko grlo. U ogromnoj većini slučajeva nije u nginx-u. nginx na skromnom hardveru servira desetine hiljada statičkih zahteva u sekundi bez ikakvog podešavanja. Ako ti je sajt spor, uzrok je najverovatnije aplikacija, upit u bazu ili disk. Šta zapravo pokušavaš da postigneš. Veći broj zahteva u sekundi? Manje kašnjenje? Više istovremenih konekcija?...

nginx: Hardening

Ciljevi lekcije Nakon ove lekcije trebalo bi da: ukloniš nepotrebne informacije koje server odaje o sebi postaviš pun skup sigurnosnih zaglavlja, uključujući CSP razumeš AppArmor profil za nginx i kako ga proveriti pooštriš systemd unit bez da oboriš servis prođeš kroz zatečeni server po listi za proveru Ova lekcija delom povezuje stvari iz ranijih — dozvole iz lekcije 4, skrivene fajlove iz lekcije 6, TLS iz lekcije 9, ograničavanje pristupa iz lekcije 14 — i dodaje ono što nigde nije stalo. 1. Šta server odaje o sebi Podrazumevano nginx šalje svoju verziju u svakom odgovoru i na svakoj stranici greške: Server: nginx/1.24.0 (Ubuntu) To je poklon svakome ko traži servere sa poznatim ranjivostima. http { server_tokens off; } Sada piše samo Server: nginx . Verzija je sakrivena, ali se i dalje zna koji server koristiš. Za potpuno uklanjanje zaglavlja treba headers-more modul: sudo apt install nginx-extras http { server_tokens off; more_clear_headers Server;...