Μετά την εισαγωγή στο προηγούμενο άρθρο, ήρθε η στιγμή να ξεκινήσουμε τις νέες μας περιπέτειες με τον Nginx. Για να γίνει όμως αυτό, όπως συμβαίνει γενικά με κάθε πρόγραμμα, πρέπει πρώτα από όλα, να εγκαταστήσουμε τον Nginx στο σύστημά μας
Όσοι δεν το έχετε διαβάσει, σας προτείνω να διαβάσετε το πρώτο μέρος της σειράς:
Video: Παρουσίαση εγκατάστασης του Nginx
Για όσους βαριούνται να διαβάζουν, έχω ετοιμάσει ένα μικρό βίντεο
Εγκατάσταση Nginx στο Linux
Παρακάτω θα δούμε την εγκατάσταση του Nginx στις enterprise διανομές μιας και συνήθως αυτές χρησιμοποιούνται σε server ή developer workstations.
Εγκατάσταση σε RedHat/CentOS
Για όσους χρησιμοποιούν CentOS, θα χρειαστούν το αντίστοιχο repository της epel. Με ένα γρήγορο google search θα μάθετε (όσοι δεν γνωρίζετε ήδη), ότι το epel (ή μάλλον EPEL με κεφαλαία), σημαίνει: Extra Packages for Enterprise Linux και μπορείτε να μάθετε τα πάντα για αυτό το project στο σχετικό wiki του fedora project.
Για όσους χρησιμοποιούν λοιπόν, είτε Centos 7 είτε RHEL 7, το repo προστίθεται στο σύστημά σας, υπό την μορφή ενός RPM. Το κατεβάζετε, το εγκαθιστάτε και voila.
wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-10.noarch.rpm
Μην με ρωτήσει κανείς πού είναι το link για 32-bit arch, γιατί πολύ απλά το Centos 7, δεν βγαίνει για 32-bit processors. Τόσο απλά :) Επίσης, αν δεν έχετε το wget, εγκαταστήστε το με yum install wget
.
Αν δεν είστε σίγουροι σχετικά με το ποια ακριβώς έκδοση CentOS ή RHEL έχετε εγκατεστημένη, τότε μπορείτε να το μάθετε με την εντολή:
cat /etc/os-release
Αφού έχουμε κάνει fetch το rpm, δεν μένει παρά να το εγκαταστήσουμε:
rpm -Uvh epel-release-7-10.noarch.rpm
Πάμε να κάνουμε ένα verify ότι epel repo προστέθηκε με επιτυχία:
yum repolist | grep epel
Ας κάνουμε τώρα ένα pull της cache database της repolist ώστε να ανανεωθούν τα αρχεία. Συγκεκριμένα με ενδιαφέρει το/etc/yum.repos.d/epel.repo
αλλά τα ανανεώνω όλα γιατί είναι πιο εύκολο και δεν διαρκεί πολύ. Μετά από αυτό, το λογικό είναι να έχουμε πλέον το nginx έτοιμο προς εγκατάστηση στα repos.
yum update yum install nginx
Κατά την εγκατάσταση θα δείτε ότι έχει αρκετές dependecies, αρκετές από αυτές είναι ίδιες με αυτές του Apache. Ωστόσο, έχετε και κάποιες μοναδικές για αυτόν, όπως η λειτουργία GeoIP και το ίδιο το nginx-filesystem.
Εγκατάσταση σε Debian 9, Ubuntu 16.04 LTS
Εδώ τα πράγματα είναι πολύ απλά. Δεν χρειάζεται κανένα επιπλέον repo.
sudo apt install nginx
Εγκατάσταση σε SUSE / os-Leap
Κι εδώ τα πράγματα εξακολουθούν να είναι πανεύκολα:
zypper in nginx
Εκκίνηση και Ενεργοποίηση του Nginx service
Αφού ολοκληρωθεί η εγκατάσταση, αυτό που έχουμε να κάνουμε είναι να βάλουμε τον daemon να ξεκινάει κατά το startup.
Για όσους γνωρίζουν το systemd αυτό σημαίνει ότι θα χρειαστούν την εντολή:
systemctl enable nginx.service
ενώ οι παλιοί μπορούν να χρησιμοποιήσουν chkconfig nginx on
.
Έτσι λοιπόν, σε οποιοδήποτε runlevel κι αν bootάρει το σύστημά σας (εκτός από το recovery προφανώς), θα εκκινήσει μαζί του και ο nginx. Έχοντας πλέον ρυθμίσει την εκκίνηση κατά το boot, ήρθε η στιγμή να τον βάλουμε μπρος και να ελέγξουμε ότι όλα πήγαν καλά.
Για να ξεκινήσουμε τον nginx δίνουμε, είτε
systemctl start nginx.service
για όσους έχουν systemd, είτε
service start nginx
για τους υπόλοιπους.
Έλεγχος του nginx webserver
Ξανά, έχω ετοιμάσει ένα 2o βιντεάκι για όσους προτιμάνε το Youtube από την ανάγνωση (και καλά κάνουν).
Για ελέγξουμε ότι ο nginx webserver λειτουργεί κανονικά, θα εγκαταστήσουμε έναν μικρό ελαφρύ και console-based browser (ή μάλλον ncurses-based), με τον οποίον θα ανοίξουμε το index.html
στο localhost
.
Για αυτόν τον σκοπό θα χρησιμοποιήσουμε τον lynx
. π.χ. σε RPM διανομές:
sudo yum install lynx
Αφού τον εγκαταστήσουμε, δοκιμάζουμε να επισκεφτούμε, το localhost, περιμένοντας να δούμε την default localhost
webpage του nginx:
lynx http://localhost
.
Επίλογος
Ελπίζω όλα να πήγαν καλά! Σε επόμενο άρθρο θα αναφερθούμε σε ρυθμίσεις γύρω από τον nginx.
Για να πάρετε μία ιδέα, το directory που θα δουλεύουμε είναι το /etc/nginx
. Εκεί η δομή δεν διαφέρει από αυτά που θα έχετε πιθανώς δει στον apache. Παρόλα αυτά, το πιο σημαντικό αρχείο που έχει να κάνει με την ρύθμιση του server αυτού, καθ’αυτού, με την έννοια του daemon/service, είναι το /etc/nginx/nginx.conf
.
Σε αυτό το αρχείο θέτουμε πού θα μπουν τα logs (από default πηγαίνουν στο /var/log/nginx.log
), πού θα βρίσκεται το PID αρχείο, πόσους πυρήνες και threads θα δεσμεύσουμε κλπ. Τα αρχεία, προς το παρών, φαίνεται ότι τοποθετούνται στο /srv/www/htdocs/
directory.
Οπότε, λέγοντας αυτά, πιστεύω ότι πήρατε μία γεύση σχετικά με το τι θα ασχοληθούμε σε επόμενο άρθρο το οποίο μπορείτε να το διαβάσετε εδώ:
Σου άρεσε το άρθρο; Πες την άποψή σου... έστω και Ανώνυμα: