Πώς να εγκαταστήσετε τον διακομιστή Web Nginx στο Ubuntu 20.04


Ο Nginx είναι ένας διακομιστής ιστού ανοιχτού κώδικα, υψηλής απόδοσης που κατέχει τεράστιο μερίδιο αγοράς σε περιβάλλοντα παραγωγής. Είναι ένας ελαφρύς και ισχυρός διακομιστής ιστού που χρησιμοποιείται κυρίως για τη φιλοξενία ιστότοπων υψηλής επισκεψιμότητας.

Σχετική ανάγνωση: Πώς να εγκαταστήσετε τον διακομιστή Web Apache στο Ubuntu 20.04

Σε αυτόν τον οδηγό, θα μάθετε πώς να εγκαταστήσετε τον διακομιστή ιστού Nginx και να ρυθμίσετε το μπλοκ διακομιστή Nginx (εικονικοί κεντρικοί υπολογιστές) στο Ubuntu 20.04 LTS.

Προαπαιτούμενα

Για να ξεκινήσετε, βεβαιωθείτε ότι έχετε μια παρουσία του Ubuntu 20.04 LTS με πρόσβαση SSH και έναν χρήστη Sudo με δικαιώματα root. Επιπλέον, συνιστάται μια σταθερή σύνδεση στο διαδίκτυο για την εγκατάσταση πακέτων Nginx.

Εγκατάσταση του Nginx στο Ubuntu 20.04

1. Πριν εγκαταστήσετε το Nginx, ενημερώστε τις λίστες πακέτων του διακομιστή σας.

sudo apt update

2. Στη συνέχεια εγκαταστήστε το Nginx εκτελώντας την εντολή:

sudo apt install nginx

Όταν σας ζητηθεί να συνεχίσετε, πατήστε 'Y' στο πληκτρολόγιο και πατήστε ENTER. Η εγκατάσταση θα γίνει σε λίγα δευτερόλεπτα.

3. Με την επιτυχή εγκατάσταση του Nginx, μπορείτε να ξεκινήσετε και να το επαληθεύσετε εκτελώντας:

sudo systemctl start nginx
sudo systemctl status nginx

Η παραπάνω έξοδος δείχνει ξεκάθαρα ότι το Nginx εκτελείται.

4. Για να ελέγξετε την έκδοση του Nginx, εκτελέστε:

sudo dpkg -l nginx

Η έξοδος δείχνει ότι εκτελούμε το Nginx 1.17.10 που είναι η πιο πρόσφατη έκδοση τη στιγμή της σύνταξης αυτού του άρθρου.

Ανοίξτε τις θύρες Nginx στο τείχος προστασίας UFW

Τώρα που έχετε εγκαταστήσει το Nginx και εκτελείτε όπως αναμενόταν, απαιτούνται μερικές προσαρμογές για την πρόσβαση στο Nginx μέσω ενός προγράμματος περιήγησης ιστού. Εάν εκτελείτε το τείχος προστασίας UFW, πρέπει να επιτρέψετε το προφίλ εφαρμογής Nginx.

Υπάρχουν 3 προφίλ Nginx που σχετίζονται με το τείχος προστασίας ufw.

  1. Nginx Full – Αυτό ανοίγει και τις δύο θύρες 80 και 443 (για κρυπτογράφηση SSL/TLS).
  2. Nginx HTTP – Αυτή η ανοιχτή μόνο θύρα 80 (Για μη κρυπτογραφημένη κίνηση ιστού).
  3. Nginx HTTPS – Ανοίγει μόνο τη θύρα 443 (Για κρυπτογράφηση SSL/TLS).

5. Ξεκινήστε ενεργοποιώντας το τείχος προστασίας στο Ubuntu 20.04.


sudo ufw enable

6. Προς το παρόν, επειδή δεν είμαστε σε κρυπτογραφημένο διακομιστή, θα επιτρέψουμε μόνο το προφίλ Nginx HTTP που θα επιτρέπει την κυκλοφορία στη θύρα 80 .

sudo ufw allow 'Nginx HTTP'

7. Στη συνέχεια, φορτώστε ξανά το τείχος προστασίας για να διατηρηθούν οι αλλαγές.

sudo ufw reload

8. Τώρα ελέγξτε την κατάσταση του τείχους προστασίας για να επαληθεύσετε τα προφίλ που έχουν επιτραπεί.

sudo ufw status

Δοκιμή του Nginx στο Ubuntu 20.04

