Ρύθμιση HHVM και Nginx/Apache υψηλής απόδοσης με το MariaDB στο Debian/Ubuntu


Το HHVM σημαίνει HipHop Virtual Machine, είναι μια εικονική μηχανή ανοιχτού κώδικα που δημιουργήθηκε για την εκτέλεση Hack (είναι μια γλώσσα προγραμματισμού για το HHVM) και Γραπτές εφαρμογές PHP. Το HHVM χρησιμοποιεί μια διαδρομή μεταγλώττισης της τελευταίας στιγμής για να επιτύχει αξιοσημείωτη απόδοση, διατηρώντας παράλληλα την ευελιξία στην οποία είναι εθισμένοι οι προγραμματιστές PHP. Μέχρι σήμερα, η HHVM έχει επιτύχει πάνω από 9 φορές αύξηση στη διεκπεραίωση αιτημάτων http και περισσότερες από 5 φορές μείωση στη χρήση μνήμης (όταν εκτελείται με χαμηλή μνήμη συστήματος) για το Facebook σε σύγκριση με τη μηχανή PHP + APC (Εναλλακτική προσωρινή μνήμη PHP ).

Το HHVM μπορεί επίσης να χρησιμοποιηθεί μαζί με έναν διακομιστή ιστού που βασίζεται σε FastCGI, όπως ο Nginx ή ο Apache.

Σε αυτό το σεμινάριο θα εξετάσουμε τα βήματα για τη ρύθμιση του διακομιστή web Nginx/Apache, του διακομιστή βάσης δεδομένων MariaDB και του HHVM . Για αυτήν τη ρύθμιση, θα χρησιμοποιήσουμε το Ubuntu 15.04 (64-bit) καθώς το HHVM εκτελείται μόνο σε σύστημα 64-bit, αν και υποστηρίζονται επίσης διανομές Debian και Linux Mint.

Βήμα 1: Εγκατάσταση διακομιστή Ιστού Nginx και Apache

1. Πρώτα κάντε μια αναβάθμιση συστήματος για να ενημερώσετε τη λίστα αποθετηρίου με τη βοήθεια των παρακάτω εντολών.

# apt-get update && apt-get upgrade

2. Όπως είπα, το HHVM μπορεί να χρησιμοποιηθεί τόσο με διακομιστή web Nginx και Apache. Επομένως, είναι δική σας επιλογή ποιον διακομιστή ιστού θα χρησιμοποιήσετε, αλλά εδώ θα σας δείξουμε την εγκατάσταση και των διακομιστών ιστού και τον τρόπο χρήσης τους με το HHVM.

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

Σε αυτό το βήμα, θα εγκαταστήσουμε τον διακομιστή web Nginx/Apache από το αποθετήριο πακέτων χρησιμοποιώντας την ακόλουθη εντολή.

# apt-get install nginx

Εγκατάσταση του Apache

# apt-get install apache2

Σε αυτό το σημείο, θα πρέπει να μπορείτε να πλοηγηθείτε στην παρακάτω διεύθυνση URL και θα μπορείτε να δείτε την προεπιλεγμένη σελίδα Nginx ή Apache.

http://localhost
OR
http://IP-Address
Προεπιλεγμένη σελίδα Nginx
Προεπιλεγμένη σελίδα Apache

Βήμα 2: Εγκαταστήστε και ρυθμίστε το MariaDB

3. Σε αυτό το βήμα, θα εγκαταστήσουμε το MariaDB, καθώς παρέχει καλύτερη απόδοση σε σύγκριση με το MySQL.

# apt-get install mariadb-client mariadb-server

4. Μετά την επιτυχή εγκατάσταση του MariaDB, μπορείτε να ξεκινήσετε το MariaDB και να ορίσετε κωδικό πρόσβασης root για να ασφαλίσετε τη βάση δεδομένων:

# systemctl start mysql
# mysql_secure_installation

Απαντήστε στις παρακάτω ερωτήσεις πληκτρολογώντας y ή n και πατήστε enter. Βεβαιωθείτε ότι έχετε διαβάσει προσεκτικά τις οδηγίες πριν απαντήσετε στις ερωτήσεις.

Enter current password for root (enter for none) = press enter
Set root password? [Y/n] = y
Remove anonymous users[y/n] = y
Disallow root login remotely[y/n] = y
Remove test database and access to it [y/n] = y
Reload privileges tables now[y/n] = y 

5. Αφού ορίσετε τον κωδικό πρόσβασης root για το MariaDB, μπορείτε να συνδεθείτε στο μήνυμα προτροπής MariaDB με τον νέο κωδικό πρόσβασης root.

# mysql -u root -p

