Inotify, webdav เดŽเดจเตเดจเดฟเดต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เดฒเดณเดฟเดคเดฎเดพเดฏ rpm เดถเต‡เด–เดฐเด‚

เดˆ เดชเต‹เดธเตเดฑเตเดฑเดฟเตฝ, เดžเด™เตเด™เตพ เด’เดฐเต เดฒเดณเดฟเดคเดฎเดพเดฏ inotify + createrepo เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด’เดฐเต rpm เด†เตผเดŸเตเดŸเดฟเดซเดพเด•เตเดฑเตเดฑเต เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟ เดจเต‹เด•เตเด•เตเด‚. เด…เดชเตเดชเดพเดšเตเดšเต† httpd เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต webdav เดตเดดเดฟ เดชเตเดฐเดพเดตเดธเตเดคเตเด•เตเด•เตพ เด…เดชเตโ€Œเดฒเต‹เดกเต เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เดŽเดจเตเดคเตเด•เตŠเดฃเตเดŸเต เด…เดชเตเดชเดพเดšเตเดšเต† httpd เดŽเดจเตเดจเต เดชเต‹เดธเตเดฑเตเดฑเดฟเดจเตเดฑเต† เด…เดตเดธเดพเดจเด‚ เดŽเดดเตเดคเตเด‚.

เด…เดคเดฟเดจเดพเตฝ, RPM เดธเด‚เดญเดฐเดฃเด‚ เดฎเดพเดคเตเดฐเด‚ เดธเด‚เด˜เดŸเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดชเดฐเดฟเดนเดพเดฐเด‚ เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เด†เดตเดถเตเดฏเด•เดคเด•เตพ เดชเดพเดฒเดฟเด•เตเด•เดฃเด‚:

  • เดธเต— เดœเดจเตเดฏเด‚

  • เด†เตผเดŸเตเดŸเดฟเดซเดพเด•เตโ€Œเดฑเตเดฑเต เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟเดฏเดฟเดฒเต‡เด•เตเด•เต เด…เดชเตโ€Œเดฒเต‹เดกเต เดšเต†เดฏเตโ€Œเดคเดคเดฟเดจเต เดถเต‡เดทเด‚ เด•เตเดฑเดšเตเดšเต เดธเต†เด•เตเด•เดจเตเดฑเตเด•เตพเด•เตเด•เตเดณเตเดณเดฟเตฝ เดธเด‚เดญเดฐเดฃเดฟเดฏเดฟเตฝ เดชเดพเด•เตเด•เต‡เดœเดฟเดจเตเดฑเต† เดฒเดญเตเดฏเดค.

  • เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเดพเดจเตเด‚ เดชเดฐเดฟเดชเดพเดฒเดฟเด•เตเด•เดพเดจเตเด‚ เดŽเดณเตเดชเตเดชเดฎเดพเดฃเต

  • เด‰เดฏเตผเดจเตเดจ เดฒเดญเตเดฏเดค เด‰เดฃเตเดŸเดพเด•เตเด•เดพเดจเตเดณเตเดณ เด•เดดเดฟเดตเต

    เดŽเดจเตเดคเตเด•เต†เดพเดฃเตเดŸเต เดธเต‹เดฃเดŸเตˆเดชเตเดชเต เดจเต†เด•เตเดธเดธเต เด…เดฅเดตเดพ เดชเตพเดชเตเดชเต:

  • เดธเด‚เดญเดฐเดฃเด‚ เดธเต‹เดฃเดŸเตˆเดชเตเดชเต เดจเต†เด•เตเดธเดธเต เด…เดฅเดตเดพ เดชเตพเดชเตเดชเต เดชเดฒ เดคเดฐเดคเตเดคเดฟเดฒเตเดณเตเดณ เดชเตเดฐเดพเดตเดธเตเดคเตเด•เตเด•เตพ เดตเดธเตเดคเตเดคเดฏเดฟเดฒเต‡เด•เตเด•เต เดจเดฏเดฟเด•เตเด•เตเดจเตเดจเต เดธเต‹เดฃเดŸเตˆเดชเตเดชเต เดจเต†เด•เตเดธเดธเต เด…เดฅเดตเดพ เดชเตพเดชเตเดชเต เดชเดฐเดพเดœเดฏเดคเตเดคเดฟเดจเตเดฑเต† เด’เดฐเตŠเดฑเตเดฑ เดชเต‹เดฏเดฟเดจเตเดฑเดพเดฏเดฟ เดฎเดพเดฑเตเด•.

  • เด‰เดฏเตผเดจเตเดจ เดฒเดญเตเดฏเดค เดธเต‹เดฃเดŸเตˆเดชเตเดชเต เดจเต†เด•เตเดธเดธเต เดจเตฝเด•เดชเตเดชเต†เดŸเตเดจเตเดจเต.

  • เดชเตพเดชเตเดชเต เด’เดฐเต เด“เดตเตผ-เดŽเตปเดœเดฟเดจเต€เดฏเตผเดกเต เดธเตŠเดฒเตเดฏเต‚เดทเตป เด†เดฏเดฟ เดŽเดจเดฟเด•เตเด•เต เดคเต‹เดจเตเดจเตเดจเตเดจเต.

  • เดชเตเดฐเดพเดตเดธเตเดคเตเด•เตเด•เตพ เดธเต‹เดฃเดŸเตˆเดชเตเดชเต เดจเต†เด•เตเดธเดธเต เดฌเตเดฒเต‹เดฌเดฟเตฝ เดธเต‚เด•เตเดทเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เดชเต†เดŸเตเดŸเต†เดจเตเดจเต เดตเตˆเดฆเตเดฏเตเดคเดฟ เดฎเตเดŸเด•เตเด•เด‚ เดธเด‚เดญเดตเดฟเดšเตเดšเดพเตฝ, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดฌเดพเด•เตเด•เดชเตเดชเต เด‡เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดฌเตเดฒเดฌเต เดชเตเดจเดƒเดธเตเดฅเดพเดชเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ. เดžเด™เตเด™เตพเด•เตเด•เต เดˆ เดชเดฟเดถเด•เต เด‰เดฃเตเดŸเดพเดฏเดฟเดฐเตเดจเตเดจเต: 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 เดธเต†เตผเดตเดฑเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเดจเดพเด•เตเดฎเต†เดจเตเดจเต เดžเดพเตป เด•เดฐเตเดคเตเดจเตเดจเต, HA-เดฏเตโ€Œเด•เตเด•เต Keepalived, เด†เตผเดŸเตเดŸเดฟเดซเดพเด•เตโ€Œเดฑเตเดฑเต เดธเดฎเดจเตเดตเดฏเดคเตเดคเดฟเดจเดพเดฏเดฟ Lsyncd. Lsyncd - เดฒเต‹เด•เตเด•เตฝ เดกเดฏเดฑเด•เตโ€ŒเดŸเดฑเดฟเดฏเดฟเดฒเต† เดฎเดพเดฑเตเดฑเด™เตเด™เตพ เดจเดฟเดฐเต€เด•เตเดทเดฟเด•เตเด•เตเด•เดฏเตเด‚ เด…เดตเดฏเต† เดธเดฎเดพเดนเดฐเดฟเด•เตเด•เตเด•เดฏเตเด‚ เด’เดฐเต เดจเดฟเดถเตเดšเดฟเดค เดธเดฎเดฏเดคเตเดคเดฟเดจเต เดถเต‡เดทเด‚, rsync เด…เดตเดฏเต† เดธเดฎเดจเตเดตเดฏเดฟเดชเตเดชเดฟเด•เตเด•เดพเตป เดคเตเดŸเด™เตเด™เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจ เด’เดฐเต เดกเต†เดฎเตบ. เดตเดฟเดถเดฆเดพเด‚เดถเด™เตเด™เดณเตเด‚ เด•เตเดฐเดฎเต€เด•เดฐเดฃเด™เตเด™เดณเตเด‚ เดชเต‹เดธเตเดฑเตเดฑเดฟเตฝ เดตเดฟเดตเดฐเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต "เด’เดฐเต เดฌเดฟเดฒเตเดฏเตบ เดซเดฏเดฒเตเด•เดณเตเดŸเต† เดตเต‡เด—เดคเตเดคเดฟเดฒเตเดณเตเดณ เดธเดฎเดจเตเดตเดฏเด‚".

