Μερικά λόγια για τον web server από Ευθύμιος Θεοτοκάτος


Ανάρτηση Κυριακή 17 Μαΐου 2015



web server


Σε αυτό το άρθρο θα ήθελα να πω λίγα λόγια για τον περιβόητο web server. Θεωρώ πως όσοι έχουν η επιθυμούν κάποια στιγμή να αποκτήσουν κάποια ιστοσελίδα θα πρέπει να γνωρίζουν τι είναι και τι κάνει ένας web server.

Ο Web server είναι ένας υπολογιστής σαν όλους τους άλλους που τρέχει ένα λογισμικό πάνω του, το οποίο του επιτρέπει να ακούει σε μια πόρτα, συνήθως την 80 και από εκεί μέσω του πρωτοκόλλου http να δέχεται αιτήματα αλλά και να σερβίρει ιστοσελίδες όποτε κάποιος του τις ζητήσει.

Μπορεί κάποιος να μην κατάλαβε τον προηγούμενο ορισμό αλλά θα δώσω ένα παράδειγμα για να γίνει καλύτερα κατανοητό.

Κάθε υπολογιστής μπορεί να γίνει web server.

computer

Για παράδειγμα :Ο υπολογιστής του σπιτιού σας αν τρέξει το ανάλογο λογισμικό μπορεί να γίνει ένας web server και να σερβίρει ιστοσελίδες στο τοπικό σας δίκτυο. Δηλαδή αν έχουμε 3 υπολογιστές σε ένα σπίτι τους (A, B και Γ ) και ο Α τρέχει το πρόγραμμα που τον μετατρέπει σε web server, τότε μπορούν ο Β και ο Γ να τον καλέσουν από τον browser τους πληκτρολογώντας την διεύθυνση ip του και να του ζητήσουν την ανάλογη ιστοσελίδα στην ανάλογη διεύθυνση.

