Ubuntu 24.04 üzerinde Bir Uygulama Sunucusu Kurma ve Yapılandırma
Giriş
Ubuntu 24.04 üzerinde bir uygulama sunucusu kurmak ve yapılandırmak, üretim ortamlarında web uygulamaları dağıtmak için önemlidir. İster Node.js uygulamaları, ister Python web servisleri veya PHP tabanlı siteler barındırıyor olun, doğru şekilde yapılandırılmış bir uygulama sunucusu güvenilir, güvenli ve ölçeklenebilir dağıtımlar için temel sağlar.
Bu eğitim, Ubuntu 24.04 çalıştıran bir Linux-Console.net Droplet üzerinde üretime hazır bir uygulama sunucusu kurmanızı adım adım rehberlik eder. Temel bileşenlerin nasıl kurulacağını ve yapılandırılacağını, Nginx ile ters proxy kurulumu yapmayı, sunucunuzu SSL sertifikaları ile güvence altına almayı ve uygulamaları süreç yönetimi için systemd kullanarak dağıtmayı öğreneceksiniz. Yapılandırma, üretim için en iyi uygulamaları takip eder ve sunucunuzun gerçek dünya yüklerini yönetmeye hazır olmasını sağlar.
Ana Noktalar
- Linux-Console.net Droplet kullanarak Ubuntu 24.04 üzerinde üretim hazır bir uygulama sunucusu yapılandırın.
- Gelen istekleri yönetmek ve trafiği uygulamalarınıza yönlendirmek için Nginx'i ters proxy olarak kurun
- Güvenli bağlantılar için Let’s Encrypt kullanarak SSL/TLS şifrelemesini uygulayın.
systemdkullanarak uygulamaları dağıtın ve yönetin, bu sayede güvenilir süreç yönetimi sağlayın.- Güvenlik güçlendirme önlemlerini, güvenlik duvarı yapılandırması ve kullanıcı izinleri dahil olmak üzere uygulayın.
- Node.js, Python ve PHP uygulamaları dahil olmak üzere birden fazla uygulama türünü destekleyin.
Önkoşullar
Başlamadan önce, aşağıdakilere sahip olduğunuzdan emin olun:
- Linux-Console.net üzerinde Ubuntu 24.04 çalıştıran bir Droplet. Eğer bir tane oluşturmanız gerekiyorsa,
sudoayrıcalıklarına sahip bir root olmayan kullanıcı oluşturmayı ve bir güvenlik duvarı yapılandırmasını içeren Ubuntu ile İlk Sunucu Kurulumu rehberimizi takip edebilirsiniz. - Bir alan adı, Droplet’ınızın IP adresine yönlendirildi. Bunu, Linux-Console.net ile Bir Ana Bilgisayar Adı Nasıl Kurulur konusundaki rehberimizi izleyerek yapılandırabilirsiniz.
- Linux komut satırına temel düzeyde aşinalık ve sunucunuza SSH erişimi.
Adım 1 — Sistem Paketlerini Güncelleme
Sisteminizin paket dizinini güncelleyerek ve mevcut paketleri yükselterek en son güvenlik yamalarına ve yazılım sürümlerine sahip olduğunuzdan emin olarak başlayın:
sudo apt update
sudo apt upgrade -y
Bu, Ubuntu 24.04 sunucunuzun en güncel paket bilgilerine ve güvenlik güncellemelerine sahip olmasını sağlar. Ubuntu 24.04, Ubuntu 22.04'e kıyasla güncellenmiş paket sürümleri içerir; bunlar arasında systemd, Nginx ve diğer temel bileşenlerin daha yeni sürümleri de bulunmaktadır.
Adım 2 — Nginx'i Ters Vekil Sunucu Olarak Kurma
Nginx, gelen HTTP ve HTTPS isteklerini işleyerek bunları uygulama sunucunuza yönlendiren bir ters proxy olarak görev yapar. Bu yapılandırma birkaç avantaj sağlar: SSL sonlandırma, yük dengeleme yetenekleri ve uygulama sunucunuzu proxy arkasında tutarak güvenliği artırma.
Nginx'i apt ile kurun:
sudo apt install nginx -yKurulumdan sonra, Nginx'i başlatın ve sistem açılışında otomatik olarak çalışacak şekilde etkinleştirin:
sudo systemctl start nginx
sudo systemctl enable nginxNginx'in çalıştığını doğrulayın:
sudo systemctl status nginxNginx'in aktif ve çalışır durumda olduğunu gösteren bir çıktı görmelisiniz.
● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; preset: enabled)
Active: active (running) since Thu 2025-12-18 07:03:01 UTC; 32s ago
Docs: man:nginx(8)
Main PID: 46284 (nginx)
Tasks: 3 (limit: 4656)
Memory: 2.4M (peak: 5.3M)
CPU: 46ms
CGroup: /system.slice/nginx.service
├─46284 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;"
├─46286 "nginx: worker process"
└─46287 "nginx: worker process"
Dec 18 07:03:01 Anish-Ubuntu-24 systemd[1]: Starting nginx.service - A high performance web server and a reverse proxy server...
Dec 18 07:03:01 Anish-Ubuntu-24 systemd[1]: Started nginx.service - A high performance web server and a reverse proxy server.Adım 3 — Güvenlik Duvarını Yapılandırma
Ubuntu 24.04, güvenlik duvarı yönetimi için UFW'yi (Kolaylaştırılmış Güvenlik Duvarı) kullanır. Diğer gereksiz portları engellerken HTTP, HTTPS ve SSH trafiğine izin vermek üzere yapılandırın.
Öncelikle UFW'nin yüklü olduğundan emin olun ve durumunu kontrol edin:
sudo ufw statusUFW etkin değilse, etkinleştirin ve gerekli kuralları yapılandırın:
sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'
sudo ufw enablesudo ufw allow 'Nginx Full'
sudo ufw enable
Rules updated
Rules updated (v6)
Rules updated
Rules updated (v6)
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startupNginx Full profili hem HTTP (port 80) hem de HTTPS (port 443) trafiğine izin verir. Güvenlik duvarı kurallarını doğrulayın:
sudo ufw status verbose
OpenSSH ve Nginx Full trafiğine izin veren kuralları görmelisiniz.
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip
To Action From
-- ------ ----
22/tcp (OpenSSH) ALLOW IN Anywhere
80,443/tcp (Nginx Full) ALLOW IN Anywhere
22/tcp (OpenSSH (v6)) ALLOW IN Anywhere (v6)
80,443/tcp (Nginx Full (v6)) ALLOW IN Anywhere (v6) Adım 4 — Let’s Encrypt ile SSL Kurulumu
Uygulama sunucunuzu SSL/TLS şifrelemesiyle güvence altına almak, üretim ortamı dağıtımları için önemlidir. Let’s Encrypt, otomatik olarak yenilenebilen ücretsiz SSL sertifikaları sağlar.
Certbot ve Nginx eklentisini yükleyin:
sudo apt install certbot python3-certbot-nginx -yAlan adınız için bir SSL sertifikası edinin. your_domain öğesini gerçek alan adınızla değiştirin:
sudo certbot --nginx -d your_domain -d www.your_domainCertbot sizden bir e-posta adresi isteyecek ve HTTP trafiğini HTTPS'ye yönlendirmek isteyip istemediğinizi soracaktır. Daha iyi güvenlik için yönlendirmeyi seçin. Sertifika süresi dolmadan otomatik olarak yenilenecektir.
Otomatik yenileme sürecini test edin:
sudo certbot renew --dry-runBu komut hatasız tamamlanırsa, otomatik yenileme doğru bir şekilde yapılandırılmış demektir.
Adım 5 — Nginx'i Ters Vekil Sunucu Olarak Yapılandırma
Trafiği uygulama sunucunuza yönlendirmek için bir Nginx sunucu bloğu yapılandırması oluşturun. Bu örnek, farklı uygulama türlerine uyarlayabileceğiniz genel bir yapılandırmayı göstermektedir.
Alan adınız için yeni bir yapılandırma dosyası oluşturun:
sudo nano /etc/nginx/sites-available/your_domainAşağıdaki yapılandırmayı ekleyin, your_domain kısmını gerçek alan adınızla değiştirin ve proxy_pass URL'sini uygulamanızın portuna uyacak şekilde ayarlayın:
server {
listen 80;
listen [::]:80;
server_name your_domain www.your_domain;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name your_domain www.your_domain;
ssl_certificate /etc/letsencrypt/live/your_domain/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/your_domain/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_cache_bypass $http_upgrade;
}
}
Bu yapılandırma:
- HTTP trafiğini HTTPS'e yönlendirir
- SSL'yi Nginx seviyesinde sonlandırır
- Port 3000'de (gerektiğinde ayarlayın) çalışan uygulamanıza istekleri iletir
- Müşteri IP adreslerini ve protokol bilgilerini korur
Bir sembolik bağlantı oluşturarak yapılandırmayı etkinleştirin:
sudo ln -s /etc/nginx/sites-available/your_domain /etc/nginx/sites-enabled/Nginx yapılandırmasını sözdizimi hataları açısından test edin:
sudo nginx -tTest geçerse, değişiklikleri uygulamak için Nginx'i yeniden yükleyin:
sudo systemctl reload nginxAdım 6 — Uygulama Çalışma Zamanı Bağımlılıklarını Kurma
İhtiyacınız olan çalışma zamanı bağımlılıkları, uygulama türünüze bağlıdır. Bu bölüm, Node.js, Python ve PHP uygulamaları için kurulumları kapsamaktadır.
Node.js'i Yüklemek
Node.js uygulamaları için, en son LTS sürümünü almak için Node.js’i NodeSource deposunu kullanarak kurun:
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejsKurulumu doğrulayın:
node --version
npm --versionv20.19.6
10.8.2Python ve pip'i Kurmak
Ubuntu 24.04 varsayılan olarak Python 3.12 ile gelir. Pip ve sanal ortam araçlarını yükleyin:
sudo apt install python3-pip python3-venv -yKurulumu doğrulayın:
python3 --version
pip3 --versionpip3 --version
Python 3.12.3
pip 24.0 from /usr/lib/python3/dist-packages/pip (python 3.12)PHP ve PHP-FPM Kurulumu
PHP uygulamaları için PHP ve PHP-FPM (FastCGI Süreç Yöneticisi) yükleyin:
sudo apt install php-fpm php-mysql php-mbstring php-xml php-curl -yPHP-FPM'in çalıştığını doğrulayın:
sudo systemctl status php8.3-fpm Loaded: loaded (/usr/lib/systemd/system/php8.3-fpm.service; enabled; preset: enabled)
Active: active (running) since Thu 2025-12-18 08:02:36 UTC; 1min 56s ago
Docs: man:php-fpm8.3(8)
Process: 59077 ExecStartPost=/usr/lib/php/php-fpm-socket-helper install /run/php/php-fpm.sock /etc/php/8.3/fpm/pool.d/www.conf 83 (code=exited, >
Main PID: 59074 (php-fpm8.3)
Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec"
Tasks: 3 (limit: 4656)
Memory: 9.5M (peak: 10.4M)
CPU: 97ms
CGroup: /system.slice/php8.3-fpm.service
├─59074 "php-fpm: master process (/etc/php/8.3/fpm/php-fpm.conf)"
├─59075 "php-fpm: pool www"
└─59076 "php-fpm: pool www"
Dec 18 08:02:36 Anish-Ubuntu-24 systemd[1]: Starting php8.3-fpm.service - The PHP 8.3 FastCGI Process Manager...<$> Not: Ubuntu 24.04, PHP 8.3 içerir. Sisteminiz farklı bir sürüm kullanıyorsa sürüm numaralarını ayarlayın. <$>
Adım 7 — Uygulamanız için Bir Systemd Servisi Oluşturma
Systemd, uygulamanızı bir servis olarak yönetir, böylece bilgisayar açıldığında otomatik olarak başlar ve çökmesi durumunda yeniden başlatılır. Bu örnek, bir Node.js uygulaması için bir systemd servisi oluşturur, ancak bunu diğer uygulama türleri için de uyarlayabilirsiniz.
Bir systemd servis dosyası oluşturun:
sudo nano /etc/systemd/system/your-app.serviceGerekli durumlarda yolları ve ortam değişkenlerini ayarlayarak aşağıdaki yapılandırmayı ekleyin:
[Unit]
Description=Your Application Server
After=network.target
[Service]
Type=simple
User=www-data
WorkingDirectory=/var/www/your-app
Environment="NODE_ENV=production"
Environment="PORT=3000"
ExecStart=/usr/bin/node /var/www/your-app/server.js
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.targetAna yapılandırma noktaları:
Type=simple: Ön planda çalışan uygulamalar içinUser=www-data: Uygulamayı güvenlik için root olmayan bir kullanıcı olarak çalıştırırWorkingDirectory: Uygulamanın çalışma dizinini ayarlarRestart=on-failure: Uygulama çökerse otomatik olarak yeniden başlatırRestartSec=10: Yeniden başlatmadan önce 10 saniye bekler
Systemd'yi yeniden yükleyin ve servisinizi başlatın:
sudo systemctl daemon-reload
sudo systemctl start your-app
sudo systemctl enable your-appHizmet durumunu kontrol edin:
sudo systemctl status your-app● your-app.service
Loaded: loaded (/etc/systemd/system/your-app.service; enabled; preset: enabled)
Active: active (running) since Thu 2025-12-18 08:07:30 UTC; 4ms ago
Main PID: 59408 ((node))
Tasks: 1 (limit: 4656)
Memory: 512.0K (peak: 512.0K)
CPU: 936us
CGroup: /system.slice/your-app.service
└─59408 "(node)"
Dec 18 08:07:30 Anish-Ubuntu-24 systemd[1]: your-app.service: Scheduled restart job, restart counter is at 4.
Dec 18 08:07:30 Anish-Ubuntu-24 systemd[1]: Started your-app.service.Python Uygulama Örneği
Gunicorn kullanan bir Python uygulaması için, systemd servisinizi şöyle görünebilir:
[Unit]
Description=Your Python Application
After=network.target
[Service]
Type=notify
User=www-data
WorkingDirectory=/var/www/your-app
Environment="PATH=/var/www/your-app/venv/bin"
ExecStart=/var/www/your-app/venv/bin/gunicorn --bind 127.0.0.1:8000 app:app
Restart=on-failure
[Install]
WantedBy=multi-user.targetPHP Uygulama Örneği
PHP uygulamaları için genellikle Nginx ile PHP-FPM kullanırsınız. Nginx’i, istekleri PHP-FPM’e yönlendirecek şekilde yapılandırın:
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.3-fpm.sock;
}Adım 8 — Uygulamanızı Yayına Alma
Uygulamanız için bir dizin oluşturun ve uygun izinleri ayarlayın:
sudo mkdir -p /var/www/your-app
sudo chown -R www-data:www-data /var/www/your-appUygulama dosyalarınızı bu dizine dağıtın. Git, SCP veya diğer dağıtım yöntemlerini kullanabilirsiniz:
cd /var/www/your-app
sudo -u www-data git clone https://github.com/your-username/your-repo.git .Gerekli bağımlılıkları yükleyin ve uygulamanızı ihtiyaca göre oluşturun. Node.js için:
sudo -u www-data npm install --productionPython için:
sudo -u www-data python3 -m venv venv
sudo -u www-data ./venv/bin/pip install -r requirements.txtDağıtımdan sonra, uygulama servisinizi yeniden başlatın:
sudo systemctl restart your-appAdım 9 — Üretim Sertleştirme En İyi Uygulamaları
Uygulama sunucunuzu üretim kullanımına hazırlamak için bu güvenlik önlemlerini uygulayın.
SSH üzerinden Root Girişini Devre Dışı Bırak
SSH yapılandırmasını düzenleyin:
sudo nano /etc/ssh/sshd_configAşağıdakileri ayarlayın:
PermitRootLogin no
PasswordAuthentication noSSH'yi yeniden başlat:
sudo systemctl restart sshdOtomatik Güvenlik Güncellemelerini Yapılandır
Otomatik güvenlik güncellemelerini etkinleştir:
sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure -plow unattended-upgradesGünlük Döngüsünü Ayarla
Günlük dosyalarının disk alanını tüketmesini önlemek için günlük döndürmeyi yapılandırın. Logrotate yapılandırmasını düzenleyin:
sudo nano /etc/logrotate.d/your-appEkle :
/var/www/your-app/logs/*.log {
daily
missingok
rotate 14
compress
delaycompress
notifempty
create 0640 www-data www-data
sharedscripts
}Disk Alanını İzle
Disk alanı azaldığında sizi uyarması için izlemeyi kurun. İzleme araçlarını yükleyin ve yapılandırın:
sudo apt install htop iotop -yAdım 10 — Yaygın Sorunların Giderilmesi
Bu bölüm, uygulama sunucunuzu kurarken karşılaşabileceğiniz yaygın sorunları ele almaktadır.
Uygulama Başlamıyor
Servis durumunu ve günlükleri kontrol edin:
sudo systemctl status your-app
sudo journalctl -u your-app -n 50 --no-pagerYaygın sorunlar şunlardır:
- systemd hizmet dosyasında yanlış dosya yolları
- Eksik ortam değişkenleri
- İzin hataları (servis kullanıcısının uygulama dosyalarına erişebildiğinden emin olun)
Nginx 502 Kötü Ağ Geçidi Hatası
Bu genellikle Nginx'in uygulamanıza bağlanamadığı anlamına gelir. Şunları kontrol edin:
- Uygulamanız çalışıyor:
sudo systemctl status your-app- Uygulama doğru portta dinliyor:
sudo netstat -tlnp | grep 3000Nginxyapılandırmanızdakiproxy_passURL'si, uygulamanızın portuyla eşleşiyor.
SSL Sertifika Sorunları
SSL sertifikaları yenilenmezse:
- Certbot günlüklerini kontrol edin:
sudo tail -f /var/log/letsencrypt/letsencrypt.log- Alan adınızın DNS kayıtlarının sunucunuza yönlendirildiğini doğrulayın:
dig your_domain- Güvenlik duvarınızda 80 ve 443 numaralı portların açık olduğundan emin olun.
Yüksek Bellek Kullanımı
Bellek kullanımını izleyin:
free -h
htopUygulamanız çok fazla bellek kullanıyorsa, şunları göz önünde bulundurun:
- Uygulama kodunuzu optimize etmek
- Droplet’inizin RAM’ini artırmak
- Uygulama düzeyinde önbellekleme uygulamak
Sıkça Sorulan Sorular
1. Ubuntu'da uygulama sunucusu nedir?
Bir uygulama sunucusu, web uygulamalarını çalıştıran ve yöneten bir sunucu ortamıdır. Ubuntu 24.04 üzerinde bu genellikle bir çalışma zamanı ortamının (Node.js, Python veya PHP gibi) yapılandırılmasını, bir ters proxy (Nginx gibi) kurulmasını ve uygulama süreçlerini yönetmek için systemd kullanılmasını içerir. Uygulama sunucusu gelen istekleri işler, uygulama kodunu çalıştırır ve istemcilere yanıtları döndürür.
2. Uygulamam için systemd'yi nasıl yapılandırabilirim?
Uygulamanız için systemd'yi yapılandırmak üzere bir servis dosyası oluşturmanız gerekecek. İşte adım adım bir örnek:
Uygulamanızın /home/ubuntu/my-app konumunda bulunan bir Node.js uygulaması olduğunu ve bunu ubuntu kullanıcısı ile npm start komutunu kullanarak çalıştırmak istediğinizi varsayalım.
- systemd servis dosyasını oluşturun:
sudo nano /etc/systemd/system/my-app.service- Dosyaya aşağıdaki içeriği ekleyin:
[Unit]
Description=My Node.js App
After=network.target
[Service]
Type=simple
User=ubuntu
WorkingDirectory=/home/ubuntu/my-app
ExecStart=/usr/bin/npm start
Restart=on-failure
Environment=NODE_ENV=production
[Install]
WantedBy=multi-user.target- Yeni servisi tanıyabilmesi için systemd'yi yeniden yükleyin:
sudo systemctl daemon-reload- Servisin açılışta başlamasını etkinleştirin:
sudo systemctl enable my-app- Uygulamayı başlatın:
sudo systemctl start my-appArtık uygulamanız arka planda çalışacak, hata durumunda yeniden başlayacak ve sistem açılışında otomatik olarak çalışacak. Durumunu şu komutla kontrol edebilirsiniz:
sudo systemctl status my-appBu yöntem çoğu uygulama ile çalışır. Yığına göre ExecStart, User ve WorkingDirectory değerlerini gerektiği gibi ayarlamanız yeterlidir.
3. Ters vekil sunucum için Nginx mi yoksa Apache mi kullanmalıyım?
Hem Nginx hem de Apache ters proxy olarak iyi çalışır, ancak Nginx, daha düşük bellek kullanımı, yüksek eşzamanlılık altında daha iyi performans ve ters proxy senaryoları için daha basit yapılandırması nedeniyle modern uygulama sunucuları için genellikle tercih edilir.
Nginx ayrıca statik içerik yönetiminde ve istekleri uygulama sunucularına yönlendirmede de başarılıdır, bu da onu üretim dağıtımları için ideal kılar. Apache yine sağlam bir seçenek olarak kalır, özellikle belirli modüllere ihtiyacınız varsa veya yapılandırma sözdizimine daha aşinaysanız.
4. Ubuntu 24.04 üzerinde uygulama sunucumu nasıl güvence altına alabilirim?
Uygulama sunucunuzu şunları yaparak güvence altına alın: UFW güvenlik duvarını etkinleştirin ve yalnızca gerekli portlara izin verin, Let’s Encrypt ile SSL sertifikaları kurun, uygulamaları root olmayan kullanıcılar olarak çalıştırın, root SSH girişini devre dışı bırakın, otomatik güvenlik güncellemelerini yapılandırın, yazılım paketlerini güncel tutun ve uygun dosya izinlerini uygulayın. Ayrıca, güçlü parolalar veya SSH anahtarları kullanın, brute-force saldırılarını önlemek için fail2ban'ı yapılandırın ve düzenli olarak uygulama ve sistem kayıtlarını şüpheli etkinlikler için gözden geçirin.
5. Tek bir Ubuntu sunucusunda birden fazla uygulama barındırabilir miyim?
Evet, tek bir Ubuntu 24.04 sunucusunda birden fazla uygulama barındırabilirsiniz. Her uygulama için ayrı systemd servisleri yapılandırın ve her birinin farklı portlarda (ör. 3000, 3001, 8000) dinlemesini sağlayın. Her alan adı veya alt alan adı için Nginx sunucu blokları (sanal hostlar) kurun ve her blok uygun uygulama portuna yönlendirme yapsın. Bu yaklaşım, uygulamalar arasında izolasyonu korurken sunucu kaynaklarını verimli bir şekilde kullanmanıza olanak tanır.
6. Uygulamamın düzgün çalışıp çalışmadığını nasıl kontrol edebilirim?
Uygulamanızın çalıştığını, sudo systemctl status your-app komutuyla systemd servis durumunu kontrol ederek doğrulayın. Canlı log çıktısını görmek için uygulama loglarını sudo journalctl -u your-app -f ile inceleyin. Uygulamayı alan adı veya IP adresiniz üzerinden erişerek test edin. Nginx'in istekleri doğru bir şekilde yönlendirdiğinden emin olmak için /var/log/nginx/access.log ve /var/log/nginx/error.log dosyalarındaki Nginx erişim ve hata loglarını kontrol edin. Uygulamanızın aşırı CPU veya bellek tüketmediğinden emin olmak için htop veya free -h ile kaynak kullanımını izleyin.
Sonuç
Ubuntu 24.04 üzerinde üretime hazır bir uygulama sunucusunu başarıyla kurup yapılandırdınız. Linux-Console.net Droplet’iniz artık ters proxy olarak Nginx, SSL/TLS şifrelemesi, systemd servis yönetimi ve güvenlik sertleştirme önlemleriyle donatılmış durumda. Bu yapılandırma, Node.js, Python, PHP ve diğer web uygulamalarını güvenli ve ölçeklenebilir bir ortamda dağıtmayı destekler.
Yapılandırma, otomatik servis yeniden başlatmaları, SSL sertifika yenileme, güvenlik duvarı koruması ve uygun kullanıcı izinleri dahil olmak üzere üretim en iyi uygulamalarına göre düzenlenmiştir. Uygulama sunucunuz, gerçek dünya iş yüklerini karşılamaya hazırdır ve ihtiyaçlarınız arttıkça ölçeklenebilir.
Daha fazla öğrenme ve gelişmiş yapılandırmalar için, bu ilgili Linux-Console.net eğitimlerini inceleyin:
- Ubuntu'da Docker Nasıl Kurulur ve Kullanılır - Uygulama dağıtımını ve yönetimini kolaylaştırmak için konteynerleştirmeyi öğrenin
- Ubuntu'da Nginx'i Reverse Proxy Olarak Yapılandırma - Gelişmiş Nginx reverse proxy yapılandırmalarına derinlemesine bakış
- Sunucularınızı Korumak İçin Önerilen Güvenlik Önlemleri - Üretim sunucuları için ek güvenlik güçlendirme teknikleri
Uygulamalarınızı dağıtmaya hazır mısınız? Uygulama sunucunuz için ölçeklenebilir ve güvenilir bir altyapı oluşturmak üzere Linux-Console.net Droplets ile başlayın. Otomatik yedekleme, izleme ve esnek fiyatlandırma gibi özelliklere sahip Linux-Console.net Droplets, üretim dağıtımları için ihtiyacınız olan temeli sağlar.
Linux-Console.net Topluluğu ile öğrenme sürecine katıldığınız için teşekkürler.
