Πώς να ρυθμίσετε έναν αντίστροφο διακομιστή μεσολάβησης NGINX στο Ubuntu 22.04
Η χρήση του NGINX ως αντίστροφου διακομιστή μεσολάβησης είναι μια δημοφιλής επιλογή. Για να το ρυθμίσετε, το μόνο που πρέπει να κάνετε είναι να εγκαταστήσετε το NGINX, να δημιουργήσετε ένα αρχείο ρυθμίσεων και να προσαρμόσετε τις ρυθμίσεις του διακομιστή σας. Μπορείτε επίσης να ελέγξετε αν η ρύθμιση ολοκληρώθηκε με επιτυχία χρησιμοποιώντας το Gunicorn.
Πώς να ρυθμίσετε το NGINX ως αντίστροφο διακομιστή μεσολάβησης
Οι αντίστροφοι διακομιστές μεσολάβησης μπορούν να συμβάλουν στην ενίσχυση της ασφάλειας, της ευελιξίας και της διαθεσιμότητας των πόρων. Τοποθετούνται μεταξύ του πελάτη και του διακομιστή και δεν είναι ορατοί στους χρήστες. Ο αντίστροφος διακομιστής μεσολάβησης NGINX αποτελεί μια ιδιαίτερα συνιστώμενη λύση για εισερχόμενες αιτήσεις. Παρακάτω θα εξηγήσουμε πώς να τον εγκαταστήσετε και να τον ρυθμίσετε στο Ubuntu 22.04.
Ποιες είναι οι απαιτήσεις συστήματος για το NGINX ως αντίστροφο διακομιστή μεσολάβησης;
Για να ρυθμίσετε έναν αντίστροφο διακομιστή μεσολάβησης NGINX στο Ubuntu 22.04, θα χρειαστείτε τα εξής:
- Ένας πλήρως διαμορφωμένος διακομιστής Ubuntu
- Η διεύθυνση IP του διακομιστή ή η υποδοχή τομέα Unix
- Ο τομέας του διακομιστή σας
sudoδικαιώματα για τον διακομιστή
Εγκατάσταση του NGINX ως αντίστροφου διακομιστή μεσολάβησης
Πρώτα, ενημερώστε το αποθετήριο σας μέσω του τερματικού, ώστε να έχετε πρόσβαση στα πιο πρόσφατα πακέτα. Στη συνέχεια, εγκαταστήστε το NGINX χρησιμοποιώντας την εντολή apt install. Ακολουθεί ο κώδικας:
$ sudo apt update
$ sudo apt install nginxbashΕπιβεβαιώστε πατώντας [Y] και πατήστε [Enter] για να εφαρμόσετε τις ρυθμίσεις.
Στη συνέχεια, ρυθμίστε το τείχος προστασίας σας έτσι ώστε το NGINX να έχει πρόσβαση στον διακομιστή σας. Μπορείτε να χρησιμοποιήσετε την ακόλουθη εντολή για να προσθέσετε μια εξαίρεση:
$ sudo ufw allow 'Nginx HTTP'bashΣτη συνέχεια, βεβαιωθείτε ότι η εγκατάσταση ολοκληρώθηκε με επιτυχία:
$ systemctl status nginxbashΕάν το NGINX έχει εγκατασταθεί σωστά, θα εμφανιστεί ένα αποτέλεσμα που θα μοιάζει με αυτό:
nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2024-06-24 06:52:46 UTC; 39min ago
Docs: man:nginx(8)
Main PID: 9919 (nginx)
Tasks: 2 (limit: 2327)
Memory: 2.9M
CPU: 50ms
CGroup: /system.slice/nginx.service
├─9919 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;"
└─9920 "nginx: worker process"bashΔημιουργία του αρχείου ρυθμίσεων και προσαρμογή του διακομιστή
Τώρα μπορείτε να διαμορφώσετε το server block σας, ώστε να προετοιμάσετε τον αντίστροφο διακομιστή μεσολάβησης NGINX για το σύστημά σας. Για να το κάνετε αυτό, δημιουργήστε και ανοίξτε ένα νέο αρχείο διαμόρφωσης με τον επεξεργαστή κειμένου Nano. Πληκτρολογήστε την ακόλουθη εντολή και φροντίστε να αντικαταστήσετε τον σύμβολο κράτησης θέσης «your_domain» με το όνομα του domain σας:
$ sudo nano /etc/nginx/sites-available/your_domainbashΌταν το αρχείο είναι ανοιχτό, προσθέστε το παρακάτω περιεχόμενο. Αντικαταστήστε τους χαρακτήρες-κλειδιά «your_domain» και «server_address» με τον τομέα και τη διεύθυνση IP ή το Unix domain socket του διακομιστή σας:
server {
listen 80;
listen [::]:80;
server_name your_domain www.your_domain;
location / {
proxy_pass http://server_address;
include /etc/nginx/proxy_params;
}
}txtΑποθηκεύστε και κλείστε το αρχείο. Το περιεχόμενο που εμφανίζεται είναι η προεπιλεγμένη ρύθμιση για το NGINX. Χρησιμοποιεί τη θύρα 80 για να ανταποκρίνεται στα αιτήματα από τον τομέα και τον διακομιστή σας. proxy_pass αποτελεί βασικό στοιχείο για τη λειτουργία του NGINX ως αντίστροφου διακομιστή μεσολάβησης. Μπορείτε επίσης να ρυθμίσετε επιπλέον διακομιστές, αν χρειαστεί.
Στη συνέχεια, δημιουργήστε έναν σύνδεσμο προς τον κατάλογο sites-enabled στον οποίο έχει πρόσβαση το NGINX κατά την εκκίνηση. Χρησιμοποιήστε την παρακάτω εντολή και μην ξεχάσετε να αντικαταστήσετε τον σύμβολο-κλειδί «your_domain»:
$ sudo ln -s /etc/nginx/sites-available/your_domain/etc/nginx/sites-enabled/bashΕλέγξτε τη διαμόρφωσή σας για τυχόν σφάλματα:
$ sudo nginx -tbashΕάν δεν εμφανιστεί κανένα μήνυμα σφάλματος, μπορείτε πλέον να επανεκκινήσετε τον αντίστροφο διακομιστή μεσολάβησης NGINX για να εφαρμοστούν οι ρυθμίσεις. Για να το κάνετε αυτό, πληκτρολογήστε την ακόλουθη εντολή:
$ sudo systemctl restart nginxbashΤώρα ολοκληρώσατε τη ρύθμιση του NGINX ως αντίστροφου διακομιστή μεσολάβησης. Στην επόμενη ενότητα, εξηγούμε πώς να ελέγξετε τον διακομιστή μεσολάβησης. Ωστόσο, αυτή η δοκιμή είναι προαιρετική.
Έλεγχος του αντίστροφου διακομιστή μεσολάβησης NGINX με το Gunicorn
Αν επιλέξετε να δοκιμάσετε τον αντίστροφο διακομιστή μεσολάβησης NGINX, συνήθως μπορείτε να χρησιμοποιήσετε τον δικό σας διακομιστή για αυτόν τον σκοπό. Αν χρησιμοποιήσετε τον δικό σας διακομιστή, ανοίξτε τον μέσω της γραμμής εντολών. Εναλλακτικά, μπορείτε να χρησιμοποιήσετε τον ελαφρύ διακομιστή ιστού HTTP Gunicorn, ο οποίος λειτουργεί πολύ καλά με έναν αντίστροφο διακομιστή μεσολάβησης NGINX. Πρώτα ενημερώστε τα πακέτα και εγκαταστήστε τον διακομιστή:
$ sudo apt update
$ sudo apt install gunicornbashΣτη συνέχεια, δημιουργήστε μια απλή συνάρτηση για να την στείλετε ως απόκριση HTTP στον περιηγητή σας. Χρησιμοποιήστε ξανά το nano:
$ nano test.pybashΑνοίξτε το αρχείο και εισάγετε τον ακόλουθο κώδικα:
def app(environ, start_response):
start_response("200 OK", [])
return iter([b"This is a test"])txtΣτη συνέχεια, αποθηκεύστε και κλείστε το αρχείο. Μετά, ξεκινήστε το Gunicorn και ανοίξτε το δοκιμαστικό module:
$ gunicorn --worker=2 test:appbashΤο αποτέλεσμα θα πρέπει να μοιάζει περίπου με αυτό:
[2024-06-24 07:09:29 +0000] [10568] [INFO] Starting gunicorn 20.1.0
[2024-06-24 09:14:37 +0000] [10568] [INFO] Listening at: http://127.0.0.1 (10568)
[2024-06-24 09:14:37 +0000] [10568] [INFO] Using worker: sync
[2024-06-24 09:14:37 +0000] [10569] [INFO] Booting worker with pid: 10569
[2024-06-24 09:14:37 +0000] [10570] [INFO] Booting worker with pid: 10570bashΑυτή είναι η επιβεβαίωση ότι το Gunicorn επικοινωνεί με τη διεύθυνση http://127.0.0.1:8000. Τέλος, ανοίξτε τον περιηγητή σας και μεταβείτε στον τομέα που διαμορφώσατε με το NGINX. Ο αντίστροφος διακομιστής μεσολάβησης NGINX θα εμφανίσει το μήνυμα «This is a test».