Įdiekite „Plesk“ „CentOS 7“.
Naudojate kitą sistemą? Plesk yra patentuotas žiniatinklio prieglobos valdymo skydelis, leidžiantis vartotojams administruoti savo asmenines ir (arba) klientų svetaines, duomenų bazes
„Beanstalk“ yra greita ir paprasta darbo eilė. Tai leidžia asinchroniškai vykdyti daug laiko reikalaujančias užduotis, pvz., siųsti el. laiškus, prisijungti prie išorinių API arba apdoroti vaizdus. Tai darydami sumažinsite žiniatinklio programos delsą. „Laravel“ teikia tiesioginį palaikymą beanstalkd
.
Šiame vadove mes įdiegsime beanstalkd
, nustatysime demonstracinę Laravel programą ir valdysime eilės darbuotojus per Supervisor . Demonstracinė programa gaus galimų OS sąrašą iš Vultr API ir atsitiktinai pasirinks vieną.
Daroma prielaida, kad jūsų sistemoje jau įdiegtas Supervisor. Jei to nepadarėte, turėtumėte perskaityti šią pamoką, kaip nustatyti „Supervisor“: „Supervisor“ diegimas ir konfigūravimas „Ubuntu 16.04“
Taip pat daroma prielaida, kad turite SSH prieigą prie „Vultr“ egzemplioriaus.
Pirmas žingsnis, kurį reikia padaryti, yra įdiegti beanstalkd
.
sudo apt-get update
sudo apt-get install beanstalkd
Pradėkite paslaugą.
sudo systemctl start beanstalkd
Taip pat galite įgalinti paslaugą paleisti sistemą inicijavus.
sudo systemctl enable beanstalkd
Patikrinkite paslaugos būseną išduodami šią komandą.
sudo systemctl status beanstalkd
Pagal numatytuosius nustatymus beanstalkd
klausosi prievado 11300
. „Beanstalk“ naudoja paprastą teksto protokolą, aprašytą „github“ saugykloje . Galite išbandyti jo protokolą paleisdami telnet
.
telnet localhost 11300
Parašykite toliau pateiktą informaciją ir paspauskite ENTER.
list-tubes
Turėtumėte pamatyti serveryje esančių vamzdžių sąrašą:
OK 14
---
- default
Norėdami uždaryti ryšį, tiesiog įveskite quit
ir paspauskite ENTER.
„Beanstalk“ vamzdeliai žymi darbo eiles. Beanstilk iš esmės susideda iš gamintojų , vartotojų , darbo vietų ir vamzdžių . Gamintojai sudeda darbo vietas į vamzdelį, kurį sunaudos (perdirbs) bet koks vartotojų skaičius. Atminkite, kad tiek gamintojai, tiek vartotojai yra tiesiog „Beanstalk“ serverio klientai ir yra visiškai nepriklausomi vienas nuo kito. Praktiškai tai reiškia, kad naudodami „Beanstalk“ galite sukurti savo užduotis savo PHP programoje ir apdoroti, pavyzdžiui, „NodeJS“ programoje. Laimei, Laravel visa tai abstrahuoja ir suteikia mums labai paprastą API, skirtą darbams išsiųsti ir tvarkyti, kaip matysime toliau.
Norėdami sukurti pavyzdinį projektą, pirmiausia turime įdiegti jo priklausomybes. Mes ketiname įdiegti PHP ir Composer.
sudo apt-get install php php-mbstring php-xml php-common php-zip composer
Dabar sukurkite projektą, pagrįstą Laravel 5.5.
composer create-project --prefer-dist laravel/laravel vultr "5.5.*"
Toliau cd
į neseniai sukurtą aplanką. Nuo šiol dirbsime šiame kataloge. Šis aplankas vėliau gali būti nurodytas kaip PROJECT_ROOT
.
cd vultr/
Norėdami naudoti „Beanstalk“ „Laravel“, turime įdiegti dar vieną priklausomybę – „PHP Beanstalk“ klientą.
composer require pda/pheanstalk ~3.0
Taip pat turime sukurti darbo atstovybę. „Laravel“ tai yra klasė app/Jobs
aplanke. Laravel turi konsolės komandą, kuri padeda mums sukurti darbo klasę. Sukurkime savo darbo pavyzdį.
php artisan make:job FindFavoriteOS
Atnaujinkite app/Jobs/FindFavoriteOS.php
failą į toliau pateiktą.
<?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']);
}
}
Rankenos metodas yra tai, kas bus veiksmingai atlikta, kai darbas bus sunaudotas. Čia gauname duomenis iš Vultr API, atsitiktinai pasirenkame OS ir įrašome pasirinktą OS į žurnalo failą. Žurnalo failas yra adresu storage/logs/laravel.log
.
Mes jau įdiegėme „Beanstalk“ ir apibrėžėme užduotį, kurią jis turi atlikti. Dabar laikas pasakyti „Laravel“ naudoti „Beanstalk“ kaip numatytąją darbo eilę. Nukopijuokite numatytąjį .env
Laravel diegimo failą.
cp .env.example .env
Dabar atidarykite .env
failą ir atnaujinkite eilutę, kurioje nurodyta eilės tvarkyklė.
QUEUE_DRIVER=beanstalkd
Galiausiai sugeneruokite programos raktą.
php artisan key:generate
Dabar esame pasirengę siųsti darbus į „Beanstalk“ darbų eilę.
Darbo išsiuntimas Laravelyje yra gana paprastas. Atnaujinkite routes/web.php
failą.
<?php
Route::get('/', function () {
for ($i = 0; $i < 50; $i++) {
\App\Jobs\FindFavoriteOS::dispatch();
}
return '50 Jobs dispatched!';
});
Nepaisant to, kad nerekomenduojama gamyboje paleisti įtaisytąjį pateiktą serverį, mes jį čia naudosime trumpumo sumetimais.
php artisan serve --host 0.0.0.0 --port 8000
Dabar žiniatinklio naršyklėje eikite į http://[vultr-instance-ip]:8000
. Pamatysite šį pranešimą.
50 Jobs dispatched!
Atidarykite naują SSH ryšį su savo serveriu ir mūsų projekto šaknyje atlikite šiuos veiksmus.
php artisan queue:work --once
Tai yra laukiama produkcija:
[2018-02-14 00:03:52] Processing: App\Jobs\FindFavoriteOS
[2018-02-14 00:03:53] Processed: App\Jobs\FindFavoriteOS
Patvirtinkite, kad žurnalas buvo sugeneruotas.
cat storage/logs/laravel.log
Kad nereikėtų rankiniu būdu apdoroti eilės, naudosime supervisord
. Sukurkite šią programos konfigūraciją /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
Atkreipkite dėmesį, kad teisingas kelias, kaip įdėti prižiūrėtojo konfigūracijos failą, priklausys nuo jūsų sąrankos. Be to, nepamirškite pakeisti [PROJECT_ROOT]
visu keliu į PROJECT_ROOT
jūsų sistemoje.
Čia mes sukonfigūruojame „Supervisor“, kad jis automatiškai pradėtų apdoroti eilę ir, jei scenarijus nutrūktų, paleisti jį iš naujo. Taip pat atkreipkite dėmesį, kad mes instantiuojame ne vieną darbuotoją, o 8 procesus. Priklausomai nuo jūsų taikomosios programos, galite laisvai kurti momentinius momentus, kad ir kiek daug procesų jums atrodo būtini.
Kad prižiūrėtojas galėtų valdyti mūsų darbuotoją, priverskite jį iš naujo perskaityti konfigūraciją.
sudo supervisorctl reread
sudo supervisorctl update
Jei Supervisor paslauga nebuvo paleista, daugelis turite ją paleisti.
sudo systemctl start supervisord
Dabar pažiūrėkime, ar darbai apdorojami.
tail -f storage/logs/laravel.log
Žiniatinklio naršyklėje eikite į http://[vultr-instance-ip]:8000
. Pamatysite konsolėje generuojamus žurnalus.
Sėkmingai sukonfigūravome „Laravel“ programą, kad „Beanstalk“ būtų naudojama kaip darbo eilė. Taip pat pademonstravome, kaip naudoti Supervisor valdant darbuotojus.
Naudojate kitą sistemą? Plesk yra patentuotas žiniatinklio prieglobos valdymo skydelis, leidžiantis vartotojams administruoti savo asmenines ir (arba) klientų svetaines, duomenų bazes
Įvadas Cacti yra atvirojo kodo stebėjimo ir grafikų sudarymo įrankis, visiškai pagrįstas RRD duomenimis. Naudodami „Cacti“ galite stebėti beveik bet kokio tipo įrenginius
Įvadas „Lets Encrypt“ yra sertifikatų išdavimo tarnyba, siūlanti nemokamus TLS/SSL sertifikatus. Diegimo procesą supaprastina Certbot,
Naudojate kitą sistemą? Kas yra Tekkit Classic? „Tekkit Classic“ yra visų žinomo ir mėgstamo žaidimo modifikacijų paketas; Minecraft. Jame yra keletas ver
Naudojate kitą sistemą? Ši pamoka parodys, kaip įdiegti grupinę programinę įrangą iRedMail naujai įdiegus Debian Wheezy. Turėtumėte naudoti tarnavimą
Naudojate kitą sistemą? „Jekyll“ yra puiki „WordPress“ alternatyva dienoraščių rašymui ar turinio dalijimuisi. Tam nereikia jokių duomenų bazių ir tai labai paprasta
Squid yra populiari nemokama „Linux“ programa, leidžianti sukurti persiuntimo žiniatinklio tarpinį serverį. Šiame vadove pamatysite, kaip įdiegti „Squid“ „CentOS“, kad paverstumėte jus
Įvadas Lighttpd yra „Apache“ šakutė, skirta daug mažiau išteklių imti. Jis yra lengvas, todėl jo pavadinimas ir yra gana paprastas naudoti. Įdiegti
1. Virtualmin/Webmin Virtualmin yra galingas ir lankstus interneto prieglobos valdymo skydelis, skirtas Linux ir UNIX sistemoms, pagrįstas gerai žinoma atvirojo kodo žiniatinklio baze
Yii yra PHP sistema, leidžianti greičiau ir lengviau kurti programas. „Yii“ įdiegimas „Ubuntu“ yra nesudėtingas, nes sužinosite tiksliai
Ekranas yra programa, leidžianti kelis kartus naudoti terminalo seansus viename lange. Tai leidžia imituoti kelis terminalo langus, kur tai ma
Įvadas Logrotate yra „Linux“ programa, supaprastinanti žurnalo failų administravimą. Paprastai jis veikia kartą per dieną per cron darbą ir tvarko žurnalų bazę
VULTR neseniai atliko pakeitimus, ir dabar viskas turėtų veikti gerai, kai įjungta „NetworkManager“. Jei norite išjungti
Icinga2 yra galinga stebėjimo sistema, o kai naudojama pagrindinio kliento modelyje, ji gali pakeisti NRPE pagrįstų stebėjimo patikrų poreikį. Meistras-klientas
Naudojate kitą sistemą? Apache Cassandra yra nemokama ir atviro kodo NoSQL duomenų bazių valdymo sistema, skirta užtikrinti mastelio keitimą, hig.
Naudojate kitą sistemą? Apache Cassandra yra nemokama ir atviro kodo NoSQL duomenų bazių valdymo sistema, skirta užtikrinti mastelio keitimą, hig.
Naudojate kitą sistemą? MODX Revolution yra greita, lanksti, keičiamo dydžio, nemokama ir atviro kodo, įmonės lygio turinio valdymo sistema (TVS), parašyta i.
Naudojate kitą sistemą? Mattermost yra atvirojo kodo, savarankiškai priglobta alternatyva Slack SAAS pranešimų paslaugai. Kitaip tariant, naudodami Mattermost, jūs apytiksliai
Naudojate kitą sistemą? MODX Revolution yra greita, lanksti, keičiamo dydžio atvirojo kodo, įmonės lygio turinio valdymo sistema (TVS), parašyta PHP. Tai i
„Plesk“ valdymo skydelyje yra labai graži „Lets Encrypt“ integracija. „Lets Encrypt“ yra vienas iš vienintelių SSL teikėjų, išduodančių visus sertifikatus
Dirbtinis intelektas nėra ateityje, jis čia, dabartyje Šiame tinklaraštyje Skaitykite, kaip dirbtinio intelekto programos paveikė įvairius sektorius.
Ar taip pat esate DDOS atakų auka ir esate sumišęs dėl prevencijos metodų? Perskaitykite šį straipsnį, kad išspręstumėte savo užklausas.
Galbūt girdėjote, kad įsilaužėliai uždirba daug pinigų, bet ar kada susimąstėte, kaip jie uždirba tokius pinigus? padiskutuokime.
Ar norite pamatyti revoliucinius „Google“ išradimus ir kaip šie išradimai pakeitė kiekvieno žmogaus gyvenimą šiandien? Tada skaitykite tinklaraštį, kad pamatytumėte „Google“ išradimus.
Savavaledžių automobilių koncepcija, kuri išvažiuotų į kelius su dirbtinio intelekto pagalba, yra svajonė, kurią jau kurį laiką svajojame. Tačiau nepaisant kelių pažadų, jų niekur nematyti. Skaitykite šį tinklaraštį, kad sužinotumėte daugiau…
Kadangi mokslas sparčiai vystosi, perimdamas daug mūsų pastangų, taip pat didėja rizika, kad pateksime į nepaaiškinamą singuliarumą. Skaitykite, ką mums gali reikšti išskirtinumas.
Duomenų saugojimo metodai gali būti tobulinami nuo pat Duomenų gimimo. Šiame tinklaraštyje, remiantis infografika, aprašoma duomenų saugojimo raida.
Skaitykite tinklaraštį, kad paprasčiausiai sužinotumėte apie skirtingus didžiųjų duomenų architektūros sluoksnius ir jų funkcijas.
Šiame skaitmeniniu būdu pagrįstame pasaulyje išmanieji namų įrenginiai tapo svarbia gyvenimo dalimi. Štai keletas nuostabių išmaniųjų namų įrenginių privalumų, kaip jie daro mūsų gyvenimą vertą gyventi ir paprastesnį.
Neseniai „Apple“ išleido „macOS Catalina 10.15.4“ priedą, skirtą problemoms išspręsti, tačiau atrodo, kad dėl atnaujinimo kyla daugiau problemų, dėl kurių „Mac“ įrenginiai blokuojami. Norėdami sužinoti daugiau, perskaitykite šį straipsnį