Το Nginx εκτελείται στο πρόγραμμα περιήγησης όπως θα περιμένατε με οποιονδήποτε διακομιστή ιστού και ο πιο σίγουρος τρόπος για να ελέγξετε εάν εκτελείται όπως αναμένεται είναι η αποστολή αιτημάτων μέσω ενός προγράμματος περιήγησης.

9. Επομένως, κατευθυνθείτε στο πρόγραμμα περιήγησής σας και περιηγηθείτε στη διεύθυνση IP ή το όνομα τομέα του διακομιστή. Για να ελέγξετε την IP του διακομιστή σας, εκτελέστε την εντολή ifconfig:

ifconfig

10. Εάν βρίσκεστε σε διακομιστή cloud, εκτελέστε την παρακάτω εντολή curl για να ανακτήσετε τη δημόσια IP του διακομιστή.

curl ifconfig.me

11. Στο πεδίο URL του προγράμματος περιήγησής σας, εισαγάγετε τη διεύθυνση IP ή το όνομα τομέα του διακομιστή σας και πατήστε ENTER.

http://server-IP or domain-name

Θα πρέπει να λάβετε μια προεπιλεγμένη σελίδα καλωσορίσματος Nginx όπως φαίνεται.

Διαχείριση της διαδικασίας Nginx στο Ubuntu 20.04

12. Για να σταματήσετε τον διακομιστή web Nginx, απλώς εκτελέστε:

sudo systemctl stop nginx

13. Για να επαναφέρετε τον διακομιστή ιστού, εκτελέστε:

sudo systemctl start nginx

14. Για αυτόματη εκκίνηση του Nginx κατά την εκκίνηση ή την επανεκκίνηση:

sudo systemctl enable nginx

15. Εάν θέλετε να επανεκκινήσετε τον διακομιστή ιστού, ειδικά αφού κάνετε αλλαγές στα αρχεία διαμόρφωσης, εκτελέστε:

sudo systemctl restart nginx

16. Εναλλακτικά, μπορείτε να φορτώσετε ξανά για να αποφύγετε την απόρριψη συνδέσεων όπως φαίνεται.

sudo systemctl reload nginx

Διαμόρφωση μπλοκ διακομιστή Nginx στο Ubuntu 20.04

Εάν σκοπεύετε να φιλοξενήσετε περισσότερους από έναν ιστότοπους στον διακομιστή σας, τότε συνιστάται ιδιαίτερα η ρύθμιση ενός μπλοκ διακομιστή Nginx. Το μπλοκ διακομιστή είναι το ισοδύναμο του εικονικού κεντρικού υπολογιστή του Apache.

Από προεπιλογή, το Nginx αποστέλλεται με το προεπιλεγμένο μπλοκ διακομιστή του, το οποίο έχει ρυθμιστεί να εξυπηρετεί περιεχόμενο ιστού στη διαδρομή /var/www/html.

Θα δημιουργήσουμε ένα ξεχωριστό μπλοκ Nginx για την εξυπηρέτηση του περιεχομένου του τομέα μας. Για αυτόν τον οδηγό, θα χρησιμοποιήσουμε τον τομέα crazytechgeek.info.
Για την περίπτωσή σας, φροντίστε να το αντικαταστήσετε με το δικό σας όνομα τομέα.

17. Για να δημιουργήσετε ένα αρχείο μπλοκ διακομιστή, πρώτα, δημιουργήστε έναν κατάλογο για τον τομέα σας όπως φαίνεται.

sudo mkdir -p /var/www/crazytechgeek.info/html

18. Στη συνέχεια, εκχωρήστε την κυριότητα στον νέο κατάλογο χρησιμοποιώντας τη μεταβλητή $USER.

sudo chown -R $USER:$USER /var/www/crazytechgeek.info/html

19. Βεβαιωθείτε ότι εκχωρείτε επίσης δικαιώματα καταλόγου, επιτρέποντας στον κάτοχο να έχει όλα τα δικαιώματα (ανάγνωση, εγγραφή και εκτέλεση) και παραχωρώντας σε άλλα μέρη δικαιώματα μόνο ανάγνωσης και εκτέλεσης.

sudo chmod -R 755 /var/www/crazytechgeek.info

20. Μέσα στον κατάλογο τομέα, δημιουργήστε ένα αρχείο index.html που θα περιέχει το περιεχόμενο ιστού του τομέα.

sudo vim /var/www/crazytechgeek.info/html/index.html

Επικολλήστε το παρακάτω περιεχόμενο στο δείγμα αρχείου δοκιμής.