Βήμα 3: Εγκατάσταση HHVM

6. Σε αυτό το στάδιο θα εγκαταστήσουμε και θα διαμορφώσουμε το HHVM. Πρέπει να προσθέσετε το αποθετήριο HHVM στο αρχείο sources.list και, στη συνέχεια, πρέπει να ενημερώσετε τη λίστα αποθετηρίου σας χρησιμοποιώντας τις ακόλουθες σειρές εντολών.

# wget -O - http://dl.hhvm.com/conf/hhvm.gpg.key | apt-key add -
# echo deb http://dl.hhvm.com/ubuntu DISTRIBUTION_VERSION main | sudo tee /etc/apt/sources.list.d/hhvm.list
# apt-get update

Σημαντικό: Μην ξεχάσετε να αντικαταστήσετε το DISTRIBUTION_VERSION με την έκδοση διανομής Ubuntu (δηλαδή διαυγή, ακριβή, ή αξιόπιστο.) και επίσης στο Debian αντικαταστήστε με jessie ή wheezy. Στο Linux Mint οι οδηγίες εγκατάστασης είναι οι ίδιες, αλλά το petra είναι η μόνη που υποστηρίζεται αυτήν τη στιγμή.

Αφού προσθέσετε το αποθετήριο HHVM, μπορείτε εύκολα να το εγκαταστήσετε όπως φαίνεται.

# apt-get install -y hhvm

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

# update-rc.d hhvm defaults

Βήμα 4: Ρύθμιση παραμέτρων του Nginx/Apache για συνομιλία με το HHVM

7. Τώρα, τα nginx/apache και HHVM είναι εγκατεστημένα και εκτελούνται ως ανεξάρτητα, επομένως πρέπει να διαμορφώσουμε και τους δύο διακομιστές ιστού ώστε να συνομιλούν μεταξύ τους. Το κρίσιμο μέρος είναι ότι πρέπει να πούμε στο nginx/apache να προωθήσει όλα τα αρχεία PHP στο HHVM για εκτέλεση.

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

Από προεπιλογή, η ρύθμιση παραμέτρων nginx βρίσκεται στο /etc/nginx/sites-available/default και αυτές οι ρυθμίσεις παραμέτρων εμφανίζονται στο /usr/share/nginx/html για να εκτελεστούν αρχεία, αλλά δεν ξέρει τι να κάνει με την PHP.

Για να κάνουμε το Nginx να μιλάει με το HHVM, πρέπει να εκτελέσουμε το ακόλουθο σενάριο περιλαμβάνει που θα ρυθμίσει σωστά το nginx τοποθετώντας ένα hhvm.conf στην αρχή της διαμόρφωσης nginx όπως αναφέρθηκε παραπάνω.

Αυτό το σενάριο κάνει το nginx να μιλά σε οποιοδήποτε αρχείο που τελειώνει με .hh ή .php και να το στέλνει στο HHVM μέσω fastcgi.

# /usr/share/hhvm/install_fastcgi.sh

Σημαντικό: Εάν χρησιμοποιείτε Apache, δεν απαιτείται καμία ρύθμιση τώρα.

8. Στη συνέχεια, πρέπει να χρησιμοποιήσετε το /usr/bin/hhvm για να παρέχετε /usr/bin/php (php) εκτελώντας αυτήν την εντολή παρακάτω.

# /usr/bin/update-alternatives --install /usr/bin/php php /usr/bin/hhvm 60

Αφού ολοκληρωθούν όλα τα παραπάνω βήματα, μπορείτε τώρα να ξεκινήσετε το HHVM και να το δοκιμάσετε.

# systemctl start hhvm

Βήμα 5: Δοκιμή HHVM με Nginx/Apache

9. Για να επαληθεύσετε ότι το hhvm λειτουργεί, πρέπει να δημιουργήσετε ένα αρχείο hello.php στον ριζικό κατάλογο εγγράφων nginx/apache.

# nano /usr/share/nginx/html/hello.php       [For Nginx]
OR
# nano /var/www/html/hello.php               [For Nginx and Apache]

Προσθέστε το ακόλουθο απόσπασμα σε αυτό το αρχείο.

<?php
if (defined('HHVM_VERSION')) {
echo 'HHVM is working';
 phpinfo();
}
else {
echo 'HHVM is not working';
}
?>

και, στη συνέχεια, πλοηγηθείτε στην ακόλουθη διεύθυνση URL και επαληθεύστε για να δείτε το γεια σας κόσμο.

http://localhost/info.php
OR
http://IP-Address/info.php

Εάν εμφανιστεί η σελίδα HHVM, σημαίνει ότι είστε έτοιμοι!

συμπέρασμα

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