ืืื ืืขื ืคึผืึธืกืื, ืืืจ ืืืขืื ืงืืงื ืืื ืึท ืจืคึผื ืึทืจืืึทืคืึทืงื ืจืืคึผืึทืืึทืืึธืจื ืืื ืึท ืคึผืฉืื ืื ืึธืืืคื + ืงืจืขืขืจืขืคึผืึธ ืฉืจืืคื. ืึทืจืืึทืคืึทืงืฅ ืืขื ืขื ืืคึผืืึธืึทืืขื ืืืจื ืืืขืืืึทืื ื ืืฆื ืึทืคึผืึทืืฉื ืืืืคึผื. ืคืืจืืืืก Apache httpd ืืืขื ืืืื ืืขืฉืจืืื ืืื ืื ืกืืฃ ืคืื ืืขื ืคึผืึธืกืื.
ืึทืืื, ืื ืืืืืื ื ืืืื ืืจืขืคื ืื ืคืืืืขื ืืข ืจืขืงืืืืจืขืืขื ืฅ ืคึฟืึทืจ ืึธืจืืึทื ืืืืื ื ืืืืื ืจืคึผื ืกืืึธืจืืืืฉ:
-
ืคืจืื
-
ืึทืืืืืืึทืืืืืื ืคืื ืืขื ืคึผืขืงื ืืื ืื ืจืืคึผืึทืืึทืืึธืจื ืขืืืขืืข ืกืขืงืื ืืขืก ื ืึธื ืืคึผืืึธืึทืืื ื ืฆื ืื ืึทืจืืึทืคืึทืงื ืจืืคึผืึทืืึทืืึธืจื.
-
ืืจืื ื ืฆื ืื ืกืืึทืืืจื ืืื ืืืึทื ืขื
-
ืคืืืืงืืื ืฆื ืืึทืื ืืืื ืึทืืืืืืึทืืืืึทืื
ืคืืจืืืืก ื ืืฉื
SonaType ื ืขืงืกืืก ืึธืืขืจืคึผืึทืคึผ : -
ืกืืึธืจืืืืฉ ืืื
SonaType ื ืขืงืกืืก ืึธืืขืจืคึผืึทืคึผ ืคืืืข ืืืืคึผืก ืคืื ืึทืจืืึทืคืึทืงืฅ ืคืืจื ืฆื ืืขื ืคืึทืงื ืึทืSonaType ื ืขืงืกืืก ืึธืืขืจืคึผืึทืคึผ ืืืขืจื ืึท ืืืื ืคืื ื ืคืื ืืืจืืคืึทื. -
ืืืื ืึทืืืืืืึทืืืืึทืื ืืื
SonaType ื ืขืงืกืืก ืืื ืืึทืฆืึธืื. -
ืคึผืึทืคึผ ืืืื ื ืืื ืึทื ืืืืขืจ-ืขื ืืืฉืึทื ืืจื ืืืืืื ื ืฆื ืืืจ. -
ืึทืจืืึทืคืึทืงืฅ ืืื
SonaType ื ืขืงืกืืก ืกืืึธืจื ืืื ืืืึธื. ืืื ืื ืืขืฉืขืขื ืืฉ ืคืื ืึท ืคึผืืืฆืขืืืืง ืืึทืื ืึทืืืืืืฉ, ืืืจ ืืืขื ื ืืฉื ืงืขื ืขื ืฆื ืืืงืขืจื ืื ืืืึธื ืืืื ืืืจ ืืึธื ื ืื ืืึธืื ืึท ืืึทืงืึทืคึผ. ืืืจ ืืึธืื ืืขื ืืขืืช: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
. ืืืึธื ืืื ืงืืื ืืึธื ืจืืงืึทืืืขืจื.
ืืงืืจ ืงืึธื
โ ืืขืจ ืืงืืจ ืงืึธื ืืื ืืืื
ืืขืจ ืืืืคึผื ืฉืจืืคื ืงืืงื ืืื ืืึธืก:
#!/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 &
ืื ืกืืึทืืืจืื ื
inotify-createrepo ืึทืจืืขื ืืืืื ืืืืฃ CentOS 7 ืึธืืขืจ ืืขืืขืจ. ืงืขื ื ืืฉื ืืึทืงืืืขื ืขืก ืฆื ืึทืจืืขืื ืืืืฃ CentOS 6.
yum -y install yum-plugin-copr
yum copr enable antonpatsev/inotify-createrepo
yum -y install inotify-createrepo
systemctl start inotify-createrepo
ืงืึธื ืคืืืืจืึทืืืึธื
ืืืจื ืคืขืืืงืืึทื, inotify-createrepo ืืึธื ืืืึธืจืก ืึท ืืืขืืืืืึทืืขืจ /var/www/repos/rpm-repo/
.
ืืืจ ืงืขื ืขื ืืืืฉื ืืขื ืืืขืืืืืึทืืขืจ ืืื ืืขืจ ืืขืงืข /etc/inotify-createrepo.conf.
ื ืืฆื
ืืืขื ืึทืืื ื ืงืืื ืืขืงืข ืฆื ืึท ืืืขืืืืืึทืืขืจ /var/www/repos/rpm-repo/
inotifywait ืืืขื ืฉืึทืคึฟื ืึท ืืขืงืข /tmp/need_create
. ืื run_createrepo ืคึฟืื ืงืฆืืข ืืืืคื ืืื ืึท ืื ืคืึทื ืึทื ืฉืืืืฃ ืืื ืืึธื ืืืึธืจืก ืื ืืขืงืข /tmp/need_create
. ืืืื ืืขืจ ืืขืงืข ืืืืืกืฅ, ืืืืคื createrepo --update
.
ืึท ืคึผืึธืืืฆืืข ืืืขื ืืขืจืฉืืึทื ืขื ืืื ืืขืจ ืืขืงืข:
/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
ืคืืืืงืืื ืฆื ืืึทืื ืืืื ืึทืืืืืืึทืืืืึทืื
ืฆื ืืึทืื ืืืื ืึทืืืืืืึทืืืืึทืื ืคืื ืึท ืืืืืกืืื ื ืืืืืื ื, ืืื ืืจืึทืืื ืืืจ ืงืขื ืขื ื ืืฆื 2 ืกืขืจืืืขืจืก, Keepalved ืคึฟืึทืจ HA ืืื Lsyncd ืคึฟืึทืจ ืึทืจืืึทืคืึทืงื ืกืื ืืงืจืึทื ืึทืืืืฉืึทื.
ืืืขืืืึทืื
ืขืก ืืขื ืขื ืขืืืขืืข ืืืขืื ืฆื ืฆืืคึฟืขืืืงืขืจ ืืขืงืขืก: SSH, NFS, WebDav. WebDav ืกืืื ืฆื ืืืื ืึท ืืึธืืขืจื ืืื ืคึผืฉืื ืึธืคึผืฆืืข.
ืคึฟืึทืจ ืืืขืืืึทืื, ืืืจ ืืืขืื ื ืืฆื Apache httpd. ืคืืจืืืืก Apache httpd ืืื 2020 ืืื ื ืื nginx?
ืืื ืืืึธืื ืืื ืฆื ื ืืฆื ืึธืืึทืืืืืื ืืืฉืืจืื ืคึฟืึทืจ ืื ืื Nginx + ืืึทืืืฉืืื (ืืืฉื, ืืืขืืืึทืื).
ืขืก ืืื ืึท ืคึผืจืืืขืงื ืคึฟืึทืจ ืื ืื Nginx + ืืึทืืืฉืืื -
ืืื ืืื ืืขืืืื ื ืืงืฉื
config 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>
ืืื ืืจืึทืืื ืืืจ ืืืขื ืืึธื ืื ืจืขืฉื ืคืื ืื Apache httpd ืงืึทื ืคืืืืขืจืืืฉืึทื ืืื.
Nginx ืืื ืคืจืึธื ื ืคืื ืึทืคึผืึทืืฉื ืืืืคึผื
ื ืื ืขื ืืขื Apache, Nginx ื ืืฆื ืึทื ืืขืฉืขืขื ืืฉ-ืืืืืจื ืืขืื ืคึผืจืึทืกืขืกืื ื ืืึธืืขื, ืืืึธืก ืืืื ืึทื ืืืืื ืืืื ืืืืคึผ ืกืขืจืืืขืจ ืคึผืจืึธืฆืขืก ืืื ืคืืจืืื ืื ืคึฟืึทืจ ืงืืื ื ืืืขืจ ืคืื ืงืืืืึทื ืฅ. ืืืจ ืงืขื ืขื ื ืืฆื nginx ืืื ืจืขืืืฆืืจื ืกืขืจืืืขืจ ืืึทืกืข.
nginx-front.conf config. ืืื ืืจืึทืืื ืืืจ ืืืขื ืืึธื ืื ืจืขืฉื ืคืื ืื nginx ืงืึทื ืคืืืืขืจืืืฉืึทื ืืื.
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;
}
}
ืืึทืื ืืึธืืืื ื ืืขืงืขืก ืืืจื WebDav
ืืึทืื ืืึธืืืื ื ืจืคึผื ืืื ืืืืขืจ ืืจืื ื.
curl -T ./nginx-1.16.1-1.el7.ngx.x86_64.rpm https://ะฒะฐั-ะฒะธัััะฐะปัะฝัะน-ั
ะพัั/rpm/
ืืงืืจ: www.habr.com