Wyszukiwanie w witrynie

Konfiguracja i ustawienie serwera aplikacji na Ubuntu 24.04


Wprowadzenie

Konfigurowanie i ustawianie serwera aplikacji na Ubuntu 24.04 jest kluczowe dla wdrażania aplikacji internetowych w środowiskach produkcyjnych. Niezależnie od tego, czy hostujesz aplikacje Node.js, usługi webowe w Pythonie, czy strony oparte na PHP, prawidłowo skonfigurowany serwer aplikacji zapewnia podstawę dla niezawodnych, bezpiecznych i skalowalnych wdrożeń.

Ten samouczek przeprowadzi Cię przez proces konfiguracji serwera aplikacyjnego gotowego do produkcji na Droplecie Linux-Console.net działającym na Ubuntu 24.04. Dowiesz się, jak zainstalować i skonfigurować podstawowe komponenty, ustawić serwer proxy odwrotnego Nginx, zabezpieczyć serwer za pomocą certyfikatów SSL oraz wdrażać aplikacje używając systemd do zarządzania procesami. Konfiguracja jest zgodna z najlepszymi praktykami produkcyjnymi, zapewniając, że Twój serwer jest gotowy do obsługi rzeczywistych obciążeń.

Najważniejsze wnioski

  • Skonfiguruj serwer aplikacji gotowy do produkcji na Ubuntu 24.04, korzystając z Dropleta Linux-Console.net.
  • Skonfiguruj Nginx jako serwer proxy odwrotnego kierowania, aby obsługiwał nadchodzące żądania i przekierowywał ruch do twoich aplikacji
  • Wdrożenie szyfrowania SSL/TLS przy użyciu Let’s Encrypt w celu zapewnienia bezpiecznych połączeń.
  • Wdrażaj i zarządzaj aplikacjami za pomocą systemd dla niezawodnego zarządzania procesami.
  • Zastosuj środki wzmacniające bezpieczeństwo, w tym konfigurację zapory sieciowej i uprawnienia użytkowników.
  • Obsługuje różne typy aplikacji, w tym aplikacje Node.js, Python i PHP.

Wymagania wstępne

Zanim zaczniesz, upewnij się, że masz następujące rzeczy:

  • Dysk Linux-Console.net uruchomiony na Ubuntu 24.04. Jeśli potrzebujesz go utworzyć, skorzystaj z naszego przewodnika dotyczącego wstępnej konfiguracji serwera z Ubuntu, który obejmuje tworzenie użytkownika nieuprzywilejowanego z uprawnieniami sudo oraz konfigurację firewalla.
  • Nazwa domeny została skierowana na adres IP Twojego Dropleta. Możesz ją skonfigurować, korzystając z naszego przewodnika Jak ustawić nazwę hosta na Linux-Console.net.
  • Podstawowa znajomość wiersza poleceń Linuksa oraz dostęp SSH do serwera.

Krok 1 — Aktualizacja pakietów systemowych

Rozpocznij od aktualizacji indeksu pakietów systemowych i uaktualnienia istniejących pakietów, aby upewnić się, że masz najnowsze poprawki bezpieczeństwa i wersje oprogramowania:

sudo apt update
sudo apt upgrade -y

To zapewnia, że Twój serwer Ubuntu 24.04 posiada najnowsze informacje o pakietach i aktualizacje bezpieczeństwa. Ubuntu 24.04 zawiera zaktualizowane wersje pakietów w porównaniu z Ubuntu 22.04, w tym nowsze wersje systemd, Nginx i innych kluczowych komponentów.

Krok 2 — Instalacja Nginx jako serwera proxy

Nginx pełni funkcję odwrotnego serwera proxy, obsługując przychodzące żądania HTTP i HTTPS oraz przekazując je do serwera aplikacji. Ta konfiguracja przynosi kilka korzyści: obsługę SSL, możliwości równoważenia obciążenia oraz zwiększone bezpieczeństwo dzięki umieszczeniu serwera aplikacji za serwerem proxy.

Zainstaluj Nginx za pomocą apt:

sudo apt install nginx -y

Po instalacji uruchom i włącz Nginx, aby startował automatycznie przy włączaniu systemu:

sudo systemctl start nginx
sudo systemctl enable nginx

Sprawdź, czy Nginx działa:

sudo systemctl status nginx

Powinieneś zobaczyć informacje wskazujące, że Nginx jest aktywny i działa.

● 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.