<html>
    <head>
        <title>Welcome to your_domain!</title>
    </head>
    <body>
        <h1>Bravo! Your server block is working as expected!</h1>
    </body>
</html>

Αποθηκεύστε τις αλλαγές και βγείτε από το αρχείο.

21. Για να εξυπηρετεί ο διακομιστής ιστού Nginx το περιεχόμενο που μόλις προσθέσατε, πρέπει να δημιουργήσετε ένα μπλοκ διακομιστή με τις κατάλληλες οδηγίες. Σε αυτήν την περίπτωση, δημιουργήσαμε ένα νέο μπλοκ διακομιστή στη διεύθυνση:

sudo vim /etc/nginx/sites-available/crazytechgeek.info

Επικολλήστε τη διαμόρφωση που εμφανίζεται.

server {
        listen 80;
        listen [::]:80;

        root /var/www/crazytechgeek.info/html;
        index index.html index.htm index.nginx-debian.html;

        server_name crazytechgeek.info  www.crazytechgeek.info;

        location / {
                try_files $uri $uri/ =404;
        }
}

Αποθήκευση και έξοδος.

22. Τώρα ενεργοποιήστε το αρχείο μπλοκ διακομιστή συνδέοντάς το με τον κατάλογο ενεργοποιημένοι ιστότοποι από τον οποίο διαβάζεται ο διακομιστής Nginx κατά την εκκίνηση.

sudo ln -s /etc/nginx/sites-available/crazytechgeek.info /etc/nginx/sites-enabled/

23. Για να πραγματοποιηθούν οι αλλαγές, επανεκκινήστε τον διακομιστή ιστού Nginx.

sudo systemctl restart nginx

24. Απλώς για να βεβαιωθείτε ότι όλες οι διαμορφώσεις είναι σε τάξη, εκτελέστε την εντολή:

nginx -t

Εάν όλες οι διαμορφώσεις είναι εντάξει, θα πρέπει να λάβετε την έξοδο που φαίνεται παρακάτω:

25. Ο διακομιστής ιστού Nginx θα πρέπει πλέον να εξυπηρετεί το περιεχόμενο του τομέα σας. Για άλλη μια φορά, κατευθυνθείτε στο πρόγραμμα περιήγησής σας και περιηγηθείτε στον τομέα του διακομιστή σας.

http://domain-name

Το προσαρμοσμένο περιεχόμενο στον κατάλογο του τομέα σας θα προβληθεί όπως φαίνεται.

Σημαντικά αρχεία διαμόρφωσης Nginx

Πριν ολοκληρώσουμε, είναι σημαντικό να εξετάσουμε ορισμένα από τα σημαντικά αρχεία διαμόρφωσης που σχετίζονται με το Nginx.

Αρχεία διαμόρφωσης Nginx

  • /etc/nginx/nginx.conf: Αυτό είναι το κύριο αρχείο διαμόρφωσης. Μπορείτε να τροποποιήσετε τις ρυθμίσεις για να ανταποκρίνονται στις απαιτήσεις του διακομιστή σας.
  • /etc/nginx/sites-available: Αυτός είναι ο κατάλογος που αποθηκεύει τη διαμόρφωση του μπλοκ διακομιστή. Το Nginx χρησιμοποιεί τα μπλοκ διακομιστή μόνο εάν είναι συνδεδεμένα με τον κατάλογο με ενεργοποιημένο τοποθεσίες.
  • /etc/nginx/sites-enabled: Ο κατάλογος περιέχει μπλοκ διακομιστή Nginx ανά τοποθεσία που είναι ήδη ενεργοποιημένα.

Αρχεία καταγραφής Nginx

Υπάρχουν δύο κύρια αρχεία καταγραφής που μπορείτε να χρησιμοποιήσετε για την αντιμετώπιση προβλημάτων του διακομιστή web Nginx:

  • /var/log/nginx/access.log: Αυτό καταγράφει όλα τα αιτήματα που υποβάλλονται στον διακομιστή ιστού.
  • /var/log/nginx/error.log: Αυτό είναι το αρχείο καταγραφής σφαλμάτων και καταγράφει όλα τα σφάλματα που αντιμετωπίζει το Nginx.
συμπέρασμα

Φτάσαμε στο τέλος αυτού του σεμιναρίου. Δείξαμε πώς μπορείτε να εγκαταστήσετε το Nginx στο Ubuntu 20.04 και πώς μπορείτε να ρυθμίσετε μπλοκ διακομιστή Nginx για την εξυπηρέτηση του περιεχομένου του τομέα σας. Τα σχόλιά σας είναι ευπρόσδεκτα.