Επίσης από τον browser του A μπορούμε να ζητήσουμε μια ιστοσελίδα από τον ίδιο του τον εαυτό πληκτρολογώντας σε αυτόν είτε την ip του π.χ(http://192.168.1.1) εαυτού του είτε το όνομα http://localhost.

Με άλλα λόγια το (localhost = 192.168.1.1)

Κάθε υπολογιστής μέσα σε ένα δίκτυο έχει μια μοναδική ip. Όταν πληκτρολογούμε στον browser μας την διεύθυνση http://192.168.1.1 τότε καλούμε τον υπολογιστή που ακούει στην διεύθυνση αυτή από την πόρτα 80.

Προσοχή η ip που δίνω είναι τυχαία και μπορεί στο δικό σας μηχάνημα να είναι διαφορετική. Πχ: μπορεί να είναι 10.0.0.1 ή 192.1.1.1 κλπ

Ας πάμε όμως να μετασχηματίσουμε τον υπολογιστή μας σε έναν web server για να δούμε πως γίνετε στην πράξη αυτό.

computer

Στο παράδειγμα μας θα χρησιμοποιήσω το wamp σε περιβάλλον windows. Υπάρχουν και άλλοι τρόποι για να εγκαταστήσετε έναν web server και σε διαφορετικά λειτουργικά συστήματα όπως το linux όμως τώρα θα εστιάσω στα windows με wamp για να μην μακρηγορώ.

Το wamp είναι ένα πρόγραμμα που θα το κατεβάσουμε στον υπολογιστή μας και θα τον μετατρέψουμε σε web server.
 

  • 1. Μπαίνουμε στην ιστοσελίδα http://www.wampserver.com και πατάμε το download για να το κατεβάσουμε.
  • 2. Επιλέγουμε την έκδοση 64 bit η 32 bit ανάλογα με το λειτουργικό μας σύστημα.

Προτείνω για τους περισσότερους το 64 bit αφού πλέον οι περισσότεροι υπολογιστές είναι 64άμπιτοί. Αν δεν είστε σίγουροι για την έκδοση του λειτουργικού σας συστήματος των windows, τότε πηγαίνετε, start, κάντε δεξί click properties πάνω στο my computer και κάτω από το system θα πρέπει να έχετε την ένδειξη x64 Edition. Αν δεν υπάρχει η ένδειξη τότε τρέχετε σε 32μπιτά windows.

  • 3. Συνεχίζουμε κάνοντας διπλό κλικ πάνω στο wamp που κατεβάσαμε.
  • 4. Πατάμε next
  • 5. Συμφωνούμε με το licence aggrement Kαι πατάμε next
  • 6. Επιλέγουμε σε ποια θέση θέλουμε να το εγκαταστήσουμε, (προτείνω c:\wamp ) πατάμε next
  • 7. Αν θέλουμε κάποιο εικονίδιο συντόμευσης το τσεκάρουμε και πατάμε next
  • 8. Πατάμε install

Η διαδικασία τελείωσε και είμαστε έτοιμοι.

Στην γραμμή εργαλείων δίπλα από το ρολοϊ θα πρέπει να δείτε μια κόκκινη ή πορτοκαλί ή πράσινη ένδειξη (W). Αν είναι κόκκινη τότε θα πρέπει να περιμένετε μέχρι να γίνει πράσινη. Αν είναι πορτοκαλί και δεν κάνει τίποτα άλλο, απενεργοποιήστε το skype ή όποιο πρόγραμμα τρέχει που χρησιμοποιεί την πόρτα 80. Αν κάποιο πρόγραμμα χρησιμοποιεί την πόρτα 80 τότε ο web server σας δεν μπορεί να λειτουργήσει!

Θεωρώ πως μέχρι στιγμής έχουμε φτάσει στο σημείο που η ένδειξη είναι πράσινη πλέον και ήδη έχουμε μετατρέψει τον υπολογιστή μας σε έναν web server.

Πάμε να φτιάξουμε μια απλή ιστοσελίδα για να δούμε ότι ο web server μας δουλεύει:

  • 1. Πηγαίνουμε στην διαδρομή C:/wamp/www και δημιουργούμε ένα αρχείο με το όνομα, index.html
  • 2. Ανοίγουμε το αρχείο με notepad και γράφουμε την φράση, “γεια σου!”
  • 3. Αποθηκεύουμε το αρχείο και ανοίγουμε τον browser μας.
  • 4. Πληκτρολογούμε την διεύθυνση localhost

Αν όλα πήγανε καλά θα πρέπει να δείτε το “γεια σου!” στην οθόνη σας. Ανοίξτε μια κονσόλα. Δηλαδή, πατήστε start , run και πληκτρολογήστε cmd για να ανοίξει η μαύρη κονσόλα ή οθόνη του dos. Αν την ανοίξατε πληκτρολογήστε την εντολή ipconfig για να δείτε την ip σας. Θα σας βγάλει διάφορα... από αυτά δώστε σημασία στο ip Address. Αυτή είναι η τοπική σας διεύθυνση ip που σας έχει δώσει ο router του σπιτιού σας. Αν την πληκτρολογήσετε στον browser σας θα δείτε πως πάλι παίρνετε την σελίδα με το “γεια σου!”. Αν έχετε άλλο υπολογιστή συνδεδεμένο στο router ή απο κάποιο κινητό ακόμα που είναι συνδεδεμένο με wiresss στο wifi σας, τότε ανοίξτε τον browser και πληκτρολογήστε την διεύθυνση ip που βρήκατε πριν και θα δείτε πάλι την σελίδα “γεια σου!” από οποιοδήποτε υπολογιστή μέσα στο σπίτι σας. Αυτό είναι ένα πολύ απλό παράδειγμα το πως μπορούμε να φτιάξουμε στο σπίτι μας έναν web server. Ο Συγκεκριμένος web server που στήσαμε ήταν ένας apache. Υπάρχουν και άλλοι web server όπως της microsoft ο IIS, ή ο lighttpd η ο Sun Java System Web Server ή ο Jigsaw Server. Γενικά μπορείτε να βρείτε πολλές υλοποιήσεις στο διαδίκτυο, ωστόσο οι πιο συνηθισμένοι web servers που χρησιμοποιούν οι ιστοσελίδες είναι ο apache και ο IIS.

Έχω βρεί μια στατιστική έρευνα που δίνει τα παρακάτω στατιστικά αποτελέσματα χρήσης web server στο Internet σε αυτή την ιστοσελίδα http://w3techs.com/technologies/overview/web_server/all.

  • Apache 57.6%
  • Nginx 24.0%
  • Microsoft-IIS 13.2%
  • LiteSpeed 2.2%
  • Google Servers 1.3%
  • Tomcat 0.5%
  • Apache Traffic Server 0.2%
  • Lighttpd 0.2%
  • Tengine 0.2%
  • Cowboy 0.1%
  • Node.js 0.1%
  • IBM Servers 0.1%
  • Oracle Servers 0.1%

Κάθε web server χρησιμοποιεί και μια γλώσσα προγραμματισμού η οποία είναι υπεύθυνη στο να δέχεται και να επεξεργάζεται τις αιτήσεις και να απαντάει με συγκεκριμένα αποτελέσματα. Για παράδειγμα ο apache δουλεύει με την php, ενώ ο IIS με την .NET ενώ ο tomcat με την jsp. Οι περισσότερες ιστοσελίδες είναι γραμμένες σε php και για αυτό ο apache καταλαμβάνει και το 57.6% του συνολικού Internet. Στις ημέρες μας οι περισσότεροι πάροχοι που προσφέρουν hosting σε ιστοσελίδες χρησιμοποιούν apache ή IIS, για αυτό αν θέλετε να φτιάξετε μια ιστοσελίδα για την επιχείρηση σας όπως μια εταιρική παρουσίαση ή κάποιο ηλεκτρονικό κατάστημα, θα σας είναι ευκολότερο να χρησιμοποιήσετε php ή .net. Φυσικά μπορείτε να χρησιμοποιήσετε και τις άλλες τεχνολογίες αλλά θα είναι ακριβώτερο να βρείτε κάποιον που θα σας έφτιαχνε την ιστοσελίδα σας σε node.js. Οι κοινότητες που ασχολούνται με τις γλώσσες php και .net είναι αρκετά μεγαλύτερες από τις υπόλοιπες. Προσοχή: η php η .net και η jsp είναι server side γλώσσες, δηλαδή λειτουργούν στον server ενώ η html η javascript και η css λειτουργούν στον browser. Σε άλλο άρθρο θα το ξεδιαλύνω αυτό. Οι web server που είναι διαθέσιμη στην αγορά έρχονται με κάποιους περιορισμούς. Αυτό σημαίνει πως δεν μπορείτε να έχετε άπειρο χώρο στον δίσκο για τα αρχεία σας ούτε να κάνετε άπειρη χρήση του διαθέσιμου bandwidth.

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

  • 1. Shared hosting.
    Σε αυτή την περίπτωση η ιστοσελίδα σας φιλοξενείτε παρέα με άλλες ιστοσελίδες πάνω στο ίδιο μηχάνημα κάνοντας κοινή χρήση της cpu του δίσκου και την μνήμης. Όπως καταλαβαίνετε υπάρχει περιορισμός και αν το ξεπεράσετε τότε η ιστοσελίδα σας θα τεθεί σε καραντίνα μέχρι να επικοινωνήσετε μαζί τους. Για απλές ιστοσελίδες που δεν “καίνε πολύ server” τότε είναι η ιδανικότερη και η οικονομικότερη λύση.
  • 2. Dedicated hosting
    Σε αυτή την περίπτωση η ιστοσελίδα σας φιλοξενείτε μόνη της σε έναν server και οι πόροι του είναι αποκλειστικά αφιερωμένοι για αυτή. Είναι ακριβότερη λύση αλλά έχετε περισσότερη cpu, μνήμη και δίσκο για να κάψετε. Ουσιαστικά τον server τον ενοικιάζετε από τον πάροχο για να φιλοξενήσει την ιστοσελίδα σας.
  • 3. Cloud Hosting
    Στην περίπτωση αυτή η ιστοσελίδα σας φιλοξενείτε απο ένα σύστημα cluster που μπορεί να φιλοξενεί περισσότερες απο μια ιστοσελίδες αλλά υπάρχει η δυνατότητα να αυξήσετε τους διαθέσιμους πόρους κατά βούληση με ένα click.
  • 4. Colocation Hosting.
    Είναι το ίδιο με το dedicated με την μόνη διαφορά ότι τον server, δηλαδή το μηχάνημα το στήνετε μόνοι σας στο χώρο σας και όταν είστε έτοιμοι το δίνετε στον πάροχο για να στο συνδέσει στο Internet. Η Διαφορά λοιπόν του dedicated με το colocation hosting είναι ότι στην πρώτη περίπτωση ενοικιάζετε τον server ενώ στην άλλη ενοικιάζετε τον χώρο στον οποίο θα φιλοξενηθεί ο server σας. Θεωρώ πως το colocation hosting είναι για αρκετά προχωρημένα site που έχουν συγκεκριμένες ιδιαιτερότητες ως προς την εγκατάσταση.

Όπως και να έχει θα πρέπει να είστε σίγουροι για τις απαιτήσεις που έχουν οι ιστοσελίδες σας. Για να το γνωρίζετε αυτό θα πρέπει να ξέρετε τι καίει η ιστοσελίδα σας. Για να γνωρίζετε πόσο καίει η ιστοσελίδα σας ή πόσο βαριά είναι θα πρέπει να ξέρετε τα ακόλουθα:

  • 1. Πόσα hit συμβαίνουν ανά επισκεψιμότητα
  • 2. Πόση cpu χρησιμοποιεί κάθε σελίδα ανά επισκεψιμότητα
  • 3. Πόση ram χρησιμοποιεί κάθε σελίδα ανά επισκεψιμότητα
  • 4. Πόσες εικόνες φορτώνει κάθε ιστοσελίδα
  • 5. Πόση είναι η αναμενόμενη συνολική επισκεψιμότητα στον ιστότοπος

Απαντώντας στα παραπάνω ερωτήματα θα είστε σε θέση να γνωρίζετε τις απαιτήσεις του hosting σας. Ωστόσο μια απλή εταιρική παρουσίαση δεν έχει πολλές ανάγκες οπότε δεν χρειάζεται να ανησυχείτε.

Ελπίζω να σας βοήθησε το συγκεκριμένο άρθρο. Σε περίπτωση που έχετε να προσθέσετε η να σχολιάσετε κάτι, μην διστάσετε να το κάνετε.


Καλέστε μας για να λάβετε συμβουλές σχετικά με την ιστοσελίδα σας. Αν θέλετε να μάθετε το πως μπορείτε να βελτιώσετε τους μηχανισμούς σας, πως να αυξήσετε τις πωλήσεις σας και πως να βελτιώσετε το ηλεκτρονικό σας μάρκετινγκ, μην διστάσετε να επικοινωνήσετε μαζί μας.