Krok 3 — Konfigurowanie zapory sieciowej

Ubuntu 24.04 używa UFW (Uncomplicated Firewall) do zarządzania zaporą sieciową. Skonfiguruj go tak, aby zezwalał na ruch HTTP, HTTPS i SSH, blokując jednocześnie inne niepotrzebne porty.

Najpierw upewnij się, że UFW jest zainstalowany i sprawdź jego status:

sudo ufw status

Jeśli UFW nie jest aktywny, włącz go i skonfiguruj niezbędne reguły:

sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'
sudo ufw enable
sudo 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 startup

Profil Nginx Full umożliwia ruch zarówno HTTP (port 80), jak i HTTPS (port 443). Sprawdź reguły zapory:

sudo ufw status verbose

Powinieneś zobaczyć reguły pozwalające na ruch OpenSSH i Nginx Full.

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)            

Krok 4 — Konfiguracja SSL za pomocą Let’s Encrypt

Zabezpieczenie serwera aplikacji za pomocą szyfrowania SSL/TLS jest niezbędne w przypadku wdrożeń produkcyjnych. Let’s Encrypt oferuje darmowe certyfikaty SSL, które mogą być automatycznie odnawiane.

Zainstaluj Certbot oraz wtyczkę Nginx:

sudo apt install certbot python3-certbot-nginx -y

Uzyskaj certyfikat SSL dla swojej domeny. Zastąp your_domain swoją rzeczywistą nazwą domeny:

sudo certbot --nginx -d your_domain -d www.your_domain

Certbot poprosi Cię o podanie adresu e-mail i zapyta, czy chcesz przekierować ruch HTTP na HTTPS. Wybierz przekierowanie dla lepszego bezpieczeństwa. Certyfikat zostanie automatycznie odnowiony przed wygaśnięciem.

Przetestuj proces automatycznego odnawiania:

sudo certbot renew --dry-run

Jeśli to polecenie zostanie wykonane bez błędów, automatyczne odnawianie jest skonfigurowane poprawnie.

Krok 5 — Konfigurowanie Nginx jako serwera proxy

Utwórz konfigurację bloku serwera Nginx, aby kierować ruch do serwera aplikacji. Ten przykład pokazuje ogólną konfigurację, którą można dostosować do różnych typów aplikacji.

Utwórz nowy plik konfiguracyjny dla swojej domeny:

sudo nano /etc/nginx/sites-available/your_domain

Dodaj następującą konfigurację, zamieniając your_domain na swoją rzeczywistą domenę i dostosowując URL proxy_pass do portu swojej aplikacji:

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;
    }
}

Ta konfiguracja:

  • Przekierowuje ruch HTTP na HTTPS
  • Kończy SSL na poziomie Nginx
  • Przekazuje żądania do Twojej aplikacji działającej na porcie 3000 (dostosuj w razie potrzeby)
  • Zachowuje adresy IP klientów oraz informacje o protokole

Włącz konfigurację, tworząc dowiązanie symboliczne:

sudo ln -s /etc/nginx/sites-available/your_domain /etc/nginx/sites-enabled/

Przetestuj konfigurację Nginx pod kątem błędów składniowych:

sudo nginx -t

Jeśli test się powiedzie, przeładuj Nginx, aby zastosować zmiany:

sudo systemctl reload nginx

Krok 6 — Instalowanie zależności środowiska uruchomieniowego aplikacji

Zależności w czasie wykonywania, których potrzebujesz, zależą od typu Twojej aplikacji. Ta sekcja obejmuje konfigurację dla aplikacji Node.js, Python i PHP.

Instalowanie Node.js

Dla aplikacji Node.js zainstaluj Node.js korzystając z repozytorium NodeSource, aby uzyskać najnowszą wersję LTS:

curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs

Zweryfikuj instalację:

node --version
npm --version
v20.19.6
10.8.2

Instalowanie Pythona i pip

Ubuntu 24.04 domyślnie zawiera Pythona 3.12. Zainstaluj pip oraz narzędzia do tworzenia wirtualnych środowisk:

sudo apt install python3-pip python3-venv -y

Zweryfikuj instalację:

python3 --version
pip3 --version
pip3 --version
Python 3.12.3
pip 24.0 from /usr/lib/python3/dist-packages/pip (python 3.12)

Instalacja PHP i PHP-FPM

Dla aplikacji PHP zainstaluj PHP i PHP-FPM (FastCGI Process Manager):

