Asenna Plesk CentOS 7:ään
Käytätkö erilaista järjestelmää? Plesk on patentoitu verkkoisäntäohjauspaneeli, jonka avulla käyttäjät voivat hallita henkilökohtaisia ja/tai asiakkaidensa verkkosivustoja, tietokantoja
RabbitMQ on avoimen lähdekoodin viestivälittäjä, joka tukee AMQP-, STOMP- ja muita viestintätekniikoita. Sitä käytetään laajalti yrityssovelluksissa ja moderneissa mikropalveluarkkitehtuureissa, joissa se toimii asynkronisena viestikanavana eri mikropalvelujen välillä. Tässä oppaassa kuvataan, kuinka voit ryhmitellä RabbitMQ:n useille CentOS 7 -palvelimille korkean käytettävyyden viestivälittäjän muodostamiseksi. Tässä opetusohjelmassa yksi palvelin toimii pääpalvelimena ja muut palvelimet peilipalvelimina, jos pääpalvelin ei ole käytettävissä.
CentOS:n palomuuri ( firewalld
) ei salli saapuvaa liikennettä oletuksena. Jotta RabbitMQ olisi käytettävissä muille järjestelmille verkossa ja sen ulkopuolella, ja jotta voimme käyttää hallintakonsolia, meidän on ensin avattava joitain portteja.
RabbitMQ:n verkkokäyttöliittymän hallintakonsoli kuuntelee oletusarvoisesti porttia 15672
. Haluamme tuoda hallintakonsolin julkisesti saataville, jotta voimme käyttää sitä tietokoneellamme. Siksi ohjeistamme firewalld
avaamaan portin pysyvästi 15672
julkisessa vyöhykkeessä (joka on oletus- ja aktiivinen vyöhyke Vultr-esiintymässä).
sudo firewall-cmd --zone=public --add-port=15672/tcp --permanent
RabbitMQ-solmujen on kyettävä kommunikoimaan toistensa kanssa. Haluamme avata tarvittavat portit, mutta vain sisäisen verkon kautta. Emme halua kenenkään Internetin voivan hallinnoida palvelimiamme tai ottaa suoraan yhteyttä palvelimiin. Seuraavat komennot olettavat, että palvelimemme ovat 192.168.0.100/24
aliverkossa.
Ensimmäinen palvelu on epmd
vertaisetsintäpalvelu, joka kuuntelee oletusarvoisesti porttia 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'
Solmujen välistä ja CLI-viestintää varten RabbitMQ:n on kyettävä kommunikoimaan portin kautta 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 - työkalut kommunikoivat porttialueen yli 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'
Jos sovelluksesi tarvitsevat AMQP-protokollan, sinun on myös avattava portit 5671
ja 5672
. Jos sinun on pystyttävä kommunikoimaan toisen protokollan kautta, löydät tarvittavat tiedot RabbitMQ:n verkkovaatimuksista virallisesta RabbitMQ-dokumentaatiosta .
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'
Nyt kun se firewalld
on määritetty, meidän on ohjeistettava sitä lataamaan kokoonpano uudelleen.
sudo firewall-cmd --reload
Toista tämän osan vaiheet kaikilla palvelimilla.
rabbitmqadmin
Hallintalaajennuksen mukana tulee Python-työkalu, rabbitmqadmin
joka voidaan helposti asentaa järjestelmään, kun hallintalaajennus on otettu käyttöön.
sudo wget http://localhost:15672/cli/rabbitmqadmin
sudo mv rabbitmqadmin /usr/local/bin/
sudo chmod +x /usr/local/bin/rabbitmqadmin
Sinun on käytettävä palvelimen isäntänimiä palvelinten tunnistamiseen klusteroinnin aikana. Oletuksena palvelimille ei ole määritetty DNS-tietuetta ja yhteys epäonnistuu. Voit voittaa tämän nopeasti lisäämällä isäntä- ja peilipalvelimen nimen /etc/hosts
tiedostoon suosikkieditorillasi.
Esimerkiksi isäntäsi hosts-tiedosto saattaa näyttää seuraavalta. Huomaa kaksi viimeistä tietuetta, joiden avulla palvelimet voivat tunnistaa toisensa isäntänimen perusteella. Muista vaihtaa IP-osoitteet omiksi.
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
Tuonnin edellytys solmujen liittymiselle on, että kaikkien solmujen Erlang-eväste on identtinen. Oletusarvoisesti jokaiselle solmulle määritetään yksilöllinen Erlang-eväste, joten sinun on määritettävä se uudelleen kaikissa solmuissa.
Seuraava komento asettaa Erlang-evästeen arvoon " WE<3COOKIES
", mutta voit muuttaa tätä haluamallasi tavalla. Tee tämä kaikilla palvelimilla.
sudo sh -c "echo 'WE<3COOKIES' > /var/lib/rabbitmq/.erlang.cookie"
Käynnistä RabbitMQ uudelleen kaikilla palvelimilla varmistaaksesi, että Erlang-eväste on ladattu oikein.
sudo systemctl restart rabbitmq-server.service
Suorita seuraavat komennot kaikilla palvelimilla paitsi pääpalvelimella. Tämä antaa solmujen liittyä pääpalvelimeen ja muodostaa klusterin.
sudo rabbitmqctl stop_app
sudo rabbitmqctl join_cluster "rabbit@<YOUR_MASTER_SERVER_HOST_NAME>"
sudo rabbitmqctl start_app
Varmista, että solmut ovat liittyneet klusteriin suorittamalla seuraava komento.
sudo rabbitmqctl cluster_status
Kaikki solmusi näkyvät tulosteen nodes
ja running_nodes
-osiossa. Tästä eteenpäin sinun ei enää tarvitse toistaa vaiheita jokaisella palvelimella, vaan kokoonpano peilataan automaattisesti muihin solmuihin.
Nyt kun meillä on RabbitMQ-solmuklusteri, voimme käyttää tätä korkean käytettävyyden jonot ja vaihdot luomalla uuden käytännön. Tämä käytäntö voidaan lisätä RabbitMQ-hallintakonsolin tai komentoriviliittymän kautta.
sudo rabbitmqctl set_policy -p "/" --priority 1 --apply-to "all" ha ".*" '{ "ha-mode": "exactly", "ha-params": 2, "ha-sync-mode": "automatic"}'
Seuraava luettelo selittää, mitä kukin komennon osa tarkoittaa.
-p "/"
: Käytä tätä käytäntöä "/"
vhostissa (oletusasetus asennuksen jälkeen)--priority 1
: Järjestys, jossa käytäntöjä sovelletaan --apply-to "all"
: Voi olla "queues"
, "exchanges"
tai"all"
ha
: Nimi, jonka annamme politiikallemme ".*"
: Säännöllinen lauseke, jota käytetään päättämään, mihin jonoihin tai vaihtoihin tätä käytäntöä sovelletaan. ".*"
sopii mihin tahansa'{ "ha-mode": "exactly", "ha-params": 2, "ha-sync-mode": "automatic"}'
: Käytännön JSON-esitys. Tässä asiakirjassa kuvataan, että haluamme - täsmälleen 2 solmua, joiden tiedot synkronoidaan automaattisestiLyhyesti sanottuna tämä käytäntö varmistaa, että meillä on aina 2 kopiota tiedoista jonossa tai vaihdossa niin kauan kuin meillä on vähintään 2 solmua käynnissä. Jos sinulla on enemmän solmuja, voit lisätä arvoa ha-params
. N/2 + 1
Solmujen päätösvaltaisuus ( ) on suositeltavaa. Jos tiedoistasi on enemmän kopioita, levy-, i/o- ja verkkokäyttö lisääntyy, mikä voi johtaa suorituskyvyn heikkenemiseen.
Jos haluat peilata tiedot kaikkiin klusterin solmuihin, voit käyttää seuraavaa JSON-asiakirjaa.
'{ "ha-mode": "all", "ha-sync-mode": "automatic"}'
Jos haluat peilata tiedot vain tiettyihin solmuihin (esimerkiksi: node-1
ja node-2
), voit käyttää seuraavaa.
'{ "ha-mode": "nodes", "ha-params" :["rabbit@node-1", "rabbit@node-2"], "ha-sync-mode": "automatic"}'
Voit muuttaa säännöllistä lauseketta määrittääksesi eri käytännöt eri jonoihin. Oletetaan, että meillä on seuraavat kolme solmua:
Voimme sitten luoda kaksi käytäntöä, jotka johtavat siihen, että jonoilla on "asiakas"-alkuinen rabbit@client-ha
nimi, joka peilataan solmuun, ja kaikki jonot, joiden nimi alkaa "tuote", peilataan rabbit@product-ha
solmuun.
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"}
Pieni huomautus tähän: eksklusiivisia jonoja ei koskaan peilata tai kestä RabbitMQ:ssa, vaikka tämä käytäntö vastaisikin tällaisia jonoja. Eksklusiiviset jonot tuhoutuvat automaattisesti, kun asiakas katkaisee yhteyden, joten sen kopioiminen toiselle palvelimelle ei olisi hyödyllistä. Jos palvelin epäonnistuu, asiakas katkaisee yhteyden siihen ja jono tuhoutuisi automaattisesti. Myös peilatut tapaukset tuhoutuisivat.
Klustereiden asennuksen testaamiseksi voimme luoda uuden jonon komentoriviliittymällä hallintakonsolin kautta.
sudo rabbitmqadmin declare queue --vhost "/" name=my-ha-queue durable=true
Tämä luo pysyvän jonon oletusarvoiseen /
vhost-palvelimeen, jonka nimi on my-ha-queue
.
Suorita seuraava komento ja varmista lähdöstä, että jonolle on määritetty ha-käytäntömme ja että siinä on pid:t isäntäsolmussa ja peilisolmussa.
sudo rabbitmqctl list_queues name policy state pid slave_pids
Voimme nyt julkaista viestin jonoon pääsolmusta ja pysäyttää RabbitMQ:n pääsolmussa.
sudo rabbitmqadmin -u user_name -p password publish routing_key=my-ha-queue payload="hello world"
sudo systemctl rabbitmqctl shutdown
Nyt saat sen takaisin yhdistämällä peilisolmuun.
sudo rabbitmqadmin -H MIRROR_NODE_IP_OR_DNS -u user_name -p password get queue=my-ha-queue
Lopuksi voimme käynnistää pääsolmumme uudelleen.
sudo systemctl start rabbitmq-server.service
Kuten aiemmin mainittiin, RabbitMQ luo automaattisesti vieraskäyttäjän oletussalasanalla. Olisi huono käytäntö jättää tämä oletuskäyttäjä julkisesti esillä olevaan järjestelmään.
sudo rabbitmqctl delete_user guest
Käytätkö erilaista järjestelmää? Plesk on patentoitu verkkoisäntäohjauspaneeli, jonka avulla käyttäjät voivat hallita henkilökohtaisia ja/tai asiakkaidensa verkkosivustoja, tietokantoja
Squid on suosittu, ilmainen Linux-ohjelma, jonka avulla voit luoda edelleenlähetysverkkovälityspalvelimen. Tässä oppaassa näet, kuinka Squid asennetaan CentOS:ään kääntääksesi sinut
Johdanto Lighttpd on Apachen haarukka, jonka tarkoituksena on olla paljon vähemmän resurssiintensiivinen. Se on kevyt, tästä syystä sen nimi, ja on melko yksinkertainen käyttää. Asenna
VULTR on äskettäin tehnyt muutoksia heidän omiinsa, ja kaiken pitäisi nyt toimia hyvin heti, kun NetworkManager on käytössä. Jos haluat poistaa käytöstä
Icinga2 on tehokas valvontajärjestelmä, ja master-client-mallissa käytettynä se voi korvata NRPE-pohjaisten valvontatarkastusten tarpeen. Pääasiakas
Käytätkö erilaista järjestelmää? Apache Cassandra on ilmainen ja avoimen lähdekoodin NoSQL-tietokannan hallintajärjestelmä, joka on suunniteltu tarjoamaan skaalautuvuutta, hig.
Käytätkö erilaista järjestelmää? Microweber on avoimen lähdekoodin vedä ja pudota sisällönhallintajärjestelmä ja verkkokauppa. Microweber-lähdekoodia isännöidään GitHubissa. Tämä opas näyttää sinulle
Käytätkö erilaista järjestelmää? Mattermost on avoimen lähdekoodin itseisännöity vaihtoehto Slack SAAS -viestipalvelulle. Toisin sanoen Mattermostin avulla voit noin
Mitä tarvitset Vultr VPS:n, jossa on vähintään 1 Gt RAM-muistia. SSH-käyttö (pääkäyttäjän/järjestelmänvalvojan oikeuksilla). Vaihe 1: BungeeCordin asentaminen Ensimmäiset asiat ensin
Plesk-ohjauspaneelissa on erittäin mukava integraatio Lets Encryptille. Lets Encrypt on yksi ainoista SSL-palveluntarjoajista, jotka myöntävät varmenteita täydellisesti
Lets Encrypt on varmenneviranomainen, joka on omistautunut tarjoamaan SSL-varmenteita ilmaiseksi. cPanel on rakentanut siistin integraation sinulle ja asiakkaallesi
Käytätkö erilaista järjestelmää? Concrete5 on avoimen lähdekoodin sisällönhallintajärjestelmä, joka tarjoaa monia ainutlaatuisia ja hyödyllisiä ominaisuuksia, jotka auttavat toimittajia tuottamaan sisältöä helposti ja helposti.
Käytätkö erilaista järjestelmää? Review Board on ilmainen ja avoimen lähdekoodin työkalu lähdekoodin, dokumentaation, kuvien ja monien muiden tarkistamiseen. Se on web-pohjainen ohjelmisto
Tässä oppaassa opit määrittämään HTTP-todennuksen Nginx-verkkopalvelimelle, joka toimii CentOS 7:ssä. Vaatimukset Aloitaksesi tarvitset
YOURLS (Your Own URL Shortener) on avoimen lähdekoodin URL-osoitteiden lyhennys- ja data-analytiikkasovellus. Tässä artikkelissa käsittelemme asennusprosessia
Käytätkö erilaista järjestelmää? Johdanto ArangoDB on avoimen lähdekoodin NoSQL-tietokanta, jossa on joustava tietomalli asiakirjoille, kaavioille ja avainarvoille. se on
Johdanto /etc/-hakemistolla on tärkeä rooli Linux-järjestelmän toiminnassa. Syynä tähän on se, että lähes kaikki järjestelmäkokoonpanot
Monet järjestelmänvalvojat hallitsevat suuria määriä palvelimia. Kun tiedostoja on käytettävä eri palvelimien kautta, kirjaudu jokaiseen erikseen n
Tämä opetusohjelma kattaa Half Life 2 -pelipalvelimen asennuksen CentOS 6 -järjestelmään. Vaihe 1: Edellytysten asentaminen Voit määrittää ou
Laravel GitScrum tai GitScrum on avoimen lähdekoodin tuottavuustyökalu, joka on suunniteltu auttamaan kehitysryhmiä ottamaan käyttöön Scrum-metodologian samalla tavalla.
Tekoäly ei ole tulevaisuudessa, se tässä nykyisyydessä Tässä blogissa Lue kuinka tekoälysovellukset ovat vaikuttaneet eri sektoreihin.
Oletko myös DDOS-hyökkäysten uhri ja hämmentynyt ehkäisymenetelmistä? Lue tämä artikkeli ratkaistaksesi kysymyksesi.
Olet ehkä kuullut, että hakkerit ansaitsevat paljon rahaa, mutta oletko koskaan miettinyt, kuinka he ansaitsevat tuollaista rahaa? keskustellaan.
Haluatko nähdä Googlen vallankumouksellisia keksintöjä ja kuinka nämä keksinnöt muuttivat jokaisen ihmisen elämää nykyään? Lue sitten blogia nähdäksesi Googlen keksinnöt.
Konsepti itseohjautuvista autoista lähteä tielle tekoälyn avulla on ollut haaveena jo jonkin aikaa. Mutta useista lupauksista huolimatta niitä ei näy missään. Lue tämä blogi saadaksesi lisätietoja…
Kun tiede kehittyy nopeasti ja ottaa haltuunsa suuren osan ponnisteluistamme, myös riskit altistaa itsemme selittämättömälle singulariteetille kasvavat. Lue, mitä singulaarisuus voisi tarkoittaa meille.
Tietojen säilytystavat ovat kehittyneet mahdollisesti Datan syntymästä lähtien. Tämä blogi käsittelee tiedon tallennuksen kehitystä infografian pohjalta.
Blogista saat tietää Big Data -arkkitehtuurin eri kerroksista ja niiden toiminnoista yksinkertaisimmalla tavalla.
Tässä digitaalisessa maailmassa kodin älylaitteista on tullut tärkeä osa elämää. Tässä on muutamia älykkäiden kodin laitteiden hämmästyttäviä etuja, joiden avulla ne tekevät elämästämme elämisen arvoista ja yksinkertaisempaa.
Apple julkaisi äskettäin macOS Catalina 10.15.4 -lisäpäivityksen ongelmien korjaamiseksi, mutta näyttää siltä, että päivitys aiheuttaa lisää ongelmia, jotka johtavat mac-koneiden tiilikaamiseen. Lue tämä artikkeli saadaksesi lisätietoja