Hits :
5152
Yaws :: yet another web server
yaws
http://yaws.hyber.org/
http://yaws.hyber.org/yman.yaws?page=yaws.conf
Το πρόγραμμα
yaws είναι υψηλής απόδοσης διακομιστής HTTP & HTTPS, ειδικά προσαρμοσμένο για διαδικτυακές εφαρμογές δυναμικού περιεχομένου.
Yaws is a HTTP high perfomance 1.1 webserver particularly well suited for dynamic-content webapplications.
top
Linux Installation
Μία πολύ απλή εγκατάσταση μπορεί να γίνει με τις παρακάτω εντολές:
$ wget -c http://yaws.hyber.org/download/yaws-1.88.tar.gz
$ tar zxvf yaws-1.88.tar.gz
$ cd yaws
$ ./configure
$ make
$ make install
Με τις παραπάνω εντολές έχουμε καταφέρει να εγκαταστήσουμε τον web server μας.
Οι προκαθορισμένες διαδρομές των καταλόγων, που ορίζονται από την παραπάνω εξ' ορισμού εγκατάσταση, είναι οι εξής:
Αρχεία Ρυθμίσεων:
etc files went into /usr/local/etc
Εκτελέσιμα αρχεία:
executables went into /usr/local/bin
Βιβλιοθήκες:
library files went into /usr/local/lib/yaws
Αρχεία log και διάφορα άλλα (pid file):
var files went into /usr/local/var
Προκαθορισμένος κατάλογος ενός διαδικτυακού ιστότοπου:
default docroot went into /usr/local/var/yaws/www
Φυσικά με την εντολή:
./configure --help
Μπορεί να δει κανείς το πλήθος των επιλογών που μπορεί να ορίσει, όπως παράδειγμα να ορίσει τον κατάλογο εγκατάστασης.
top
Windows Installation
Κι όμως υπάρχει και Windows πρόγραμμα εγκατάστασης:
Yaws-1.88-windows-installer.exe[link1]
top
Check
Για να δούμε την έκδοση του προγράμματος
# /usr/local/bin/yaws -v
Yaws 1.88
Για να δούμε περισσότερες πληροφορίες:
/usr/local/bin/yaws --help
Ένα πλήρες output της παραπάνω εντολής είναι το εξής:
Formatter "highlight/html" not found
top
Configuration
Αφού ολοκληρώσουμε την εγκατάσταση είμαστε έτοιμοι να δούμε ότι όλα είναι δουλεύουν σωστα.
Το αρχείο ρυθμίσεων του yaws βρίσκεται κάτω από τον κατάλογο της εγκατάστασης:
/usr/local/etc/yaws/yaws.conf
ένα τυπικό παράδειγμα του αρχείου ρυθμίσεων είναι το εξής:
Formatter "highlight/html" not found
Εξαιρετικά απλό και straight forward.
# /usr/local/bin/yaws
Και στην συνέχεια στον firefox πληκτρολογούμε την εξής ηλεκτρονική διεύθυνση:
Formatter "highlight/html" not found
Το οποίο θα μας επιστρέψει την αρχική σελίδα του yaws.
ΠΡΟΣΟΧΗ: Μην μπερδευτείτε, το myarch είναι το hostname του μηχανήματός μου! Εσείς θα βάλετε το δικό σας.
top
Παράρτημα
O yaws έχει την δυνατότητα να συνδεθεί με την php ώστε να υποστηρίζει δυναμικά site.
Ο τρόπος με τον οποίο γίνεται αυτό είναι μέσω της χρήσης του fastcgi.
Περισσότερα για το fastcgi μπορεί κανείς να βρει στα παρακάτω urls:
http://wiki.nginx.org/NginxHttpFcgiModule
http://www.fastcgi.com
http://en.wikipedia.org/wiki/FastCGI
php
http://php.net/
PHP is a widely-used general-purpose scripting language that is especially suited for Web development and can be embedded into HTML.
Τυπική εγκατάσταση php (από την έκδοση 5.3.0 και μετά, η εγκατάσταση της php είναι εξ' ορισμού fast-cgi)
$ wget -c http://gr2.php.net/distributions/php-5.3.2.tar.bz2
$ tar jxvf php-5.3.2.tar.bz2
$ cd php-5.3.2
$ ./configure
$ make
$ make install
top
Υπάρχουν δύο, παρόμοιοι μεν – διαφορετικοί δε, τρόποι για να συνδέσουμε την Php με τον Yaws.
Ο ένας είναι μέσω του CGI, ο άλλος μέσω του Fast-Cgi.
Κι ενώ ακούγονται και λειτουργούν περίπου με τον ίδιο τρόπο το configuration μας στην κάθε περίπτωση είναι διαφορετικό.
CGI
Φαινομενικά ο ευκολότερος (και πιο παραδοσιακός) τρόπος.
Εάν το εκτελέσιμο του php-cgi είναι σε αυτή την διαδρομή:
/usr/bin/php-cgi
τότε δεν χρειάζεται να πειράξουμε καθόλου το
yaws.conf μας.
Αρκεί να τροποποιήσουμε μία μόνο μεταβλητή στο php.ini μας.
cgi.force_redirect = 0
Αλλιώς θα χρειαστεί να δηλώσουμε το path του php-cgi στο yaws.conf.
Παράδειγμα:
php_exe_path = /usr/local/bin/php-cgi
ΠΡΟΣΟΧΗ: Το
php.ini πρέπει να βρίσκεται στην σωστή τοποθεσία!
Πληκτρολογήστε την παρακάτω εντολή για να βρείτε το σωστό path, στο οποίο έχετε ή πρέπει να τοποθετήσετε το php.ini
echo '<?php phpinfo(); ?>' | php | grep 'php.ini'
top
Fast-Cgi
Ο εναλλακτικός τρόπος (μιας και η php το υποστηρίζει) είναι να τρέξουμε την php σε μία TCP πόρτα
στην οποία θα ακούει τα αιτήματα του web server μας για να εξυπηρετεί τις σελίδες php που έχουμε
Πχ.
/usr/local/bin/php-cgi -b 3000
top
yaws.conf
Τώρα θα πρέπει να δηλώσουμε στον yaws μας όλες τις php σελίδες μας να τις στέλνει στην fast-cgi php
για να μεταφράζονται σε html.
Οπότε προσθέτουμε το εξής στο αρχείο ρυθμίσεων:
fcgi_app_server = localhost:3000
Ναι τόσο απλό είναι!
ΠΡΟΣΟΧΗ: Η προσθήκη πρέπει να γίνει στο αντίστοιχο virtual host μας, στην δική μου περίπτωση ολόκληρο το configuration είναι ως εξής:
Formatter "highlight/html" not found
top
php files
Πολύ μεγάλη προσοχή στο εξής:
Ο yaws by default υποστηρίζει τις εξής καταλήξεις αρχείων:
.yaws
.php
.cgi
.fcgi
αλλά τα αρχεία PHP, θα προσπαθήσει να τα στείλει στο php-cgi πρόγραμμα.
Γεγονός που είναι λάθος, καθώς το php-cgi είναι το fast-cgi της php και δεν παίζει σε interactive mode!
Άρα θα πρέπει για να κάνετε χρήση της php over fast-cgi να αλλάξετε την κατάληξη των αρχείων από php σε fcgi !!!
Ορίστε ένα αρχείο δοκιμής:
/usr/local/var/yaws/www/p.fcgi
<?php
phpinfo();
?>
Και στον firefox γράφουμε το εξής:
http://myarch/p.fcgi
για να δούμε ότι λειτουργεί άψογα.
ΥΓ: Μόλις βρω πως μπορεί να παίξει χωρίς την αλλαγή της κατάληξης – θα το προσθέσω εδώ!
top