Instaloni Plesk në CentOS 7
Përdorimi i një sistemi të ndryshëm? Plesk është një panel kontrolli i pronarit të hostit në internet që lejon përdoruesit të administrojnë faqet e tyre të internetit personale dhe/ose të klientëve, bazat e të dhënave
Beanstalk është një radhë pune e shpejtë dhe e thjeshtë. Kjo ju lejon të ekzekutoni detyrat që kërkojnë kohë në mënyrë asinkrone, të tilla si dërgimi i emaileve, lidhja me API-të e jashtme ose përpunimi i imazheve. Duke vepruar kështu, ju do të zvogëloni vonesën e aplikacionit tuaj të internetit. Laravel ofron mbështetje jashtë kutisë për beanstalkd
.
Në këtë tutorial ne do të instalojmë beanstalkd
, konfigurojmë një aplikacion demo Laravel dhe do të menaxhojmë punëtorët e radhës përmes Supervisor . Aplikacioni demo do të marrë një listë të OS-ve të disponueshme nga Vultr API dhe do të zgjedhë rastësisht një.
Supozohet se ju tashmë keni të instaluar Supervisor në sistemin tuaj. Nëse nuk e bëni këtë, duhet të lexoni udhëzuesin e mëposhtëm se si të konfiguroni Supervisor: Instalimi dhe konfigurimi i Mbikëqyrësit në Ubuntu 16.04
Supozohet gjithashtu se ju keni akses SSH në shembullin tuaj Vultr.
Hapi i parë për të ndërmarrë është instalimi beanstalkd
.
sudo apt-get update
sudo apt-get install beanstalkd
Filloni shërbimin.
sudo systemctl start beanstalkd
Ju gjithashtu mund të aktivizoni shërbimin që të fillojë me inicializimin e sistemit.
sudo systemctl enable beanstalkd
Kontrolloni statusin e shërbimit duke lëshuar komandën e mëposhtme.
sudo systemctl status beanstalkd
Si parazgjedhje, beanstalkd
dëgjon në port 11300
. Beanstalk përdor një protokoll të thjeshtë të bazuar në tekst të përshkruar në depon e tij github . Mund ta testoni protokollin e tij duke ekzekutuar telnet
.
telnet localhost 11300
Shkruani sa vijon dhe goditni ENTER.
list-tubes
Ju duhet të shihni një listë të tubave të disponueshëm në server:
OK 14
---
- default
Për të mbyllur lidhjen thjesht shkruani quit
dhe më pas shtypni ENTER.
Tubat në Beanstalk përfaqësojnë radhët e punës. Beanstalk është i përbërë kryesisht nga prodhuesit , konsumatorët , punët dhe tubacionet . Prodhuesit vendosin punë në një tub për t'u konsumuar (përpunuar) nga çdo numër konsumatorësh. Vini re se si prodhuesit ashtu edhe konsumatorët janë thjesht klientë të serverit Beanstalk dhe janë krejtësisht të pavarur nga njëri-tjetri. Në terma praktike kjo do të thotë që duke përdorur Beanstalk ju mund të prodhoni punët tuaja në aplikacionin tuaj PHP dhe ta përpunoni atë në një aplikacion NodeJS për shembull. Për fat të mirë, Laravel i përmbledh të gjitha këto dhe na ofron një API shumë të thjeshtë për të dërguar dhe trajtuar punët, siç do ta shohim më pas.
Për të ndërtuar projektin tonë të mostrës, së pari duhet të instalojmë varësitë e tij. Ne do të instalojmë PHP dhe Composer.
sudo apt-get install php php-mbstring php-xml php-common php-zip composer
Tani, krijoni projektin bazuar në Laravel 5.5.
composer create-project --prefer-dist laravel/laravel vultr "5.5.*"
Më pas cd
në dosjen e krijuar së fundmi. Ne do të punojmë në këtë drejtori tani e tutje. Kjo dosje mund të referohet më vonë si PROJECT_ROOT
.
cd vultr/
Për të përdorur Beanstalk në Laravel, duhet të instalojmë një varësi tjetër, klientin PHP Beanstalk.
composer require pda/pheanstalk ~3.0
Ne gjithashtu duhet të krijojmë një përfaqësi pune. Në Laravel, kjo është një klasë brenda app/Jobs
dosjes. Laravel ka një komandë konsole për të na ndihmuar të krijojmë një klasë pune. Le të krijojmë Punën tonë shembull.
php artisan make:job FindFavoriteOS
Përditësoni app/Jobs/FindFavoriteOS.php
skedarin në vijim.
<?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']);
}
}
Metoda e dorezës është ajo që do të ekzekutohet në mënyrë efektive kur puna të konsumohet. Këtu, ne marrim të dhëna nga Vultr API, zgjedhim rastësisht një OS dhe shkruajmë OS-në e zgjedhur në skedarin e regjistrit. Skedari i regjistrit ndodhet në storage/logs/laravel.log
.
Ne kemi instaluar tashmë Beanstalk dhe kemi përcaktuar punën që do të ekzekutohet prej tij. Tani është koha për t'i thënë Laravel që të përdorë Beanstalk si radhën e paracaktuar të punës. Kopjoni .env
skedarin e paracaktuar të ofruar nga instalimi i Laravel.
cp .env.example .env
Tani hapni .env
skedarin dhe përditësoni linjën ku është specifikuar drejtuesi i radhës.
QUEUE_DRIVER=beanstalkd
Më në fund, gjeneroni një çelës aplikacioni.
php artisan key:generate
Tani jemi gati të dërgojmë punë në radhën e punës Beanstalk.
Dërgimi i një pune në Laravel është mjaft i thjeshtë. Përditëso routes/web.php
skedarin.
<?php
Route::get('/', function () {
for ($i = 0; $i < 50; $i++) {
\App\Jobs\FindFavoriteOS::dispatch();
}
return '50 Jobs dispatched!';
});
Pavarësisht se nuk rekomandohet për të ekzekutuar serverin e integruar të ofruar në prodhim, ne do ta përdorim atë këtu për hir të shkurtësisë.
php artisan serve --host 0.0.0.0 --port 8000
Tani në një shfletues uebi, lundroni te http://[vultr-instance-ip]:8000
. Do të shihni mesazhin e mëposhtëm.
50 Jobs dispatched!
Hapni një lidhje të re SSH me serverin tuaj dhe brenda rrënjës së projektit tonë, ekzekutoni sa më poshtë.
php artisan queue:work --once
Ky është rezultati i pritur:
[2018-02-14 00:03:52] Processing: App\Jobs\FindFavoriteOS
[2018-02-14 00:03:53] Processed: App\Jobs\FindFavoriteOS
Konfirmoni që regjistri është krijuar.
cat storage/logs/laravel.log
Për të shmangur nevojën për të përpunuar manualisht radhën, ne do të përdorim supervisord
. Krijoni konfigurimin e mëposhtëm të programit në /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
Vini re se rruga e duhur për të vendosur skedarin e konfigurimit të Mbikëqyrësit do të varet nga konfigurimi juaj. Gjithashtu, mos harroni të zëvendësoni [PROJECT_ROOT]
me shtegun e plotë për PROJECT_ROOT
në sistemin tuaj.
Këtu ne po konfigurojmë Supervisorin që të fillojë automatikisht përpunimin e radhës dhe, në rast të prishjes së skriptit, ta rifillojë atë. Gjithashtu vini re se ne nuk jemi duke instancuar një punëtor të vetëm, por 8 procese. Ju jeni të lirë të instantoni sado procese që ju i gjeni të nevojshme në varësi të aplikimit tuaj.
Për të lejuar mbikëqyrësin të menaxhojë punonjësin tonë, detyrojeni atë të rilexojë konfigurimin e tij.
sudo supervisorctl reread
sudo supervisorctl update
Nëse shërbimi i Mbikëqyrësit nuk është nisur, shumë ju duhet ta filloni atë.
sudo systemctl start supervisord
Tani le të shohim nëse punët janë duke u përpunuar.
tail -f storage/logs/laravel.log
Në një shfletues uebi, lundroni te http://[vultr-instance-ip]:8000
. Do të shihni regjistrat që krijohen në tastierën tuaj.
Ne kemi konfiguruar me sukses një aplikacion Laravel për të përdorur Beanstalk si një radhë pune. Gjithashtu, ne demonstruam se si të përdorim Supervisor për të menaxhuar punëtorët.
Përdorimi i një sistemi të ndryshëm? Plesk është një panel kontrolli i pronarit të hostit në internet që lejon përdoruesit të administrojnë faqet e tyre të internetit personale dhe/ose të klientëve, bazat e të dhënave
Hyrje Lets Encrypt është një shërbim i autoritetit certifikues që ofron certifikata falas TLS/SSL. Procesi i instalimit është thjeshtuar nga Certbot,
PHP dhe paketat e lidhura me to janë komponentët më të përdorur gjatë vendosjes së një serveri në internet. Në këtë artikull, ne do të mësojmë se si të konfigurojmë PHP 7.0 ose PHP 7.1 o
Hyrje Lighttpd është një fork i Apache që synon të jetë shumë më pak intensiv me burime. Është i lehtë, prandaj emri i tij, dhe është mjaft i thjeshtë për t'u përdorur. Instaloni
1. Virtualmin/Webmin Virtualmin është një panel kontrolli i fuqishëm dhe fleksibël i hostimit në internet për sistemet Linux dhe UNIX i bazuar në bazën e mirënjohur të internetit me burim të hapur.
Yii është një kornizë PHP që ju lejon të zhvilloni aplikacione më shpejt dhe më lehtë. Instalimi i Yii në Ubuntu është i thjeshtë, siç do të mësoni saktësisht
Screen është një aplikacion që lejon përdorimin e shumëfishtë të sesioneve të terminalit brenda një dritareje. Kjo ju lejon të simuloni dritare të shumta terminale ku është ma
Ky tutorial shpjegon se si të konfiguroni një server DNS duke përdorur Bind9 në Debian ose Ubuntu. Gjatë gjithë artikullit, zëvendësoni emrin e domain-it tuaj në përputhje me rrethanat. Në
Hyrje Logrotate është një mjet Linux që thjeshton administrimin e skedarëve të regjistrit. Zakonisht funksionon një herë në ditë përmes një pune cron dhe menaxhon bazën e regjistrave
VULTR kohët e fundit ka bërë ndryshime në fund të tyre dhe gjithçka duhet të funksionojë mirë tani me NetworkManager të aktivizuar. Nëse dëshironi të çaktivizoni
Icinga2 është një sistem i fuqishëm monitorimi dhe kur përdoret në një model master-klient, ai mund të zëvendësojë nevojën për kontrolle monitorimi të bazuara në NRPE. Master-klien
Në këtë artikull, ne do të shohim se si të përpiloni dhe instaloni Nginx mainline nga burimet zyrtare të Nginx me modulin PageSpeed, i cili ju lejon t
Përdorimi i një sistemi të ndryshëm? Gitea është një sistem alternativ i kontrollit të versionit me burim të hapur, i vetë-pritur, i mundësuar nga Git. Gitea është shkruar në Golang dhe është
Përdorimi i një sistemi të ndryshëm? Gitea është një sistem alternativ i kontrollit të versionit me burim të hapur, i vetë-pritur, i mundësuar nga git. Gitea është shkruar në Golang dhe është
Përdorimi i një sistemi të ndryshëm? MODX Revolution është një Sistem i Menaxhimit të Përmbajtjes (CMS) i shpejtë, fleksibël, i shkallëzuar, me burim të hapur, i shkallës së ndërmarrjes, i shkruar në PHP. Ajo i
Përdorimi i një sistemi të ndryshëm? Docker është një aplikacion që lejon vendosjen e programeve që ekzekutohen si kontejnerë. Ishte shkruar në programin popullor Go
Golang është një gjuhë programimi e zhvilluar nga Google. Falë shkathtësisë, thjeshtësisë dhe besueshmërisë së tij, Golang është bërë një nga më të populluarit
Çfarë është Lopa e Pistë (CVE-2016-5195)? Dobësia e Dirty Cow shfrytëzohet përmes mënyrës se si Linux përpunon kodin. Ai lejon që një përdorues i paprivilegjuar të gai
Të kesh vetëm një përdorues, i cili është root, mund të jetë i rrezikshëm. Pra, le ta rregullojmë atë. Vultr na ofron lirinë për të bërë si të duam me përdoruesit dhe serverët tanë
Nëse e keni harruar fjalëkalimin tuaj rrënjësor MySQL, mund ta rivendosni atë duke ndjekur hapat në këtë artikull. Procesi është mjaft i thjeshtë dhe funksionon në to
Inteligjenca Artificiale nuk është në të ardhmen, është këtu në të tashmen Në këtë blog Lexoni se si aplikacionet e inteligjencës artificiale kanë ndikuar në sektorë të ndryshëm.
A jeni edhe ju viktimë e Sulmeve DDOS dhe jeni konfuz në lidhje me metodat e parandalimit? Lexoni këtë artikull për të zgjidhur pyetjet tuaja.
Ju mund të keni dëgjuar se hakerët fitojnë shumë para, por a keni menduar ndonjëherë se si i fitojnë ato para? Le te diskutojme.
Dëshironi të shihni shpikjet revolucionare nga Google dhe se si këto shpikje ndryshuan jetën e çdo njeriu sot? Më pas lexoni në blog për të parë shpikjet nga Google.
Koncepti i makinave vetë-drejtuese për të dalë në rrugë me ndihmën e inteligjencës artificiale është një ëndërr që e kemi prej kohësh. Por, pavarësisht nga disa premtime, ato nuk shihen askund. Lexoni këtë blog për të mësuar më shumë…
Ndërsa Shkenca evoluon me një ritëm të shpejtë, duke marrë përsipër shumë nga përpjekjet tona, rriten edhe rreziqet për t'iu nënshtruar një Singulariteti të pashpjegueshëm. Lexoni, çfarë mund të thotë singulariteti për ne.
Metodat e ruajtjes së të dhënave kanë evoluar mund të jenë që nga lindja e të dhënave. Ky blog mbulon evolucionin e ruajtjes së të dhënave në bazë të një infografike.
Lexoni blogun për të njohur shtresat e ndryshme në arkitekturën e të dhënave të mëdha dhe funksionalitetet e tyre në mënyrën më të thjeshtë.
Në këtë botë të drejtuar nga dixhitali, pajisjet inteligjente të shtëpisë janë bërë një pjesë thelbësore e jetës. Këtu janë disa përfitime të mahnitshme të pajisjeve shtëpiake inteligjente se si ato e bëjnë jetën tonë të vlefshme dhe më të thjeshtë.
Së fundmi Apple lëshoi macOS Catalina 10.15.4 një përditësim shtesë për të rregulluar problemet, por duket se përditësimi po shkakton më shumë probleme që çojnë në bricking të makinerive mac. Lexoni këtë artikull për të mësuar më shumë