Di vê postê de, em ê li depoyek hunerî ya rpm bi karanîna skrîptek hêsan a inotify + createrepo binêrin. Artifact bi riya webdav bi karanîna apache httpd têne barkirin. Çima apache httpd dê li dawiya postê were nivîsandin.
Ji ber vê yekê, çareserî divê ji bo organîzekirina tenê hilanîna RPM hewcedariyên jêrîn bicîh bîne:
Belaş
Hebûna pakêtê di depoyê de çend saniye piştî barkirina li depoya hunerî.
Pulp Ji min re wekî çareseriyek zêde-endezyarkirî xuya dike.
Artifacts in SonaType Nexus di blobê de têne hilanîn. Di bûyera qutbûna elektrîkê ya ji nişka ve, heke piştgiriyek we tune be hûn ê nikaribin blobê sererast bikin. Ev xeletiya me hebû: ERROR [ForkJoinPool.commonPool-worker-2] *SYSTEM [com.orientechnologies.orient.core.storage](http://com.orientechnologies.orient.core.storage/).fs.OFileClassic - $ANSI{green {db=security}} Error during data read for file 'privilege_5.pcl' 1-th attempt [java.io](http://java.io/).IOException: Bad address. Blob qet nehate vegerandin.
Ji hêla xwerû ve inotify-createrepo pelrêçek çavdêrî dike /var/www/repos/rpm-repo/.
Hûn dikarin vê pelrêça pelê biguherînin /etc/inotify-createrepo.conf.
Bikar bînin
Dema ku pelek li pelrêçek zêde bike /var/www/repos/rpm-repo/ inotifywait dê pelek çêbike /tmp/need_create. Fonksîyona run_createrepo di kelekek bêdawî de dimeşe û pelê dişopîne /tmp/need_create. Ger pel heye, wê hingê bimeşîne createrepo --update.
Ji bo ku ji çareseriyek heyî peydabûnek bilind çêbike, ez difikirim ku hûn dikarin 2 pêşkêşkeran bikar bînin, Keepalived ji bo HA û Lsyncd ji bo hevdengkirina hunerî. Lsyncd - Daemonek ku guhartinên di pelrêça herêmî de dişopîne, wan berhev dike, û piştî demek diyarkirî, rsync dest bi senkronîzekirina wan dike. Agahdarî û mîhengan di postê de têne diyar kirin "Hevdemkirina bilez a mîlyar pelan".
webdav
Gelek awayên barkirina pelan hene: SSH, NFS, WebDav. WebDav vebijarkek nûjen û hêsan xuya dike.
Ji bo WebDav, em ê Apache httpd bikar bînin. Çima Apache httpd di 2020 de û ne nginx?
Ez dixwazim ji bo avakirina Nginx + modulan amûrên otomatîk bikar bînim (mînak, Webdav).
Ez difikirim ku hûn ê mîhengên mayî yên Apache httpd bixwe bikin.
Nginx li ber Apache httpd
Berevajî Apache, Nginx modelek pêvajoyek daxwaznameya-bingeha bûyerê bikar tîne, ku tê vê wateyê ku tenê pêvajoyek serverek HTTP ji bo her hejmarek xerîdar hewce ye. Hûn dikarin nginx bikar bînin û barkirina serverê kêm bikin.
nginx-front.conf config. Ez difikirim ku hûn ê veavakirina nginx ya mayî bi xwe bikin.