O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1
O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1
În timp ce SaltStack este un instrument excelent pentru a rula operațiuni pe mai multe servere simultan, acesta acceptă și presetări de configurare definite per gazdă, stocate într-un fișier unic, care mai sunt numite „pilon”. În acest ghid, vom scrie o mică formulă SaltStack pentru instalarea Nginx și automatizarea implementării gazdelor virtuale folosind stâlpi.
Dacă tocmai începeți și nu ați configurat încă maestrul SaltStack, consultați acest articol care explică cum să începeți cu SaltStack.
Începem cu crearea dosarului pentru formula noastră, care deține în continuare fișierele necesare pentru operațiunile SaltStack pe minionișii noștri.
mkdir -p /srv/salt/nginx
După crearea dosarului, putem continua cu scrierea init.slsfișierului care este o parte esențială a fiecărei formule:
nginx:
pkg:
- installed
/etc/nginx/sites-enabled/virtualhosts.conf:
file.managed:
- source: salt://nginx/files/virtualhosts.jinja
- template: jinja
- user: root
- group: root
- mode: 655
cmd:
- run
- names:
- service nginx restart
După cum probabil ați observat, SaltStack utilizează motorul de plantare Jinja pentru a genera fișiere de configurare dinamice. Aceasta oferă o gamă largă de posibilități în fișierele de șabloane de configurare, cum ar fi accesarea codului Python nativ sau la variabile de setare și similare. Următorul pas constă în crearea șablonului pentru virtualhosts.conffișierul nostru , în timp ce mai întâi trebuie să creăm folderul:
mkdir -p /srv/salt/nginx/files
Odată ce folderul este creat, putem continua cu scrierea virtualhosts.jinjafișierului:
{% for vhost in pillar['vhosts'] %}
server {
listen {{ vhost['listenPort'] }};
server_name {{ vhost['serverName'] }};
root {{ vhost['documentRoot'] }};
index {%- for index in vhost['indexFiles'] -%}{{ index }}{%- endfor -%};
location / {
try_files $uri $uri/ =404;
}
}
{% endfor %}
După crearea formulei, putem merge înainte și configura baza pilonului nostru:
mkdir -p /srv/pillar/
Orice referințe pentru gazde care se potrivesc cu un anumit fișier pilon sunt scrise în top.slsfișier în directorul pe care tocmai l-am creat. În exemplul nostru, presupunem că două minioni există cu numele de gazdă nginxwww1și în nginxwww2timp ce le vom atribui ambelor fișiere de pilon unice:
base:
'id:nginxwww1':
- match: grain
- nginxwww1
'id:nginxwww2':
- match: grain
- nginxwww2
În continuare, vom continua cu crearea unui fișier pilon pentru nginxwww1că vom crea o audiere vhost pe portul 81 pentru domeniu example.com, rădăcina documentului fiind /var/www/example_com/și fișierele index fiind index.shtml:
vhosts:
-
listenPort: '81'
serverName: 'example.com'
documentRoot: '/var/www/example_com'
indexFiles:
- index.shtml
Vom continua cu crearea unui fișier pilon pentru nginxwww2că vom crea o ascultare vhost pe portul 82 pentru domeniu example2.com, rădăcina documentului fiind /var/www/example2_com/și fișierele index fiind index.jsși index.css:
vhosts:
-
listenPort: '82'
serverName: 'example2.com'
documentRoot: '/var/www/example2_com'
indexFiles:
- index.js
- index.css
Notă: Fișierele pilon sunt stocate în interior/srv/pillar/
Acum putem completa prima încercare cu piloni, actualizându-i pe minionii noștri:
salt '*' saltutil.refresh_pillar
După aceea, putem rula formula SaltStack:
salt '*' state.sls nginx
Odată cu formula SaltStack a fost rulat și completat fără erori, ar trebui să putem vedea de nginxascultare pe portul de 81pe nginxwww1și pe portul 82la nginxwww2confirmarea.
Această formulă destul de ușoară, dar deja puternică, SaltStack, poate fi extinsă suplimentar pentru a adăuga suport pentru HTTPS, eventual cu o integrare a Let's Encrypt, asistență pentru back-up-uri CGI sau PHP și tot ceea ce puteți face manual. Acest ghid ar fi trebuit să vă ofere o idee de bază a formulelor SaltStack și a pilonilor utilizați pentru implementarea fișierelor de configurare. Automatizări fericite!
O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1
Citiți blogul pentru a cunoaște diferitele straturi din Arhitectura Big Data și funcționalitățile acestora în cel mai simplu mod.
Mulți dintre voi cunoașteți Switch care va fi lansat în martie 2017 și noile sale funcții. Pentru cei care nu știu, am pregătit o listă de funcții care fac din „Switch” un „gadget obligatoriu”.
Aștepți ca giganții tehnologiei să-și îndeplinească promisiunile? vezi ce a ramas nelivrat.
Citiți asta pentru a afla cum devine populară inteligența artificială în rândul companiilor la scară mică și cum crește probabilitățile de a le face să crească și de a le oferi concurenților avantaje.
Pe măsură ce Știința Evoluează într-un ritm rapid, preluând multe dintre eforturile noastre, crește și riscurile de a ne supune unei Singularități inexplicabile. Citiți, ce ar putea însemna singularitatea pentru noi.
CAPTCHA a devenit destul de dificil de rezolvat pentru utilizatori în ultimii ani. Va fi capabil să rămână eficient în detectarea spam-ului și a botului în viitor?
Ce este telemedicina, îngrijirea medicală la distanță și impactul acesteia asupra generației viitoare? Este un loc bun sau nu în situația de pandemie? Citiți blogul pentru a găsi o vedere!
Poate ați auzit că hackerii câștigă mulți bani, dar v-ați întrebat vreodată cum câștigă acești bani? sa discutam.
Recent, Apple a lansat macOS Catalina 10.15.4 o actualizare suplimentară pentru a remedia problemele, dar se pare că actualizarea provoacă mai multe probleme care duc la blocarea mașinilor Mac. Citiți acest articol pentru a afla mai multe