เดตเต†เดฌเตโ€Œเดกเดพเดตเต

เดซเดฏเดฒเตเด•เตพ เด…เดชเตโ€Œเดฒเต‹เดกเต เดšเต†เดฏเตเดฏเดพเตป เดจเดฟเดฐเดตเดงเดฟ เดฎเดพเตผเด—เด™เตเด™เดณเตเดฃเตเดŸเต: SSH, NFS, WebDav. WebDav เด’เดฐเต เด†เดงเตเดจเดฟเด•เดตเตเด‚ เดฒเดณเดฟเดคเดตเตเดฎเดพเดฏ เด“เดชเตเดทเดจเดพเดฃเต†เดจเตเดจเต เดคเต‹เดจเตเดจเตเดจเตเดจเต.

WebDav-เดจเต, เดžเด™เตเด™เตพ Apache httpd เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด‚. เดŽเดจเตเดคเตเด•เตŠเดฃเตเดŸเต 2020-เตฝ เด…เดชเตเดชเดพเดšเตเดšเต† httpd, nginx เด…เดฒเตเดฒ?

Nginx + เดฎเตŠเดกเตเดฏเต‚เดณเตเด•เตพ เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เด“เดŸเตเดŸเต‹เดฎเต‡เดฑเตเดฑเดกเต เดŸเต‚เดณเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเตป เดžเดพเตป เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเต (เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, Webdav).

