Nan pòs sa a, nou pral gade yon depo zam rpm lè l sèvi avèk yon senp script inotify + createrepo. Afèk yo telechaje atravè webdav lè l sèvi avèk apache httpd. Poukisa apache httpd ap ekri nan fen pòs la.
Se konsa, solisyon an dwe satisfè kondisyon sa yo pou òganize sèlman depo RPM:
Gratis
Disponibilite pakè a nan repozitwa a kèk segonn apre w fin telechaje nan repozitwa artifact la.
Kaka Sanble tankou yon solisyon sou-enjenieri pou mwen.
Afèk nan SonaType Nexus ki estoke nan blob. Nan ka yon pann kouran toudenkou, ou p ap kapab retabli blob la si ou pa gen yon backup. Nou te gen erè sa a: 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 pa t janm refè.
Pa default inotify-createrepo kontwole yon anyè /var/www/repos/rpm-repo/.
Ou ka chanje anyè sa a nan dosye a /etc/inotify-createrepo.conf.
Sèvi ak
Lè w ajoute nenpòt fichye nan yon anyè /var/www/repos/rpm-repo/ inotifywait pral kreye yon dosye /tmp/need_create. Fonksyon run_createrepo kouri nan yon bouk enfini epi kontwole dosye a /tmp/need_create. Si fichye a egziste, Lè sa a, kouri createrepo --update.
Pou fè gwo disponiblite soti nan yon solisyon ki egziste deja, mwen panse ke ou ka itilize 2 serveurs, Keepalived pou HA ak Lsyncd pou senkronizasyon asosye. Lsyncd - yon demon ki kontwole chanjman ki fèt nan anyè lokal la, ki rasanble yo, epi apre yon sèten tan, rsync kòmanse senkronize yo. Detay ak anviwònman yo dekri nan pòs la "Vit senkronizasyon nan yon milya fichye".
webdav
Gen plizyè fason pou telechaje fichye yo: SSH, NFS, WebDav. WebDav sanble se yon opsyon modèn ak senp.
Pou WebDav, nou pral sèvi ak Apache httpd. Poukisa Apache httpd nan 2020 epi yo pa nginx?
Mwen ta renmen sèvi ak zouti otomatik pou konstwi modil Nginx + (pa egzanp, Webdav).
Mwen panse ke ou pral fè rès la nan Apache httpd konfigirasyon an tèt ou.
Nginx devan Apache httpd
Kontrèman ak Apache, Nginx sèvi ak yon modèl pwosesis demann ki baze sou evènman, ki vle di ke se sèlman yon sèl pwosesis sèvè HTTP obligatwa pou nenpòt kantite kliyan. Ou ka itilize nginx epi redwi chaj sèvè.
nginx-front.conf konfigirasyon. Mwen panse ke ou pral fè rès la nan konfigirasyon nginx la tèt ou.