Mu positi iyi tiwona zosungirako za rpm pogwiritsa ntchito script yosavuta ndi inotify + createrepo. Kuyika zinthu zakale kumachitika kudzera pa webdav pogwiritsa ntchito apache httpd. Chifukwa chiyani apache httpd idzalembedwa kumapeto kwa positi.
Chifukwa chake, yankho liyenera kukwaniritsa zofunika izi pokonzekera kusungirako kwa RPM kokha:
-
Kwaulere
-
Kupezeka kwa phukusili m'malo osungiramo masekondi angapo mutatsitsa kumalo osungirako zinthu zakale.
-
Zosavuta kukhazikitsa ndi kukonza
-
Kutha kupanga kupezeka kwakukulu
Kulekeranji
SonaType Nexus kapenaPulp : -
yosungirako mkati
SonaType Nexus kapenaPulp mitundu yambiri ya zinthu zakale imatsogolera ku mfundo yakutiSonaType Nexus kapenaPulp kukhala mfundo imodzi yolephera. -
Kupezeka kwakukulu mu
SonaType Nexus amalipidwa. -
Pulp Zikuwoneka kwa ine ngati yankho lovuta kwambiri. -
Artifacts mu
SonaType Nexus amasungidwa mu blob. Ngati magetsi azima mwadzidzidzi, simudzatha kubwezeretsa blob ngati mulibe zosunga zobwezeretsera. Tinali ndi vuto ili: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 sinabwezeretsedwe.
Nambala yachinsinsi
β Source code ilipo
Script yayikulu ikuwoneka motere:
#!/bin/bash
source /etc/inotify-createrepo.conf
LOGFILE=/var/log/inotify-createrepo.log
function monitoring() {
inotifywait -e close_write,delete -msrq --exclude ".repodata|.olddata|repodata" "${REPO}" | while read events
do
echo $events >> $LOGFILE
touch /tmp/need_create
done
}
function run_createrepo() {
while true; do
if [ -f /tmp/need_create ];
then
rm -f /tmp/need_create
echo "start createrepo $(date --rfc-3339=seconds)"
/usr/bin/createrepo --update "${REPO}"
echo "finish createrepo $(date --rfc-3339=seconds)"
fi
sleep 1
done
}
echo "Start filesystem monitoring: Directory is $REPO, monitor logfile is $LOGFILE"
monitoring >> $LOGFILE &
run_createrepo >> $LOGFILE &
kolowera
Inotify-createrepo imangogwira ntchito pa CentOS 7 kapena kupitilira apo. Sindinathe kuyipangitsa kuti igwire ntchito pa CentOS 6.
yum -y install yum-plugin-copr
yum copr enable antonpatsev/inotify-createrepo
yum -y install inotify-createrepo
systemctl start inotify-createrepo
Kusintha
Mwachikhazikitso, inotify-createrepo imayang'anira chikwatu /var/www/repos/rpm-repo/
.
Mutha kusintha chikwatu ichi mufayilo /etc/inotify-createrepo.conf.
Gwiritsani ntchito
Powonjezera fayilo iliyonse ku chikwatu /var/www/repos/rpm-repo/
inotifywait ipanga fayilo /tmp/need_create
. Ntchito ya run_createrepo imayenda mozungulira mosalekeza ndikuyang'anira fayilo /tmp/need_create
. Ngati fayilo ilipo, imayenda createrepo --update
.
Cholowa chidzawonekera mufayilo:
/var/www/repos/rpm-repo/ CREATE nginx-1.16.1-1.el7.ngx.x86_64.rpm
start createrepo 2020-03-02 09:46:21+03:00
Spawning worker 0 with 1 pkgs
Spawning worker 1 with 0 pkgs
Spawning worker 2 with 0 pkgs
Spawning worker 3 with 0 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
finish createrepo 2020-03-02 09:46:22+03:00
Kutha kupanga kupezeka kwakukulu
Kuti mupeze kupezeka kwakukulu kuchokera ku yankho lomwe lilipo, ndikuganiza kuti mutha kugwiritsa ntchito ma seva a 2, Keepalived kwa HA ndi Lsyncd pakugwirizanitsa zinthu zakale.
WebDav
Mutha kukweza mafayilo m'njira zingapo: SSH, NFS, WebDav. WebDav ikuwoneka ngati njira yamakono komanso yosavuta.
Kwa WebDav tidzagwiritsa ntchito Apache httpd. Chifukwa chiyani Apache httpd mu 2020 osati nginx?
Ndikufuna kugwiritsa ntchito zida zodzipangira zokha pomanga ma module a Nginx + (mwachitsanzo, Webdav).
Pali pulojekiti yomanga ma module a Nginx + -
Ndinapanga pempho la Kokani
Konzani webdav.conf
DavLockDB /var/www/html/DavLock
<VirtualHost localhost:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog /var/log/httpd/error.log
CustomLog /var/log/httpd/access.log combined
Alias /rpm /var/www/repos/rpm-repo
<Directory /var/www/repos/rpm-repo>
DAV On
Options Indexes FollowSymlinks SymLinksifOwnerMatch IncludesNOEXEC
IndexOptions NameWidth=* DescriptionWidth=*
AllowOverride none
Require all granted
</Directory>
</VirtualHost>
Ndikuganiza kuti mutha kupanga zina zonse za Apache httpd nokha.
Nginx pamaso pa Apache httpd
Mosiyana ndi Apache, Nginx imagwiritsa ntchito njira yopangira zopempha zomwe zimachitika, zomwe zimafuna njira imodzi yokha ya seva ya HTTP kwa makasitomala angapo. Mutha kugwiritsa ntchito nginx ndikuchepetsa katundu pa seva.
Konzani nginx-front.conf. Ndikuganiza kuti mutha kupanga zina zonse za nginx nokha.
upstream nginx_front {
server localhost:80;
}
server {
listen 443 ssl;
server_name Π²Π°Ρ-Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ
-Ρ
ΠΎΡΡ;
access_log /var/log/nginx/nginx-front-access.log main;
error_log /var/log/nginx/nginx-front.conf-error.log warn;
location / {
proxy_pass http://nginx_front;
}
}
Kutsitsa mafayilo kudzera pa WebDav
Kutsegula rpm ndikosavuta.
curl -T ./nginx-1.16.1-1.el7.ngx.x86_64.rpm https://Π²Π°Ρ-Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΉ-Ρ
ΠΎΡΡ/rpm/
Source: www.habr.com