sudo apt install php-fpm php-mysql php-mbstring php-xml php-curl -y

Sprawdź, czy PHP-FPM działa:

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...

<$> Uwaga: Ubuntu 24.04 zawiera PHP 8.3. Dostosuj numery wersji, jeśli Twój system używa innej wersji. <$>

Krok 7 — Tworzenie usługi Systemd dla Twojej aplikacji

Systemd zarządza Twoją aplikacją jako usługą, zapewniając jej automatyczne uruchamianie przy starcie systemu oraz ponowne uruchamianie w przypadku awarii. Ten przykład tworzy usługę systemd dla aplikacji Node.js, ale możesz go dostosować do innych typów aplikacji.

Utwórz plik usługi systemd:

sudo nano /etc/systemd/system/your-app.service

Dodaj następującą konfigurację, dostosowując ścieżki i zmienne środowiskowe w razie potrzeby:

[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.target

Kluczowe punkty konfiguracji:

  • Type=simple: Dla aplikacji działających na pierwszym planie
  • User=www-data: Uruchamia aplikację jako użytkownik niebędący rootem w celu zwiększenia bezpieczeństwa
  • WorkingDirectory: Ustawia katalog roboczy aplikacji
  • Restart=on-failure: Automatycznie ponownie uruchamia aplikację, jeśli ulegnie awarii
  • RestartSec=10: Czeka 10 sekund przed ponownym uruchomieniem

Przeładuj systemd i uruchom swoją usługę:

sudo systemctl daemon-reload
sudo systemctl start your-app
sudo systemctl enable your-app

Sprawdź status usługi:

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.

Przykład aplikacji w Pythonie

Dla aplikacji Pythona korzystającej z Gunicorna, Twój serwis systemd może wyglądać tak:

[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.target

Przykład aplikacji PHP

W przypadku aplikacji PHP zazwyczaj używa się PHP-FPM z Nginx. Skonfiguruj Nginx, aby przekazywał żądania do PHP-FPM:

location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/var/run/php/php8.3-fpm.sock;
}

Krok 8 — Wdrażanie Twojej Aplikacji

Utwórz katalog dla swojej aplikacji i ustaw odpowiednie uprawnienia:

sudo mkdir -p /var/www/your-app
sudo chown -R www-data:www-data /var/www/your-app

Wdróż pliki swojej aplikacji do tego katalogu. Możesz użyć Gita, SCP lub innych metod wdrażania:

cd /var/www/your-app
sudo -u www-data git clone https://github.com/your-username/your-repo.git .

Zainstaluj zależności i zbuduj swoją aplikację w razie potrzeby. Dla Node.js:

sudo -u www-data npm install --production

Dla Pythona:

sudo -u www-data python3 -m venv venv
sudo -u www-data ./venv/bin/pip install -r requirements.txt

Po wdrożeniu uruchom ponownie usługę aplikacji:

sudo systemctl restart your-app

Krok 9 — Najlepsze praktyki utwardzania produkcji

Zastosuj te środki bezpieczeństwa, aby wzmocnić serwer aplikacji do użytku produkcyjnego.

Wyłącz logowanie root przez SSH

Edytuj konfigurację SSH:

sudo nano /etc/ssh/sshd_config

Ustaw następujące:

PermitRootLogin no
PasswordAuthentication no

Uruchom ponownie SSH:

sudo systemctl restart sshd

Skonfiguruj automatyczne aktualizacje zabezpieczeń

Włącz automatyczne aktualizacje bezpieczeństwa:

sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure -plow unattended-upgrades

Skonfiguruj rotację logów

Skonfiguruj rotację logów, aby zapobiec zajmowaniu całego miejsca na dysku przez pliki logów. Edytuj konfigurację logrotate:

sudo nano /etc/logrotate.d/your-app

Dodaj :

/var/www/your-app/logs/*.log {
    daily
    missingok
    rotate 14
    compress
    delaycompress
    notifempty
    create 0640 www-data www-data
    sharedscripts
}

Monitoruj miejsce na dysku

Skonfiguruj monitorowanie, aby powiadamiało Cię, gdy miejsce na dysku jest mało. Zainstaluj i skonfiguruj narzędzia do monitorowania:

sudo apt install htop iotop -y

Krok 10 — Rozwiązywanie typowych problemów

Ta sekcja omawia typowe problemy, na które możesz natknąć się podczas konfigurowania serwera aplikacji.

Aplikacja nie uruchamia się

Sprawdź status usługi i logi:

sudo systemctl status your-app
sudo journalctl -u your-app -n 50 --no-pager

Typowe problemy obejmują:

  • Nieprawidłowe ścieżki plików w pliku usługi systemd
  • Brakujące zmienne środowiskowe
  • Błędy uprawnień (upewnij się, że użytkownik serwisu ma dostęp do plików aplikacji)

Błąd 502 Nieprawidłowa brama Nginx

To zwykle oznacza, że Nginx nie może połączyć się z Twoją aplikacją. Sprawdź:

  • Twoja aplikacja działa:
sudo systemctl status your-app
  • Aplikacja nasłuchuje na poprawnym porcie:
sudo netstat -tlnp | grep 3000
  • Adres URL proxy_pass w Twojej konfiguracji Nginx pasuje do portu Twojej aplikacji.

Problemy z certyfikatem SSL

Jeśli odnowienie certyfikatów SSL się nie powiedzie:

  • Sprawdź logi Certbot:
sudo tail -f /var/log/letsencrypt/letsencrypt.log
  • Sprawdź, czy rekordy DNS Twojej domeny wskazują na Twój serwer:
dig your_domain
  • Upewnij się, że porty 80 i 443 są otwarte w twojej zaporze sieciowej.

Wysokie zużycie pamięci

Monitoruj użycie pamięci:

free -h
htop

Jeśli Twoja aplikacja zużywa zbyt dużo pamięci, rozważ:

  • Optymalizacja kodu aplikacji
  • Zwiększanie pamięci RAM Twojego Dropleta
  • Wdrażanie buforowania na poziomie aplikacji

Najczęściej zadawane pytania

1. Czym jest serwer aplikacji w Ubuntu?

Serwer aplikacji to środowisko serwerowe, które uruchamia i zarządza aplikacjami internetowymi. W systemie Ubuntu 24.04 zwykle obejmuje to konfigurację środowiska uruchomieniowego (takiego jak Node.js, Python czy PHP), ustawienie serwera proxy typu reverse (takiego jak Nginx) oraz użycie systemd do zarządzania procesami aplikacji. Serwer aplikacji obsługuje przychodzące żądania, wykonuje kod aplikacji i zwraca odpowiedzi klientom.

2. Jak skonfigurować systemd dla mojej aplikacji?

Aby skonfigurować systemd dla swojej aplikacji, musisz utworzyć plik usługi. Oto przykładowy przewodnik krok po kroku:

Załóżmy, że Twoja aplikacja to aplikacja Node.js znajdująca się w /home/ubuntu/my-app i chcesz uruchomić ją za pomocą npm start używając użytkownika ubuntu.

  • Utwórz plik usługi systemd:
sudo nano /etc/systemd/system/my-app.service
  • Dodaj następującą zawartość do pliku:
[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
  • Przeładuj systemd, aby rozpoznał nową usługę:
sudo systemctl daemon-reload
  • Włącz usługę, aby uruchamiała się przy starcie systemu:
sudo systemctl enable my-app
  • Uruchom aplikację:
sudo systemctl start my-app

Teraz Twoja aplikacja będzie działać w tle, uruchomi się ponownie w razie awarii i automatycznie startować przy uruchomieniu systemu. Jej status możesz sprawdzić za pomocą:

sudo systemctl status my-app

Ta metoda działa z większością aplikacji. Wystarczy dostosować ExecStart, User i WorkingDirectory zgodnie z potrzebami twojego stosu.

3. Czy powinienem użyć Nginx czy Apache jako mojego serwera proxy?

Zarówno Nginx, jak i Apache dobrze sprawdzają się jako serwery proxy, ale Nginx jest często preferowany w przypadku nowoczesnych serwerów aplikacji ze względu na mniejsze zużycie pamięci, lepszą wydajność przy dużej liczbie jednoczesnych połączeń oraz prostszą konfigurację w scenariuszach użycia jako serwer proxy.

Nginx również doskonale radzi sobie z obsługą treści statycznych i przekazywaniem żądań do serwerów aplikacyjnych, co czyni go idealnym rozwiązaniem do wdrożeń produkcyjnych. Apache pozostaje solidnym wyborem, szczególnie jeśli potrzebujesz konkretnych modułów lub jesteś bardziej zaznajomiony z jego składnią konfiguracji.

4. Jak zabezpieczyć mój serwer aplikacji na Ubuntu 24.04?

Zabezpiecz swój serwer aplikacji poprzez: włączenie zapory UFW i umożliwienie dostępu tylko do niezbędnych portów, instalację certyfikatów SSL za pomocą Let’s Encrypt, uruchamianie aplikacji jako użytkownicy nieuprzywilejowani (non-root), wyłączenie logowania SSH dla root, skonfigurowanie automatycznych aktualizacji bezpieczeństwa, utrzymywanie aktualności pakietów oprogramowania oraz stosowanie odpowiednich uprawnień do plików. Dodatkowo używaj silnych haseł lub kluczy SSH, skonfiguruj fail2ban w celu zapobiegania atakom brute-force oraz regularnie przeglądaj logi aplikacji i systemu pod kątem podejrzanej aktywności.

5. Czy mogę hostować wiele aplikacji na jednym serwerze Ubuntu?

Tak, możesz hostować wiele aplikacji na jednym serwerze Ubuntu 24.04. Skonfiguruj oddzielne usługi systemd dla każdej aplikacji, każda nasłuchująca na innym porcie (np. 3000, 3001, 8000). Skonfiguruj bloki serwera Nginx (wirtualne hosty) dla każdej domeny lub subdomeny, z każdym blokiem przekierowującym ruch do odpowiedniego portu aplikacji. Takie podejście pozwala efektywnie wykorzystać zasoby serwera, jednocześnie zachowując izolację między aplikacjami.

6. Jak sprawdzić, czy moja aplikacja działa poprawnie?

Sprawdź, czy Twoja aplikacja działa, kontrolując status usługi systemd za pomocą sudo systemctl status your-app. Przejrzyj logi aplikacji korzystając z sudo journalctl -u your-app -f, aby zobaczyć logi w czasie rzeczywistym. Przetestuj aplikację, uzyskując do niej dostęp przez swoją domenę lub adres IP. Sprawdź, czy Nginx poprawnie kieruje żądania, przeglądając logi dostępu i błędów Nginx w /var/log/nginx/access.log i /var/log/nginx/error.log. Monitoruj użycie zasobów za pomocą htop lub free -h, aby upewnić się, że aplikacja nie zużywa nadmiernie CPU ani pamięci.

Wniosek

Pomyślnie skonfigurowałeś i uruchomiłeś serwer aplikacji gotowy do pracy produkcyjnej na Ubuntu 24.04. Twój Droplet z Linux-Console.net jest teraz wyposażony w Nginx jako serwer proxy, szyfrowanie SSL/TLS, zarządzanie usługami za pomocą systemd oraz środki wzmacniające bezpieczeństwo. Ta konfiguracja umożliwia wdrażanie aplikacji Node.js, Python, PHP i innych aplikacji internetowych w bezpiecznym, skalowalnym środowisku.

Konfiguracja przestrzega najlepszych praktyk stosowanych w produkcji, w tym automatyczne ponowne uruchamianie usług, odnawianie certyfikatów SSL, ochronę zapory sieciowej oraz odpowiednie uprawnienia użytkowników. Twój serwer aplikacyjny jest gotowy do obsługi rzeczywistych obciążeń i może być skalowany w miarę wzrostu potrzeb.

Aby kontynuować naukę i poznać zaawansowane konfiguracje, zapoznaj się z tymi powiązanymi poradnikami na Linux-Console.net:

  • Jak zainstalować i korzystać z Dockera na Ubuntu - Naucz się konteneryzacji dla łatwiejszego wdrażania i zarządzania aplikacjami
  • Jak skonfigurować Nginx jako serwer proxy odwrotnego na Ubuntu - Dogłębne spojrzenie na zaawansowane konfiguracje proxy odwrotnego Nginx
  • Zalecane środki bezpieczeństwa w celu ochrony serwerów - Dodatkowe techniki wzmacniania bezpieczeństwa dla serwerów produkcyjnych

Gotowy, aby wdrożyć swoje aplikacje? Zacznij od Dropletów Linux-Console.net, aby stworzyć skalowalną i niezawodną infrastrukturę dla swojego serwera aplikacji. Dzięki funkcjom takim jak automatyczne kopie zapasowe, monitorowanie i elastyczne ceny, Droplety Linux-Console.net zapewniają podstawę potrzebną do wdrożeń produkcyjnych.

Dziękujemy za naukę z społecznością Linux-Console.net.