Nginx + เดฎเตŠเดกเตเดฏเต‚เดณเตเด•เตพ เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เด’เดฐเต เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต เด‰เดฃเตเดŸเต - nginx-builder. เดซเดฏเดฒเตเด•เตพ เด…เดชเตโ€Œเดฒเต‹เดกเต เดšเต†เดฏเตเดฏเดพเตป เดจเดฟเด™เตเด™เตพ nginx + wevdav เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เดฎเตŠเดกเตเดฏเต‚เตพ เด†เดตเดถเตเดฏเดฎเดพเดฃเต nginx-dav-ext-module. เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต Nginx เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เดพเดจเตเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเดจเตเด‚ เดถเตเดฐเดฎเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ nginx-dav-ext-module เดธเดนเดพเดฏเดคเตเดคเต‹เดŸเต† nginx-builder เดžเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เดชเดฟเดถเด•เต เดฒเดญเดฟเด•เตเด•เตเด‚ nginx-dav-ext-module-เดจเต เดชเด•เดฐเด‚ http_dav_module เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต. เด…เดคเต‡ เดฌเด—เต เดตเต‡เดจเตฝเด•เตเด•เดพเดฒเดคเตเดคเต เด…เดŸเดšเตเดšเต nginx: [emerg] เด…เดœเตเดžเดพเดค เดจเดฟเตผเดฆเตเดฆเต‡เดถเด‚ dav_methods.

เดžเดพเตป เด’เดฐเต เดชเตเตพ เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดจเดŸเดคเตเดคเดฟ เดŽเด‚เดฌเดกเดกเต, เดฑเต€เดซเดพเด•เตเดฑเตเดฑเตผ เดšเต†เดฏเตเดค --with-{}_module-เดจเดพเดฏเดฟ git_url เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเด• ะธ เดŽเด™เตเด•เดฟเตฝ เดฎเตŠเดกเตเดฏเต‚เตพ == "http_dav_module" เด…เดจเตเดฌเดจเตเดงเด‚ --with. เดŽเดจเตเดจเดพเตฝ เด…เดต เดธเตเดตเต€เด•เดฐเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดŸเดฟเดฒเตเดฒ.

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>

เดฌเดพเด•เตเด•เดฟเดฏเตเดณเตเดณ เด…เดชเตเดชเดพเดšเตเดšเต† httpd เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดจเดฟเด™เตเด™เตพ เดคเดจเตเดจเต† เดšเต†เดฏเตเดฏเตเดฎเต†เดจเตเดจเต เดžเดพเตป เด•เดฐเตเดคเตเดจเตเดจเต.

เด…เดชเตเดชเดพเดšเตเดšเต†เดฏเตเดŸเต† เดฎเตเดจเตเดจเดฟเตฝ Nginx httpd

เด…เดชเตเดชเดพเดšเตเดšเต†เดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฏเดฟ, Nginx เด’เดฐเต เด‡เดตเดจเตเดฑเต เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟเดฏเตเดณเตเดณ เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดชเตเดฐเต‹เดธเดธเตเดธเดฟเด‚เด—เต เดฎเต‹เดกเตฝ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต, เด…เดคเดพเดฏเดคเต เดŽเดคเตเดฐ เด•เตเดฒเดฏเดจเตเดฑเตเด•เตพเด•เตเด•เตเด‚ เด’เดฐเต HTTP เดธเต†เตผเดตเตผ เดชเตเดฐเต‹เดธเดธเตเดธเต เดฎเดพเดคเตเดฐเดฎเต‡ เด†เดตเดถเตเดฏเดฎเตเดณเตเดณเต‚ เดŽเดจเตเดจเดพเดฃเต. เดจเดฟเด™เตเด™เตพเด•เตเด•เต nginx เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเดจเตเด‚ เดธเต†เตผเดตเตผ เดฒเต‹เดกเต เด•เตเดฑเดฏเตเด•เตเด•เดพเดจเตเด‚ เด•เดดเดฟเดฏเตเด‚.

nginx-front.conf เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป. เดฌเดพเด•เตเด•เดฟเดฏเตเดณเตเดณ 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 เดตเดดเดฟ เดซเดฏเดฒเตเด•เตพ เดกเต—เตบเดฒเต‹เดกเต เดšเต†เดฏเตเดฏเตเดจเตเดจเต

rpm เดกเต—เตบเดฒเต‹เดกเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต เดตเดณเดฐเต† เดŽเดณเตเดชเตเดชเดฎเดพเดฃเต.

curl -T ./nginx-1.16.1-1.el7.ngx.x86_64.rpm https://ะฒะฐัˆ-ะฒะธั€ั‚ัƒะฐะปัŒะฝั‹ะน-ั…ะพัั‚/rpm/

เด…เดตเดฒเด‚เดฌเด‚: www.habr.com

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•