
Ubuntu 24.04 server quraşdırdıqdan sonra ən çox edilən işlərdən biri web server qurmaqdır. Bu mərhələdə ən çox seçilən həllərdən biri Nginx-dir. Nginx həm sadə statik sayt servisi, həm reverse proxy, həm də sonradan SSL, caching və performans optimizasiyası üçün çox yaxşı baza verir.
Bu məqalədə Ubuntu 24.04-də Nginx-in necə qurulduğunu, servisin necə yoxlandığını, firewall-da hansı portların açıldığını və ilk sadə saytın necə yayımlandığını addım-addım göstərəcəyəm. Məqsəd sadəcə paketi qurmaq deyil, işlək və təmiz başlanğıc mühitini qurmaqdır.
Bu tutorial kim üçündür?
- Yeni Ubuntu 24.04 VPS quranlar
- İlk dəfə Nginx ilə işləyənlər
- Statik sayt, landing page və ya reverse proxy bazası qurmaq istəyənlər
- WordPress, Node.js və ya başqa servislər üçün web server bazası hazırlayanlar
Bu tutorial-da nə öyrənəcəksiniz?
- Nginx nədir və niyə istifadə olunur
- Ubuntu 24.04-də Nginx necə qurulur
- Servisin statusu necə yoxlanılır
- UFW ilə HTTP/HTTPS necə açılır
- Sadə sayt üçün root qovluğu necə hazırlanır
- Yeni server block necə yaradılır
- Konfiqurasiya necə test olunur
- Nginx restart və reload məntiqi
- Ən çox rast gəlinən problemlər
Nginx nədir?
Nginx yüksək performanslı web server və reverse proxy-dir. Praktik olaraq bunlar üçün çox istifadə olunur:
- statik faylları serve etmək
- bir və ya bir neçə sayt host etmək
- Node.js, Python, PHP və digər backend-lər üçün reverse proxy olmaq
- HTTPS termination və load balancing bazası yaratmaq
Əgər məqsədiniz serverdə təmiz və etibarlı web qatını qurmaqdırsa, Nginx çox yaxşı başlanğıcdır.
Əvvəlcədən nə lazımdır?
- Ubuntu 24.04 server
- Sudo səlahiyyəti olan istifadəçi
- Serverə SSH giriş
- Mümkünsə UFW artıq qurulmuş olsun
Addım 1: Paket siyahısını yeniləyin və Nginx quraşdırın
sudo apt update
sudo apt install nginx -y
Bu əmrdən sonra Nginx adətən avtomatik quraşdırılır və servis kimi sistemə əlavə olunur.
Addım 2: Servis statusunu yoxlayın
sudo systemctl status nginx
Burada normal halda active (running) görməlisiniz.
Əgər servis aktiv deyilsə, bunu işə salın:
sudo systemctl enable nginx
sudo systemctl start nginx
Sonra yenidən statusa baxın:
sudo systemctl status nginx
Addım 3: Firewall qaydalarını açın
Əgər UFW aktivdirsə, HTTP və HTTPS üçün icazə verilməlidir.
Əvvəl profil siyahısına baxın:
sudo ufw app list
Adətən belə profillər görünür:
Nginx FullNginx HTTPNginx HTTPS
Əgər həm 80, həm 443 açmaq istəyirsinizsə:
sudo ufw allow 'Nginx Full'
Yalnız HTTP üçün:
sudo ufw allow 'Nginx HTTP'
Sonra statusu yoxlayın:
sudo ufw status
Addım 4: Server IP ilə Nginx-in işlədiyini yoxlayın
Serverin IP ünvanını brauzerdə açın. Default Nginx welcome page görünürsə, quraşdırma işləyir.
Terminaldan da yoxlamaq olar:
curl http://SERVER_IP
Nəticədə default HTML çıxışı görməlisiniz.
Addım 5: Sadə sayt qovluğu yaradın
İndi öz sayt qovluğumuzu yaradaq. Məsələn:
sudo mkdir -p /var/www/example-site
sudo chown -R $USER:$USER /var/www/example-site
Sonra test üçün sadə index.html yaradın:
nano /var/www/example-site/index.html
İçinə belə sadə nümunə yaza bilərsiniz:
<!DOCTYPE html>
<html lang="az">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Hello Nginx</title>
</head>
<body>
<h1>Nginx işləyir</h1>
<p>Ubuntu 24.04 server üzərində ilk sayt uğurla quruldu.</p>
</body>
</html>
Addım 6: Yeni server block yaradın
Nginx-də ayrıca sayt konfiqurasiyası üçün yeni server block yaradın:
sudo nano /etc/nginx/sites-available/example-site
Nümunə konfiqurasiya:
server {
listen 80;
listen [::]:80;
server_name example.com www.example.com;
root /var/www/example-site;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
Əgər hələ real domain yoxdursa, müvəqqəti olaraq server IP və ya test domain məntiqi ilə davam edə bilərsiniz. Amma real publish üçün sonradan server_name düzgün domain ilə dəyişilməlidir.
Addım 7: Konfiqurasiyanı aktiv edin
Bu faylı sites-enabled altına link edin:
sudo ln -s /etc/nginx/sites-available/example-site /etc/nginx/sites-enabled/
Əgər default sayt artıq lazım deyilsə, onu da söndürə bilərsiniz:
sudo rm /etc/nginx/sites-enabled/default
Diqqət: bunu yalnız nə etdiyinizi başa düşəndə edin. Əgər serverdə başqa aktiv sayt yoxdur və siz öz saytınızı düzgün aktiv etmisinizsə, problem olmaz.
Addım 8: Konfiqurasiyanı test edin
Nginx reload etməzdən əvvəl sintaksisi yoxlamaq vacibdir:
sudo nginx -t
Əgər hər şey düzgündürsə, belə bir çıxış görəcəksiniz:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Addım 9: Reload edin
Konfiqurasiya testdən keçdisə:
sudo systemctl reload nginx
Bu, servisi tam dayandırmadan yeni konfiqurasiyanı tətbiq edir.
Tam restart lazım olsa:
sudo systemctl restart nginx
Amma adi konfiqurasiya dəyişikliklərində çox vaxt reload daha yaxşı yanaşmadır.
Addım 10: Saytı yoxlayın
İndi domain və ya IP-ni açın. Əgər hər şey düzgün qurulubsa, öz yaratdığınız səhifə görünməlidir.
Terminaldan yoxlama:
curl -I http://example.com
və ya
curl -I http://SERVER_IP
Nəticədə HTTP/1.1 200 OK görməlisiniz.
Nginx-də faydalı əsas əmrlər
sudo systemctl status nginx
sudo systemctl reload nginx
sudo systemctl restart nginx
sudo nginx -t
sudo journalctl -u nginx
Bunlar gündəlik idarəetmə üçün ən çox lazım olan əmrlərdir.
Ən çox rast gəlinən problemlər
1. Sayt açılmır
Aşağıdakıları yoxlayın:
- Nginx işləyir?
- UFW-də HTTP/HTTPS açıqdır?
- server_name düzgündür?
- root qovluğu düzgündür?
- cloud provider ayrıca firewall tətbiq edir?
2. nginx -t xəta verir
Bu o deməkdir ki, konfiqurasiyada sintaksis və ya yol problemi var. Həmişə əvvəl test edin, sonra reload edin.
3. Default Nginx page qalır
Bu adətən default site hələ aktiv qalanda və ya sizin server block uyğun match etməyəndə olur. sites-enabled qovluğunu və server_name dəyərini yoxlayın.
4. Permission problemi var
Root qovluğu və fayl icazələrini yoxlayın:
ls -la /var/www/example-site
Bəzən yanlış owner və ya permission səbəbindən fayllar serve olunmur.
Təhlükəsizlik və növbəti addımlar
- HTTPS üçün Let’s Encrypt / Certbot qurun
- lazımsız server block-ları silin
- access və error log-ları izləyin
- reverse proxy istifadə edəcəksinizsə backend timeout və header-ləri düzgün qurun
- static site və app server-lər üçün ayrıca konfiqurasiya standardı yaradın
Nəticə
Ubuntu 24.04-də Nginx quraşdırmaq çox çətin deyil, amma düzgün və təmiz başlanğıc qurmaq vacibdir. Paket quraşdırılması, servis yoxlaması, firewall açılması, server block yaradılması və konfiqurasiya testinin ardıcıllığı düzgün qurulsa, sonrakı mərhələlərdə SSL, reverse proxy və production deploy daha rahat olur.
Əgər serverdə web qatını təzə qurursunuzsa, bu tutorial sizə möhkəm başlanğıc verəcək. Bunun davamı kimi istəsəniz növbəti mərhələdə Nginx + Let’s Encrypt HTTPS və ya Nginx reverse proxy ilə Node.js deploy mövzularını da eyni keyfiyyətdə hazırlamaq olar.