Settu upp Plesk á CentOS 7
Að nota annað kerfi? Plesk er sérstakt stjórnborð fyrir vefþjón sem gerir notendum kleift að stjórna persónulegum og/eða viðskiptavinum vefsíðum sínum, gagnagrunnum
RabbitMQ er opinn skilaboðamiðlari sem styður AMQP, STOMP og aðra samskiptatækni. Það er mikið notað í fyrirtækjaforritum og nútíma örþjónustuarkitektúrum þar sem það virkar sem ósamstillt skilaboðarás milli mismunandi örþjónustu. Þessi handbók mun lýsa því hvernig þú getur flokkað RabbitMQ á marga CentOS 7 netþjóna til að mynda skilaboðamiðlara með mikilli aðgengi. Í þessari kennslu mun einn þjónn virka sem aðalþjónn og hinir þjónar virka sem spegilþjónar ef aðalþjónninn verður ófáanlegur.
CentOS eldveggurinn, ( firewalld
), leyfir ekki komandi umferð sjálfgefið. Til að gera RabbitMQ aðgengilegt fyrir önnur kerfi innan og utan netsins, og til að leyfa okkur að fá aðgang að stjórnborðinu, verðum við fyrst að opna nokkrar gáttir.
Stjórnborð vefviðmóts RabbitMQ hlustar sjálfgefið á port 15672
. Okkur langar að gera stjórnborðið aðgengilegt almenningi svo við getum nálgast hana úr tölvunni okkar. Við munum því gefa fyrirmæli um firewalld
að opna höfn varanlega 15672
á almenningssvæðinu (sem er sjálfgefið og virkt svæði á Vultr tilviki).
sudo firewall-cmd --zone=public --add-port=15672/tcp --permanent
RabbitMQ hnúðarnir þurfa að geta átt samskipti sín á milli. Við viljum gjarnan opna nauðsynlegar höfn, en aðeins yfir innra netið. Við viljum ekki að neinn á internetinu geti stjórnað eða haft beint samband við netþjóna okkar. Eftirfarandi skipanir gera ráð fyrir að netþjónarnir okkar séu á 192.168.0.100/24
undirnetinu.
Fyrsta þjónustan er epmd
jafningjauppgötvunarþjónustan sem hlustar sjálfgefið á port 4369
.
sudo firewall-cmd --permanent --zone=public --add-rich-rule='
rule family="ipv4"
source address="192.168.0.100/24"
port protocol="tcp" port="4369" accept'
Fyrir internode og CLI samskipti þarf RabbitMQ að geta átt samskipti yfir port 25672
.
sudo firewall-cmd --permanent --zone=public --add-rich-rule='
rule family="ipv4"
source address="192.168.0.100/24"
port protocol="tcp" port="25672" accept'
CLI verkfærin hafa samskipti yfir hafnarsviðið 35672-35682
.
sudo firewall-cmd --permanent --zone=public --add-rich-rule='
rule family="ipv4"
source address="192.168.0.100/24"
port protocol="tcp" port="35672-35682" accept'
Ef forritin þín þurfa AMQP samskiptareglur þarftu líka að opna höfn 5671
og 5672
. Ef þú þarft að geta átt samskipti í gegnum aðra samskiptareglu geturðu fundið nauðsynlegar upplýsingar um netkröfur RabbitMQ á opinberu RabbitMQ skjölunum .
sudo firewall-cmd --permanent --zone=public --add-rich-rule='
rule family="ipv4"
source address="192.168.0.100/24"
port protocol="tcp" port="5672" accept'
sudo firewall-cmd --permanent --zone=public --add-rich-rule='
rule family="ipv4"
source address="192.168.0.100/24"
port protocol="tcp" port="5671" accept'
Nú þegar það firewalld
er stillt þurfum við að leiðbeina því um að endurhlaða stillingarnar.
sudo firewall-cmd --reload
Endurtaktu skrefin frá þessum hluta á öllum netþjónum.
rabbitmqadmin
Stjórnunarviðbótinni fylgir Python tól sem kallast rabbitmqadmin
sem auðvelt er að setja upp á kerfið þegar stjórnunarviðbótin er virkjuð.
sudo wget http://localhost:15672/cli/rabbitmqadmin
sudo mv rabbitmqadmin /usr/local/bin/
sudo chmod +x /usr/local/bin/rabbitmqadmin
Þú verður að nota hýsingarnöfn netþjónsins til að auðkenna netþjónana þegar þú safnar saman. Sjálfgefið er að ekki er úthlutað DNS-skrá á netþjóna og tengingin mun mistakast. Til að sigrast fljótt á þessu skaltu bæta master- og spegilhýsilheitinu við /etc/hosts
skrána með því að nota uppáhalds ritilinn þinn.
Til dæmis gæti skipstjóraskráin þín litið svona út. Taktu eftir síðustu tveimur færslunum, sem gera netþjónum kleift að bera kennsl á hver annan með hýsingarnafni sínu. Vertu viss um að breyta IP tölunum í þínar eigin.
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
127.0.0.1 guest
::1 guest
127.0.0.1 YOUR_MASTER_SERVER_HOST_NAME
::1 YOUR_MASTER_SERVER_HOST_NAME
192.168.0.101 YOUR_MASTER_SERVER_HOST_NAME
192.168.0.102 YOUR_MIRROR_SERVER_HOST_NAME
Innflutningsforsenda til að leyfa hnútum að sameinast hver öðrum er að Erlang kex allra hnúta sé eins. Sjálfgefið er að hverjum hnút verður úthlutað einstakt Erlang kex, svo þú verður að endurstilla það á öllum hnútum.
Eftirfarandi skipun mun stilla Erlang kökuna á " WE<3COOKIES
", en ekki hika við að breyta þessu að vild. Gerðu þetta á öllum netþjónum.
sudo sh -c "echo 'WE<3COOKIES' > /var/lib/rabbitmq/.erlang.cookie"
Endurræstu RabbitMQ á öllum netþjónum til að tryggja að Erlang kexið sé rétt endurhlaðað.
sudo systemctl restart rabbitmq-server.service
Framkvæmdu eftirfarandi skipanir á öllum netþjónum nema á aðalþjóninum. Þetta mun leyfa hnútunum að sameinast aðalþjóninum og mynda þyrping.
sudo rabbitmqctl stop_app
sudo rabbitmqctl join_cluster "rabbit@<YOUR_MASTER_SERVER_HOST_NAME>"
sudo rabbitmqctl start_app
Staðfestu að hnútarnir hafi sameinast þyrpingunni með því að keyra eftirfarandi skipun.
sudo rabbitmqctl cluster_status
Allir hnúðarnir þínir munu birtast í nodes
og running_nodes
hluta úttaksins. Héðan í frá þarftu ekki lengur að endurtaka skref á hverjum netþjóni, stillingar verða sjálfkrafa speglaðar í hina hnútana.
Nú þegar við erum með þyrping af RabbitMQ hnútum getum við notað þetta til að búa til biðraðir og skipti með mikilli aðgengi með því að setja upp nýja stefnu. Þessari stefnu er hægt að bæta við í gegnum RabbitMQ stjórnborðið eða með því að nota skipanalínuviðmótið.
sudo rabbitmqctl set_policy -p "/" --priority 1 --apply-to "all" ha ".*" '{ "ha-mode": "exactly", "ha-params": 2, "ha-sync-mode": "automatic"}'
Eftirfarandi listi mun útskýra hvað hver hluti skipunarinnar þýðir.
-p "/"
: Notaðu þessa stefnu á "/"
vhost (sjálfgefið eftir uppsetningu)--priority 1
: Röð þar sem reglum er beitt --apply-to "all"
: Getur verið "queues"
, "exchanges"
eða"all"
ha
: Nafnið sem við gefum stefnu okkar ".*"
: Regluleg segð sem er notuð til að ákveða hvaða biðraðir eða skipti þessi stefna er notuð. ".*"
mun passa við hvað sem er'{ "ha-mode": "exactly", "ha-params": 2, "ha-sync-mode": "automatic"}'
: JSON framsetning stefnunnar. Þetta skjal lýsir því að við viljum - nákvæmlega 2 hnúta sem gögnin eru sjálfkrafa samstillt áÍ stuttu máli mun þessi stefna tryggja að við verðum alltaf með 2 afrit af gögnunum í biðröð eða skipti svo framarlega sem við höfum að minnsta kosti 2 hnúta í gangi. Ef þú ert með fleiri hnúta geturðu aukið gildi ha-params
. Mælt er N/2 + 1
með því að hnútar séu ályktunarhæfir ( ). Að hafa fleiri afrit af gögnunum þínum myndi leiða til meiri disks, i/o og netnotkunar sem gæti leitt til skertrar frammistöðu.
Ef þú vilt spegla gögnin í alla hnúta í klasanum gætirðu notað eftirfarandi JSON skjal.
'{ "ha-mode": "all", "ha-sync-mode": "automatic"}'
Ef þú vilt spegla gögnin aðeins í tiltekna hnúta, (til dæmis: node-1
og node-2
), gætirðu notað eftirfarandi.
'{ "ha-mode": "nodes", "ha-params" :["rabbit@node-1", "rabbit@node-2"], "ha-sync-mode": "automatic"}'
Þú getur breytt reglulegri tjáningu til að úthluta mismunandi stefnum í mismunandi biðraðir. Segjum að við höfum eftirfarandi þrjá hnúta:
Við getum síðan búið til tvær stefnur sem leiða til þess að biðraðir sem hafa nafn sem byrjar á "viðskiptavinur" speglast í rabbit@client-ha
hnútinn og allar biðraðir sem hafa nafn sem byrjar á "vöru" speglast í rabbit@product-ha
hnútinn.
sudo rabbitmqctl set_policy -p "/" --priority 1 --apply-to "queues" ha-client "client.*" '{ "ha-mode": "nodes", "ha-params": ["rabbit@master", "rabbit@client-ha"], "ha-sync-mode": "automatic"}
sudo rabbitmqctl set_policy -p "/" --priority 1 --apply-to "queues" ha-product "product.*" '{ "ha-mode": "nodes", "ha-params": ["rabbit@master", "rabbit@product-ha"], "ha-sync-mode": "automatic"}
Lítil athugasemd hér: einkar biðraðir eru aldrei speglaðar eða endingargóðar í RabbitMQ, jafnvel þótt þessi stefna myndi passa við slíkar biðraðir. Einkum biðraðir eyðileggjast sjálfkrafa þegar viðskiptavinur aftengir sig og sem slíkur væri ekkert gagn að endurtaka það á annan netþjón. Ef þjónninn myndi bila, myndi viðskiptavinurinn aftengjast honum og biðröðinni yrði eytt sjálfkrafa. Spegluð tilvik yrðu líka eytt.
Til þess að prófa klasauppsetninguna getum við búið til nýja biðröð með því að nota skipanalínuviðmótið í gegnum stjórnborðið.
sudo rabbitmqadmin declare queue --vhost "/" name=my-ha-queue durable=true
Þetta mun búa til varanlega biðröð á sjálfgefna /
vhost með nafninu my-ha-queue
.
Keyrðu eftirfarandi skipun og staðfestu í úttakinu að biðröðinni hafi 'ha' stefnu okkar úthlutað og hafi pid's á masternum og á spegilhnút.
sudo rabbitmqctl list_queues name policy state pid slave_pids
Við getum nú birt skilaboð í biðröðina frá aðalhnútnum og stöðvað RabbitMQ á aðalhnútnum.
sudo rabbitmqadmin -u user_name -p password publish routing_key=my-ha-queue payload="hello world"
sudo systemctl rabbitmqctl shutdown
Fáðu það nú aftur með því að tengjast spegilhnútnum.
sudo rabbitmqadmin -H MIRROR_NODE_IP_OR_DNS -u user_name -p password get queue=my-ha-queue
Að lokum getum við endurræst aðalhnútinn okkar.
sudo systemctl start rabbitmq-server.service
Eins og áður hefur komið fram býr RabbitMQ sjálfkrafa til gestanotanda með sjálfgefið gestalykilorð. Það væri slæm venja að skilja þennan sjálfgefna notanda eftir á opinberu kerfi.
sudo rabbitmqctl delete_user guest
Að nota annað kerfi? Plesk er sérstakt stjórnborð fyrir vefþjón sem gerir notendum kleift að stjórna persónulegum og/eða viðskiptavinum vefsíðum sínum, gagnagrunnum
Smokkfiskur er vinsælt, ókeypis Linux forrit sem gerir þér kleift að búa til framsendingarforrit á vefnum. Í þessari handbók muntu sjá hvernig á að setja upp Squid á CentOS til að snúa þér
Inngangur Lighttpd er gaffal af Apache sem miðar að því að vera miklu minna auðlindafrekt. Hann er léttur, þess vegna heitir hann, og er frekar einfaldur í notkun. Uppsetning
VULTR hefur nýlega gert breytingar á enda þeirra og allt ætti nú að virka vel út úr kassanum með NetworkManager virkt. Ef þú vilt slökkva á
Icinga2 er öflugt eftirlitskerfi og þegar það er notað í aðal-viðskiptavinamódel getur það komið í stað þörf fyrir NRPE-undirstaða vöktunareftirlit. Húsbóndinn
Að nota annað kerfi? Apache Cassandra er ókeypis og opinn uppspretta NoSQL gagnagrunnsstjórnunarkerfi sem er hannað til að veita sveigjanleika, háan
Að nota annað kerfi? Microweber er opinn uppspretta draga og sleppa CMS og netverslun. Microweber frumkóði er hýst á GitHub. Þessi handbók mun sýna þér
Að nota annað kerfi? Mattermost er opinn uppspretta, sjálfhýst valkostur við Slack SAAS skilaboðaþjónustuna. Með öðrum orðum, með Mattermost, þú ca
Það sem þú þarft Vultr VPS með að minnsta kosti 1GB af vinnsluminni. SSH aðgangur (með rót / stjórnunarréttindi). Skref 1: Uppsetning BungeeCord Fyrst af öllu
Plesk stjórnborðið er með mjög fallegri samþættingu fyrir Lets Encrypt. Lets Encrypt er ein af einu SSL veitunum sem gefa út skírteini að fullu
Lets Encrypt er vottunaryfirvöld sem sérhæfir sig í að útvega SSL vottorð án endurgjalds. cPanel hefur byggt upp snyrtilega samþættingu svo þú og viðskiptavinurinn þinn
Að nota annað kerfi? Concrete5 er opinn uppspretta CMS sem býður upp á marga áberandi og gagnlega eiginleika til að aðstoða ritstjóra við að framleiða efni auðveldlega og
Að nota annað kerfi? Review Board er ókeypis og opinn hugbúnaður til að skoða frumkóða, skjöl, myndir og margt fleira. Það er vefbundið hugbúnaðarstríð
Í þessari handbók munt þú læra hvernig á að setja upp HTTP auðkenningu fyrir Nginx vefþjón sem keyrir á CentOS 7. Kröfur Til að byrja þarftu að
YOURLS (Your Own URL Shortener) er opinn uppspretta vefslóða styttingar og gagnagreiningarforrit. Í þessari grein munum við fjalla um ferlið við uppsetningu
Using a Different System? Introduction ArangoDB is an open source NoSQL database with a flexible data model for documents, graphs, and key-values. It is
Inngangur /etc/ skrárinn gegnir mikilvægu hlutverki í því hvernig Linux kerfi virkar. Ástæðan fyrir þessu er sú að næstum allar kerfisstillingar
Margir kerfisstjórar stjórna miklu magni af netþjónum. Þegar aðgangur þarf að skrám á mismunandi netþjónum er innskráning á hvern og einn fyrir sig ca
Þessi kennsla mun fjalla um ferlið við að setja upp Half Life 2 leikjaþjón á CentOS 6 System. Skref 1: Forsendur settar upp Til að setja upp ou
Laravel GitScrum, eða GitScrum er opinn uppspretta framleiðniverkfæri hannað til að hjálpa þróunarteymi að innleiða Scrum aðferðafræðina á svipaðan hátt
Gervigreind er ekki í framtíðinni, hún er hér í nútímanum Í þessu bloggi Lestu hvernig gervigreindarforrit hafa haft áhrif á ýmsa geira.
Ertu líka fórnarlamb DDOS árása og ruglaður með forvarnaraðferðirnar? Lestu þessa grein til að leysa spurningar þínar.
Þú gætir hafa heyrt að tölvuþrjótar græða mikið af peningum, en hefur þú einhvern tíma velt því fyrir þér hvernig þeir vinna sér inn svona peninga? við skulum ræða.
Viltu sjá byltingarkenndar uppfinningar frá Google og hvernig þessar uppfinningar breyttu lífi hvers manns í dag? Lestu síðan til að blogga til að sjá uppfinningar frá Google.
Hugmyndin um að sjálfkeyrandi bílar fari á göturnar með hjálp gervigreindar er draumur sem við höfum átt um tíma núna. En þrátt fyrir nokkur loforð eru þau hvergi sjáanleg. Lestu þetta blogg til að læra meira…
Þar sem vísindin þróast hratt og taka yfir mikið af viðleitni okkar, eykst hættan á því að verða fyrir óútskýranlegri einstæðu. Lestu, hvað sérkenni gæti þýtt fyrir okkur.
Geymsluaðferðir gagna hafa verið að þróast gæti verið frá fæðingu gagna. Þetta blogg fjallar um þróun gagnageymslu á grundvelli upplýsingamynda.
Lestu bloggið til að þekkja mismunandi lög í Big Data Architecture og virkni þeirra á einfaldasta hátt.
Í þessum stafræna heimi hafa snjallheimilistæki orðið afgerandi hluti af lífi. Hér eru nokkrir ótrúlegir kostir snjallheimatækja um hvernig þau gera líf okkar þess virði að lifa því og einfaldara.
Nýlega gaf Apple út macOS Catalina 10.15.4 viðbótaruppfærslu til að laga vandamál en svo virðist sem uppfærslan sé að valda fleiri vandamálum sem leiða til múrsteins á Mac vélum. Lestu þessa grein til að læra meira