Εγκαταστήστε το Plesk στο CentOS 7
Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Plesk είναι ένας ιδιόκτητος πίνακας ελέγχου web host που επιτρέπει στους χρήστες να διαχειρίζονται τους προσωπικούς ή/και τους πελάτες τους ιστότοπους, βάσεις δεδομένων
Το Beanstalk είναι μια γρήγορη και απλή ουρά εργασίας. Σας επιτρέπει να εκτελείτε χρονοβόρες εργασίες ασύγχρονα, όπως αποστολή email, σύνδεση σε εξωτερικά API ή επεξεργασία εικόνων. Με αυτόν τον τρόπο, θα μειώσετε τον λανθάνοντα χρόνο της εφαρμογής ιστού σας. Η Laravel παρέχει out-of-the-box υποστήριξη για beanstalkd
.
Σε αυτό το σεμινάριο θα εγκαταστήσουμε beanstalkd
, θα εγκαταστήσουμε μια δοκιμαστική εφαρμογή Laravel και θα διαχειριστούμε τους εργαζόμενους στην ουρά μέσω του Supervisor . Η δοκιμαστική εφαρμογή θα λάβει μια λίστα με τα διαθέσιμα λειτουργικά συστήματα από το Vultr API και θα επιλέξει τυχαία ένα.
Υποτίθεται ότι έχετε ήδη εγκατεστημένο το Supervisor στο σύστημά σας. Εάν δεν το κάνετε, θα πρέπει να διαβάσετε το ακόλουθο σεμινάριο σχετικά με τον τρόπο ρύθμισης του Supervisor: Εγκατάσταση και ρύθμιση παραμέτρων του επόπτη στο Ubuntu 16.04
Θεωρείται επίσης ότι έχετε πρόσβαση SSH στην παρουσία σας Vultr.
Το πρώτο βήμα που πρέπει να κάνετε είναι να εγκαταστήσετε beanstalkd
.
sudo apt-get update
sudo apt-get install beanstalkd
Ξεκινήστε την υπηρεσία.
sudo systemctl start beanstalkd
Μπορείτε επίσης να ενεργοποιήσετε την έναρξη της υπηρεσίας κατά την προετοιμασία του συστήματος.
sudo systemctl enable beanstalkd
Ελέγξτε την κατάσταση της υπηρεσίας εκδίδοντας την ακόλουθη εντολή.
sudo systemctl status beanstalkd
Από προεπιλογή, beanstalkd
ακούει στη θύρα 11300
. Το Beanstalk χρησιμοποιεί ένα απλό πρωτόκολλο που βασίζεται σε κείμενο που περιγράφεται στο αποθετήριο github του . Μπορείτε να δοκιμάσετε το πρωτόκολλό του εκτελώντας το telnet
.
telnet localhost 11300
Γράψε το παρακάτω και πάτα ENTER.
list-tubes
Θα πρέπει να δείτε μια λίστα με σωλήνες που διατίθενται στον διακομιστή:
OK 14
---
- default
Για να κλείσετε τη σύνδεση απλώς πληκτρολογήστε quit
και στη συνέχεια πατήστε ENTER.
Οι σωλήνες στο Beanstalk αντιπροσωπεύουν ουρές εργασίας. Το Beanstalk αποτελείται βασικά από παραγωγούς , καταναλωτές , θέσεις εργασίας και σωλήνες . Οι παραγωγοί τοποθετούν τις εργασίες σε ένα σωλήνα για κατανάλωση (επεξεργασία) από οποιονδήποτε αριθμό καταναλωτών. Σημειώστε ότι τόσο οι παραγωγοί όσο και οι καταναλωτές είναι απλώς πελάτες του διακομιστή Beanstalk και είναι εντελώς ανεξάρτητοι ο ένας από τον άλλο. Πρακτικά αυτό σημαίνει ότι χρησιμοποιώντας το Beanstalk μπορείτε να δημιουργήσετε τις εργασίες σας στην εφαρμογή PHP και να υποβάλετε σε επεξεργασία σε μια εφαρμογή NodeJS για παράδειγμα. Ευτυχώς, η Laravel αφαιρεί όλα αυτά και μας παρέχει ένα πολύ απλό API για την αποστολή και τη διαχείριση εργασιών, όπως θα δούμε στη συνέχεια.
Για να δημιουργήσουμε το δείγμα του έργου μας, πρέπει πρώτα να εγκαταστήσουμε τις εξαρτήσεις του. Θα εγκαταστήσουμε PHP και Composer.
sudo apt-get install php php-mbstring php-xml php-common php-zip composer
Τώρα, δημιουργήστε το έργο με βάση το Laravel 5.5.
composer create-project --prefer-dist laravel/laravel vultr "5.5.*"
Στη συνέχεια cd
στον φάκελο που δημιουργήθηκε πρόσφατα. Θα εργαζόμαστε σε αυτόν τον κατάλογο από τώρα και στο εξής. Αυτός ο φάκελος μπορεί να αναφέρεται αργότερα ως PROJECT_ROOT
.
cd vultr/
Για να χρησιμοποιήσουμε το Beanstalk στο Laravel πρέπει να εγκαταστήσουμε μια ακόμη εξάρτηση, τον πελάτη PHP Beanstalk.
composer require pda/pheanstalk ~3.0
Πρέπει επίσης να δημιουργήσουμε μια αντιπροσώπευση εργασίας. Στο Laravel, αυτή είναι μια κλάση μέσα στο app/Jobs
φάκελο. Η Laravel έχει μια εντολή κονσόλας για να μας βοηθήσει να δημιουργήσουμε μια κλάση εργασίας. Ας δημιουργήσουμε το δείγμα εργασίας μας.
php artisan make:job FindFavoriteOS
Ενημερώστε το app/Jobs/FindFavoriteOS.php
αρχείο ως εξής.
<?php
namespace App\Jobs;
use Illuminate\Bus\Queueable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Support\Facades\Log;
class FindFavoriteOS implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
/**
* Create a new job instance.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
$rawData = file_get_contents('https://api.vultr.com/v1/os/list');
$list = json_decode($rawData, true);
shuffle($list);
$key = array_rand($list);
$favorite = $list[$key];
Log::info('My Favorite OS is: ' . $favorite['name']);
}
}
Η μέθοδος χειρισμού είναι αυτή που θα εκτελεστεί αποτελεσματικά όταν η εργασία καταναλωθεί. Εδώ, λαμβάνουμε δεδομένα από το Vultr API, επιλέγουμε τυχαία ένα λειτουργικό σύστημα και γράφουμε το επιλεγμένο λειτουργικό σύστημα στο αρχείο καταγραφής. Το αρχείο καταγραφής βρίσκεται στο storage/logs/laravel.log
.
Έχουμε ήδη εγκαταστήσει το Beanstalk και ορίσαμε την Εργασία που θα εκτελεστεί από αυτό. Τώρα είναι ώρα να πούμε στη Laravel να χρησιμοποιήσει το Beanstalk ως την προεπιλεγμένη ουρά εργασίας. Αντιγράψτε το προεπιλεγμένο .env
αρχείο που παρέχεται από την εγκατάσταση Laravel.
cp .env.example .env
Τώρα ανοίξτε το .env
αρχείο και ενημερώστε τη γραμμή όπου καθορίζεται το πρόγραμμα οδήγησης ουράς.
QUEUE_DRIVER=beanstalkd
Τέλος, δημιουργήστε ένα κλειδί εφαρμογής.
php artisan key:generate
Είμαστε πλέον έτοιμοι να στείλουμε εργασίες στην ουρά εργασίας Beanstalk.
Η αποστολή εργασίας στο Laravel είναι αρκετά απλή. Ενημερώστε το routes/web.php
αρχείο.
<?php
Route::get('/', function () {
for ($i = 0; $i < 50; $i++) {
\App\Jobs\FindFavoriteOS::dispatch();
}
return '50 Jobs dispatched!';
});
Παρά το γεγονός ότι δεν συνιστάται η εκτέλεση του ενσωματωμένου παρεχόμενου διακομιστή στην παραγωγή, θα τον χρησιμοποιήσουμε εδώ για λόγους συντομίας.
php artisan serve --host 0.0.0.0 --port 8000
Τώρα σε ένα πρόγραμμα περιήγησης ιστού, μεταβείτε στο http://[vultr-instance-ip]:8000
. Θα δείτε το ακόλουθο μήνυμα.
50 Jobs dispatched!
Ανοίξτε μια νέα σύνδεση SSH στον διακομιστή σας και μέσα στη ρίζα του έργου μας, εκτελέστε τα εξής.
php artisan queue:work --once
Αυτή είναι η αναμενόμενη έξοδος:
[2018-02-14 00:03:52] Processing: App\Jobs\FindFavoriteOS
[2018-02-14 00:03:53] Processed: App\Jobs\FindFavoriteOS
Επιβεβαιώστε ότι δημιουργήθηκε το αρχείο καταγραφής.
cat storage/logs/laravel.log
Για να αποφύγουμε την ανάγκη μη αυτόματης επεξεργασίας της ουράς, θα χρησιμοποιήσουμε supervisord
. Δημιουργήστε την παρακάτω διαμόρφωση προγράμματος στο /etc/supervisor/conf.d/vultr.conf
.
[program:vultr]
process_name=%(program_name)s_%(process_num)02d
command=php [PROJECT_ROOT]/artisan queue:work
autostart=true
autorestart=true
numprocs=8
redirect_stderr=true
stdout_logfile=/var/log/worker.log
Σημειώστε ότι η σωστή διαδρομή για να τοποθετήσετε το αρχείο διαμόρφωσης Supervisor θα εξαρτηθεί από τις ρυθμίσεις σας. Επίσης, θυμηθείτε να αντικαταστήσετε [PROJECT_ROOT]
με την πλήρη διαδρομή προς το PROJECT_ROOT
στο σύστημά σας.
Εδώ διαμορφώνουμε το Supervisor ώστε να ξεκινά αυτόματα την επεξεργασία της ουράς και, σε περίπτωση διακοπής του σεναρίου, να το επανεκκινεί. Σημειώστε επίσης ότι δεν δημιουργούμε έναν μόνο εργαζόμενο, αλλά 8 διαδικασίες. Είστε ελεύθεροι να εκκινήσετε όσες διαδικασίες θεωρείτε απαραίτητες ανάλογα με την αίτησή σας.
Για να επιτρέψετε στον Επόπτη να διαχειρίζεται τον εργαζόμενό μας, αναγκάστε τον να διαβάσει ξανά τη διαμόρφωσή του.
sudo supervisorctl reread
sudo supervisorctl update
Εάν η υπηρεσία Supervisor δεν έχει ξεκινήσει, πολλοί πρέπει να την ξεκινήσετε.
sudo systemctl start supervisord
Τώρα ας δούμε αν οι εργασίες υποβάλλονται σε επεξεργασία.
tail -f storage/logs/laravel.log
Σε ένα πρόγραμμα περιήγησης ιστού, μεταβείτε στο http://[vultr-instance-ip]:8000
. Θα δείτε τα αρχεία καταγραφής που δημιουργούνται στην κονσόλα σας.
Έχουμε διαμορφώσει με επιτυχία μια εφαρμογή Laravel ώστε να χρησιμοποιεί το Beanstalk ως ουρά εργασίας. Επίσης, δείξαμε πώς να χρησιμοποιείτε το Supervisor για τη διαχείριση εργαζομένων.
Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Plesk είναι ένας ιδιόκτητος πίνακας ελέγχου web host που επιτρέπει στους χρήστες να διαχειρίζονται τους προσωπικούς ή/και τους πελάτες τους ιστότοπους, βάσεις δεδομένων
Εισαγωγή Το Lets Encrypt είναι μια υπηρεσία αρχής έκδοσης πιστοποιητικών που προσφέρει δωρεάν πιστοποιητικά TLS/SSL. Η διαδικασία εγκατάστασης απλοποιείται από το Certbot,
Χρησιμοποιώντας ένα διαφορετικό σύστημα; Τι είναι το Tekkit Classic; Το Tekkit Classic είναι ένα modpack για το παιχνίδι που όλοι γνωρίζουν και αγαπούν. Minecraft. Περιέχει μερικά από τα εδ
Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Jekyll είναι μια εξαιρετική εναλλακτική λύση στο WordPress για blogging ή κοινή χρήση περιεχομένου. Δεν απαιτεί βάσεις δεδομένων και είναι πολύ εύκολο
Χρησιμοποιώντας ένα διαφορετικό σύστημα; Εάν αγοράσετε έναν διακομιστή Debian, τότε θα πρέπει να έχετε πάντα τις πιο πρόσφατες ενημερώσεις κώδικα και ενημερώσεις, είτε κοιμάστε είτε όχι
Η PHP και τα σχετικά πακέτα είναι τα πιο συχνά χρησιμοποιούμενα στοιχεία κατά την ανάπτυξη ενός διακομιστή web. Σε αυτό το άρθρο, θα μάθουμε πώς να ρυθμίζετε την PHP 7.0 ή την PHP 7.1 o
Το Squid είναι ένα δημοφιλές, δωρεάν πρόγραμμα Linux που σας επιτρέπει να δημιουργήσετε έναν διακομιστή μεσολάβησης web προώθησης. Σε αυτόν τον οδηγό, θα δείτε πώς να εγκαταστήσετε το Squid στο CentOS για να σας μετατρέψει
Εισαγωγή Το Lighttpd είναι ένα πιρούνι του Apache που έχει ως στόχο να είναι πολύ λιγότερο εντάσεως πόρων. Είναι ελαφρύ, εξ ου και το όνομά του, και είναι αρκετά απλό στη χρήση. Εγκατάσταση
1. Virtualmin/Webmin Το Virtualmin είναι ένας ισχυρός και ευέλικτος πίνακας ελέγχου φιλοξενίας ιστοσελίδων για συστήματα Linux και UNIX που βασίζεται στη γνωστή διαδικτυακή βάση ανοιχτού κώδικα
Το Yii είναι ένα πλαίσιο PHP που σας επιτρέπει να αναπτύσσετε εφαρμογές πιο γρήγορα και εύκολα. Η εγκατάσταση του Yii στο Ubuntu είναι απλή, όπως θα μάθετε ακριβώς
Το Screen είναι μια εφαρμογή που επιτρέπει πολλαπλή χρήση περιόδων σύνδεσης τερματικού σε ένα παράθυρο. Αυτό σας επιτρέπει να προσομοιώνετε πολλά παράθυρα τερματικού όπου είναι ma
Αυτό το σεμινάριο εξηγεί πώς να ρυθμίσετε έναν διακομιστή DNS χρησιμοποιώντας Bind9 σε Debian ή Ubuntu. Σε όλο το άρθρο, αντικαταστήστε το your-domain-name.com ανάλογα. Στο ου
Εισαγωγή Το Logrotate είναι ένα βοηθητικό πρόγραμμα Linux που απλοποιεί τη διαχείριση αρχείων καταγραφής. Συνήθως εκτελείται μία φορά την ημέρα μέσω μιας εργασίας cron και διαχειρίζεται τη βάση καταγραφής
Το Icinga2 είναι ένα ισχυρό σύστημα παρακολούθησης και όταν χρησιμοποιείται σε μοντέλο master-client, μπορεί να αντικαταστήσει την ανάγκη για ελέγχους παρακολούθησης που βασίζονται σε NRPE. Ο κύριος-πελάτης
Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Red5 είναι ένας διακομιστής πολυμέσων ανοιχτού κώδικα που υλοποιείται σε Java που σας επιτρέπει να εκτελείτε εφαρμογές Flash πολλών χρηστών, όπως η ζωντανή ροή
Σε αυτό το άρθρο, θα δούμε πώς να μεταγλωττίσετε και να εγκαταστήσετε το Nginx mainline από τις επίσημες πηγές του Nginx με τη μονάδα PageSpeed, η οποία σας επιτρέπει να
Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Apache Cassandra είναι ένα δωρεάν και ανοιχτού κώδικα σύστημα διαχείρισης βάσεων δεδομένων NoSQL που έχει σχεδιαστεί για να παρέχει επεκτασιμότητα, υψηλή
Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Apache Cassandra είναι ένα δωρεάν και ανοιχτού κώδικα σύστημα διαχείρισης βάσεων δεδομένων NoSQL που έχει σχεδιαστεί για να παρέχει επεκτασιμότητα, υψηλή
Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Vanilla forum είναι μια εφαρμογή φόρουμ ανοιχτού κώδικα γραμμένη σε PHP. Είναι πλήρως προσαρμόσιμο, εύκολο στη χρήση και υποστηρίζει εξωτερικά
Χρησιμοποιώντας ένα διαφορετικό σύστημα; Εισαγωγή Το Kanboard είναι ένα δωρεάν και ανοιχτού κώδικα πρόγραμμα λογισμικού διαχείρισης έργων που έχει σχεδιαστεί για να διευκολύνει και να οπτικοποιήσει
Η Τεχνητή Νοημοσύνη δεν είναι στο μέλλον, είναι εδώ ακριβώς στο παρόν Σε αυτό το blog Διαβάστε πώς οι εφαρμογές Τεχνητής Νοημοσύνης έχουν επηρεάσει διάφορους τομείς.
Είστε επίσης θύμα των επιθέσεων DDOS και έχετε μπερδευτεί σχετικά με τις μεθόδους πρόληψης; Διαβάστε αυτό το άρθρο για να λύσετε τις απορίες σας.
Μπορεί να έχετε ακούσει ότι οι χάκερ κερδίζουν πολλά χρήματα, αλλά έχετε αναρωτηθεί ποτέ πώς κερδίζουν τέτοια χρήματα; ας συζητήσουμε.
Θέλετε να δείτε επαναστατικές εφευρέσεις της Google και πώς αυτές οι εφευρέσεις άλλαξαν τη ζωή κάθε ανθρώπου σήμερα; Στη συνέχεια, διαβάστε στο blog για να δείτε τις εφευρέσεις της Google.
Η ιδέα των αυτοκινούμενων αυτοκινήτων να βγαίνουν στους δρόμους με τη βοήθεια της τεχνητής νοημοσύνης είναι ένα όνειρο που έχουμε εδώ και καιρό. Όμως, παρά τις πολλές υποσχέσεις, δεν φαίνονται πουθενά. Διαβάστε αυτό το blog για να μάθετε περισσότερα…
Καθώς η Επιστήμη εξελίσσεται με γρήγορους ρυθμούς, αναλαμβάνοντας πολλές από τις προσπάθειές μας, αυξάνονται και οι κίνδυνοι να υποβάλλουμε τον εαυτό μας σε μια ανεξήγητη Ιδιότητα. Διαβάστε τι σημαίνει η μοναδικότητα για εμάς.
Οι μέθοδοι αποθήκευσης των δεδομένων εξελίσσονται μπορεί να είναι από τη γέννηση των Δεδομένων. Αυτό το ιστολόγιο καλύπτει την εξέλιξη της αποθήκευσης δεδομένων με βάση ένα infographic.
Διαβάστε το ιστολόγιο για να μάθετε διαφορετικά επίπεδα στην Αρχιτεκτονική Μεγάλων Δεδομένων και τις λειτουργίες τους με τον απλούστερο τρόπο.
Σε αυτόν τον ψηφιακό κόσμο, οι έξυπνες οικιακές συσκευές έχουν γίνει κρίσιμο μέρος της ζωής. Ακολουθούν μερικά εκπληκτικά οφέλη των έξυπνων οικιακών συσκευών σχετικά με το πώς κάνουν τη ζωή μας να αξίζει και να απλοποιείται.
Πρόσφατα, η Apple κυκλοφόρησε το macOS Catalina 10.15.4 μια συμπληρωματική ενημέρωση για την επιδιόρθωση προβλημάτων, αλλά φαίνεται ότι η ενημέρωση προκαλεί περισσότερα προβλήματα που οδηγούν σε bricking των μηχανών mac. Διαβάστε αυτό το άρθρο για να μάθετε περισσότερα