A Cacti beállítása a Debian Jessie-n
Bevezetés A Cacti egy nyílt forráskódú megfigyelő és grafikus eszköz, amely teljes mértékben az RRD adatokon alapul. A Cactuson keresztül szinte bármilyen típusú eszközt felügyelhet
Bevezetés
Az Nginx egy nyílt forráskódú webszerver-szoftver, amelyet nagy párhuzamosságra terveztek, és használható HTTP/HTTPS szerverként, fordított proxyszerverként, levelezőproxyszerverként, szoftveres terheléselosztóként, TLS terminátorként, gyorsítótárazó szerverként és még sok másként!
Ez egy erősen moduláris szoftver. Még a szoftver egyes látszólag "beépített" részei is, mint például a GZIP vagy az SSL, valójában modulokként jönnek létre, amelyeket a felépítés során engedélyezni és letiltani lehet.
A közösség által létrehozott alapvető (natív) modulokkal és harmadik féltől származó (külső) modulokkal rendelkezik . Jelenleg több mint száz külső féltől származó modult használhatunk.
C nyelven írva ez egy gyors és könnyű szoftver.
Az Nginx forráskódból történő telepítése viszonylag egyszerű – töltse le az Nginx forráskód legújabb verzióját, konfigurálja, készítse el és telepítse.
Ki kell választania, hogy a fővonalat vagy a stabil verziót szeretné letölteni, de ezek elkészítése ugyanaz.
Ebben az útmutatóban az Nginx fő verzióját fogjuk összeállítani Debian 10-en (buster). Az összes elérhető modult az Nginx nyílt forráskódú verziójában fogjuk használni.
Miért fordítsa le és telepítse az Nginxet forrásból?
Valószínűleg azt kérdezed, hogy miért fordítanád le az Nginxet egy forrásból, ha használhatod az előkészített csomagokat. Íme néhány ok, amiért érdemes saját maga összeállítania egy adott szoftvert:
Stabil vs. mainline verzió
Az Nginx nyílt forráskódú két verzióban érhető el:
Alapvető modulok kontra harmadik féltől származó modulok
Az Nginx kétféle modullal rendelkezik, amelyeket használhat: alapvető modulokat és harmadik féltől származó modulokat.
Az alapvető Nginx fejlesztők alapmodulokat készítenek, és ezek magának a szoftvernek a részét képezik.
A közösség harmadik féltől származó modulokat épít, és ezek segítségével bővítheti a funkcionalitást. Számos hasznos, harmadik féltől származó modul létezik.
Statikus modulok kontra dinamikus modulok
Statikus modulok léteznek az Nginxben az első verziótól kezdve. A dinamikus modulokat 2016 februárjában vezették be az Nginx 1.9.11+ verziójával.
Statikus modulok esetén a ./configure
szkript fordításkor rögzíti az Nginx binárist alkotó modulok készletét . A statikus modulok használata --with-foo_bar_module
vagy --add-module=PATH
szintaxisa.
Egy alap (standard) modul dinamikusként történő fordításához hozzáadjuk =dynamic
például a --with-http_image_filter_module=dynamic
.
Harmadik féltől származó modulok dinamikus fordításához --add-dynamic-module=/path/to/module
szintaxist használunk , majd load_module
a nginx.conf
fájl globális kontextusában lévő direktíva használatával betöltjük őket .
Az Nginx forrásból történő építésének követelményei
Más UNIX/Linux szoftverekkel összehasonlítva az Nginx meglehetősen könnyű, és nem rendelkezik sok könyvtárfüggőséggel. Az alapértelmezett build konfiguráció csak három telepítendő könyvtártól függ: OpenSSL/LibreSSL/BoringSSL, Zlib és PCRE.
MEGJEGYZÉS : Az Nginx az OpenSSL helyett a LibreSSL és BoringSSL kriptokönyvtárak ellen is lefordítható.
Mielőtt elkezded
Ellenőrizze a Debian verziót.
lsb_release -ds # Debian GNU/Linux 10 (buster)
Hozzon létre egy normál felhasználót sudo
hozzáféréssel.
adduser johndoe --gecos "John Doe" usermod -aG sudo johndoe
MEGJEGYZÉS : Cserélje johndoe
ki a felhasználónevével .
Váltás új felhasználóra.
su - johndoe
Állítsa be az időzónát.
sudo dpkg-reconfigure tzdata
Frissítse operációs rendszere szoftverét.
sudo apt update && sudo apt upgrade -y
Telepítse a szükséges csomagokat.
sudo apt install -y software-properties-common ufw
Nginx készítése forrásból
Az Nginx egy C nyelven írt program, ezért először telepítenie kell egy fordítóeszközt. Telepítse build-essential
, git
és tree
.
sudo apt install -y build-essential git tree
Töltse le az Nginx forráskód legújabb verzióját, és csomagolja ki a forráskód-archívumot. Az Nginx forráskódja tömörített archívumként kerül terjesztésre, mint a legtöbb Unix és Linux szoftver.
wget https://nginx.org/download/nginx-1.17.2.tar.gz && tar zxvf nginx-1.17.2.tar.gz
Töltse le a kötelező Nginx-függőségek forráskódját, és bontsa ki.
# PCRE version 8.43 wget https://ftp.pcre.org/pub/pcre/pcre-8.43.tar.gz && tar xzvf pcre-8.43.tar.gz # zlib version 1.2.11 wget https://www.zlib.net/zlib-1.2.11.tar.gz && tar xzvf zlib-1.2.11.tar.gz # OpenSSL version 1.1.1c wget https://www.openssl.org/source/openssl-1.1.1c.tar.gz && tar xzvf openssl-1.1.1c.tar.gz
Telepítse az opcionális Nginx-függőségeket.
sudo apt install -y perl libperl-dev libgd3 libgd-dev libgeoip1 libgeoip-dev geoip-bin libxml2 libxml2-dev libxslt1.1 libxslt1-dev
Tisztítsa meg az összes .tar.gz
fájlt. Nincs többé szükségünk rájuk.
rm -rf *.tar.gz
Lépjen be az Nginx forráskönyvtárába.
cd ~/nginx-1.17.2
A jó mérés érdekében listázza ki azokat a könyvtárakat és fájlokat, amelyek az Nginx forráskódot a tree
.
tree -L 2 .
Másolja a kézikönyv oldalát ide /usr/share/man/man8/
.
sudo cp ~/nginx-1.17.2/man/nginx.8 /usr/share/man/man8 sudo gzip /usr/share/man/man8/nginx.8 ls /usr/share/man/man8/ | grep nginx.8.gz # Check that man page for Nginx is working man nginx
Segítségért megtekintheti a naprakész Nginx fordítási idő opciók teljes listáját a következő futtatásával.
./configure --help # To see want core modules can be built as dynamic run: ./configure --help | grep -F =dynamic
Az Nginx konfigurálása, fordítása és telepítése.
./configure --prefix=/etc/nginx \ --sbin-path=/usr/sbin/nginx \ --modules-path=/usr/lib/nginx/modules \ --conf-path=/etc/nginx/nginx.conf \ --error-log-path=/var/log/nginx/error.log \ --pid-path=/var/run/nginx.pid \ --lock-path=/var/run/nginx.lock \ --user=nginx \ --group=nginx \ --build=Debian \ --builddir=nginx-1.17.2 \ --with-select_module \ --with-poll_module \ --with-threads \ --with-file-aio \ --with-http_ssl_module \ --with-http_v2_module \ --with-http_realip_module \ --with-http_addition_module \ --with-http_xslt_module=dynamic \ --with-http_image_filter_module=dynamic \ --with-http_geoip_module=dynamic \ --with-http_sub_module \ --with-http_dav_module \ --with-http_flv_module \ --with-http_mp4_module \ --with-http_gunzip_module \ --with-http_gzip_static_module \ --with-http_auth_request_module \ --with-http_random_index_module \ --with-http_secure_link_module \ --with-http_degradation_module \ --with-http_slice_module \ --with-http_stub_status_module \ --with-http_perl_module=dynamic \ --with-perl_modules_path=/usr/share/perl/5.26.1 \ --with-perl=/usr/bin/perl \ --http-log-path=/var/log/nginx/access.log \ --http-client-body-temp-path=/var/cache/nginx/client_temp \ --http-proxy-temp-path=/var/cache/nginx/proxy_temp \ --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \ --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \ --http-scgi-temp-path=/var/cache/nginx/scgi_temp \ --with-mail=dynamic \ --with-mail_ssl_module \ --with-stream=dynamic \ --with-stream_ssl_module \ --with-stream_realip_module \ --with-stream_geoip_module=dynamic \ --with-stream_ssl_preread_module \ --with-compat \ --with-pcre=../pcre-8.43 \ --with-pcre-jit \ --with-zlib=../zlib-1.2.11 \ --with-openssl=../openssl-1.1.1c \ --with-openssl-opt=no-nextprotoneg \ --with-debug make sudo make install
Az összeállítást követően navigáljon a kezdőkönyvtárába ( ~
).
cd ~
Symlink ide /usr/lib/nginx/modules
: /etc/nginx/modules
. Ez az Nginx modulok szabványos helye.
sudo ln -s /usr/lib/nginx/modules /etc/nginx/modules
Nyomtassa ki az Nginx verziót, a fordítóverziót, és konfigurálja a szkriptparamétereket.
sudo nginx -V # nginx version: nginx/1.17.2 (Debian) # built by gcc 8.3.0 (Debian 8.3.0-6) # built with OpenSSL 1.1.1c 28 May 2019 # TLS SNI support enabled # configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/nginx/modules . . . # . . . # . . .
Hozzon létre egy Nginx rendszercsoportot és felhasználót.
sudo adduser --system --home /nonexistent --shell /bin/false --no-create-home --disabled-login --disabled-password --gecos "nginx user" --group nginx # Check that user and group are created sudo tail -n 1 /etc/passwd /etc/group /etc/shadow
Ellenőrizze az Nginx szintaxisát és a lehetséges hibákat.
sudo nginx -t # Will throw this error -> nginx: [emerg] mkdir() "/var/cache/nginx/client_temp" failed (2: No such file or directory) # Create NGINX cache directories and set proper permissions sudo mkdir -p /var/cache/nginx/client_temp /var/cache/nginx/fastcgi_temp /var/cache/nginx/proxy_temp /var/cache/nginx/scgi_temp /var/cache/nginx/uwsgi_temp sudo chmod 700 /var/cache/nginx/* sudo chown nginx:root /var/cache/nginx/* # Re-check syntax and potential errors. sudo nginx -t
Hozzon létre egy Nginx systemd unit fájlt.
sudo vim /etc/systemd/system/nginx.service
Töltse fel a /etc/systemd/system/nginx.service
fájlt a következő tartalommal.
[Unit] Description=nginx - high performance web server Documentation=https://nginx.org/en/docs/ After=network-online.target remote-fs.target nss-lookup.target Wants=network-online.target [Service] Type=forking PIDFile=/var/run/nginx.pid ExecStartPre=/usr/sbin/nginx -t -c /etc/nginx/nginx.conf ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf ExecReload=/bin/kill -s HUP $MAINPID ExecStop=/bin/kill -s TERM $MAINPID [Install] WantedBy=multi-user.target
Engedélyezze az Nginx-et a rendszerindításkor, és azonnal indítsa el az Nginxet.
sudo systemctl enable nginx.service sudo systemctl start nginx.service
Ellenőrizze, hogy az Nginx automatikusan elindul-e az újraindítás után.
sudo systemctl is-enabled nginx.service # enabled
Ellenőrizze az állapotot.
sudo systemctl status nginx.service
MEGJEGYZÉS : Ellenőrizheti, hogy az Nginx fut-e, ha egy webböngészőben felkeresi webhelye domainjét vagy IP-címét. Látni fogja az Nginx üdvözlő oldalát. Ez azt jelzi, hogy az Nginx működik és fut a VPS-en.
Hozzon létre egy UFW Nginx alkalmazásprofilt.
sudo vim /etc/ufw/applications.d/nginx
Másolja/illessze be a következő tartalmat a /etc/ufw/applications.d/nginx
fájlba.
[Nginx HTTP] title=Web Server (Nginx, HTTP) description=Small, but very powerful and efficient web server ports=80/tcp [Nginx HTTPS] title=Web Server (Nginx, HTTPS) description=Small, but very powerful and efficient web server ports=443/tcp [Nginx Full] title=Web Server (Nginx, HTTP + HTTPS) description=Small, but very powerful and efficient web server ports=80,443/tcp
Ellenőrizze, hogy az UFW-alkalmazásprofilok létrejöttek és felismerhetők-e.
sudo ufw app list # Available applications: # Nginx Full # Nginx HTTP # Nginx HTTPS # OpenSSH
Az Nginx alapértelmezés szerint biztonsági mentési .default
fájlokat hoz létre a /etc/nginx
. .default
Fájlok eltávolítása a /etc/nginx
könyvtárból.
sudo rm /etc/nginx/*.default
Helyezze el a Vim szerkesztő Nginx konfigurációjának szintaxiskiemelését a ~/.vim
.
# For regular non-root user mkdir ~/.vim/ cp -r ~/nginx-1.17.2/contrib/vim/* ~/.vim/ # For root user sudo mkdir /root/.vim/ sudo cp -r ~/nginx-1.17.2/contrib/vim/* /root/.vim/
MEGJEGYZÉS : A fenti lépés végrehajtásával szép szintaxiskiemelést kap, amikor az Nginx konfigurációs fájljait szerkeszti a Vim szerkesztőben.
Hozzon létre conf.d
, snippets
, sites-available
és sites-enabled
könyvtárakat itt: /etc/nginx
.
sudo mkdir /etc/nginx/{conf.d,snippets,sites-available,sites-enabled}
Módosítsa az Nginx naplófájlok engedélyeit és csoportos tulajdonjogát.
sudo chmod 640 /var/log/nginx/* sudo chown nginx:adm /var/log/nginx/access.log /var/log/nginx/error.log
Hozzon létre egy naplóforgatási konfigurációt az Nginx számára.
sudo vim /etc/logrotate.d/nginx
Töltse ki a fájlt a következő szöveggel, majd mentse és lépjen ki.
/var/log/nginx/*.log { daily missingok rotate 52 compress delaycompress notifempty create 640 nginx adm sharedscripts postrotate if [ -f /var/run/nginx.pid ]; then kill -USR1 `cat /var/run/nginx.pid` fi endscript }
Távolítsa el az összes letöltött fájlt a kezdőkönyvtárból.
cd ~ rm -rf nginx-1.17.2/ openssl-1.1.1c/ pcre-8.43/ zlib-1.2.11/
Összegzés
Ez az. Most telepítette az Nginx legújabb verzióját. Statikusan fordítják néhány fontos könyvtár ellen, mint például az OpenSSL. Az OpenSSL rendszer által biztosított verziója gyakran elavult. Az OpenSSL újabb verziójával történő telepítés ezen módszerével kihasználhatja az OpenSSL-ben elérhető modern titkosításokat, CHACHA20_POLY1305
például a TLS 1.3-at és a protokollokat 1.1.1
. Sőt, saját bináris összeállításával személyre szabhatja, hogy az Nginx milyen funkciókat biztosítson, ami sokkal rugalmasabb, mint egy előre beépített bináris telepítése.
Bevezetés A Cacti egy nyílt forráskódú megfigyelő és grafikus eszköz, amely teljes mértékben az RRD adatokon alapul. A Cactuson keresztül szinte bármilyen típusú eszközt felügyelhet
Más rendszert használ? Ez az oktatóanyag megmutatja, hogyan telepítheti a csoportmunka iRedMail programot a Debian Wheezy friss telepítésére. Használnia kell egy szervát
Más rendszert használ? Ha Debian szervert vásárol, akkor mindig rendelkeznie kell a legújabb biztonsági javításokkal és frissítésekkel, akár alszik, akár nem
Ez az oktatóanyag elmagyarázza, hogyan állíthat be DNS-kiszolgálót a Bind9 használatával Debian vagy Ubuntu rendszeren. A cikkben ennek megfelelően helyettesítse be a saját-domain-neve.com címet. TH-nál
Ebben a cikkben látni fogjuk, hogyan fordíthatja le és telepítheti az Nginx fővonalat az Nginx hivatalos forrásaiból a PageSpeed modullal, amely lehetővé teszi a
Más rendszert használ? Bevezetés A Kanboard egy ingyenes és nyílt forráskódú projektmenedzsment szoftver, amely megkönnyíti és vizualizálja
Más rendszert használ? A Gitea egy alternatív nyílt forráskódú, saját üzemeltetésű verziókezelő rendszer, amelyet a Git üzemeltet. A Gitea golang nyelven íródott, és az is
Bevezetés A Lynis egy ingyenes, nyílt forráskódú rendszer-ellenőrző eszköz, amelyet sok rendszergazda használ a rendszer integritásának ellenőrzésére és a rendszer megerősítésére. én
Más rendszert használ? A Thelia egy nyílt forráskódú eszköz e-üzleti webhelyek létrehozására és PHP-ben írt online tartalmak kezelésére. Thelia forráskód i
Mire lesz szüksége Egy Vultr VPS legalább 1 GB RAM-mal. SSH hozzáférés (root/adminisztrátori jogosultságokkal). 1. lépés: A BungeeCord telepítése Először is
A Golang a Google által kifejlesztett programozási nyelv. Sokoldalúságának, egyszerűségének és megbízhatóságának köszönhetően a Golang az egyik legnépszerűbb lett
Ha elfelejtette MySQL root jelszavát, visszaállíthatja azt az ebben a cikkben található lépések végrehajtásával. A folyamat meglehetősen egyszerű, és ezeken működik
Vannak esetek, amikor olyan fájlokat kell megosztanunk, amelyeket a Windows-kliensek láthatnak. Mivel a Fuse-alapú rendszerek csak Linuxon működnek, tessék bemutatni
Ebben az útmutatóban egy Counter Strike: Source játékszervert fogunk beállítani a Debian 7 rendszeren. Ezeket a parancsokat a Debian 7 rendszeren teszteltük, de működniük kell
Ebből az útmutatóból megtudhatja, hogyan állíthat be egy Unturned 2.2.5 szervert Debian 8-at futtató Vultr VPS-en. Megjegyzés: Ez az Unturned szerkesztett változata, amely nem
Ebből az oktatóanyagból megtudhatja, hogyan telepítheti a Cachet Debian 8-ra. A Cachet egy hatékony, nyílt forráskódú állapotoldal-rendszer. Telepítés Ez a bemutató folyamatban van
Bevezetés Ebben az írásban részletesen végigvezeti, hogyan készíthet biztonsági másolatot több MySQL vagy MariaDB adatbázisról, amelyek ugyanazon a gépen vannak egy egyedi bash szkript segítségével.
Ez a cikk megtanítja Önnek, hogyan állítson be chroot börtönt a Debian rendszeren. Feltételezem, hogy a Debian 7.x-et használod. Ha Debian 6-ot vagy 8-at futtat, ez működhet, bu
Más rendszert használ? A Reader Self 3.5 egy egyszerű és rugalmas, ingyenes és nyílt forráskódú, saját üzemeltetésű RSS-olvasó és Google Reader alternatíva. Olvasó Sel
Más rendszert használ? A Backdrop CMS 1.8.0 egy egyszerű és rugalmas, mobilbarát, ingyenes és nyílt forráskódú tartalomkezelő rendszer (CMS), amely lehetővé teszi
A mesterséges intelligencia nem a jövőben, hanem itt a jelenben. Ebben a blogban Olvassa el, hogyan hatott a mesterséges intelligencia alkalmazások különböző ágazatokra.
Ön is DDOS támadások áldozata, és tanácstalan a megelőzési módszereket illetően? Olvassa el ezt a cikket a kérdések megoldásához.
Talán hallottál már arról, hogy a hackerek sok pénzt keresnek, de elgondolkodtál már azon, hogyan kereshetnek ennyi pénzt? beszéljük meg.
Szeretné látni a Google forradalmi találmányait, és azt, hogy ezek a találmányok hogyan változtatták meg minden mai ember életét? Ezután olvassa el a blogot, és nézze meg a Google találmányait.
Az önvezető autók koncepciója, hogy mesterséges intelligencia segítségével kerüljenek az utakra, már egy ideje álmunk. De számos ígéret ellenére sehol sem látszanak. Olvassa el ezt a blogot, hogy többet megtudjon…
Ahogy a tudomány gyors ütemben fejlődik, átveszi erőfeszítéseink nagy részét, megnő annak a kockázata is, hogy alávetjük magunkat egy megmagyarázhatatlan szingularitásnak. Olvassa el, mit jelenthet számunkra a szingularitás.
Az adatok tárolási módjai az Adatok születése óta alakulhatnak. Ez a blog egy infografika alapján mutatja be az adattárolás fejlődését.
Olvassa el a blogot, hogy a legegyszerűbb módon ismerje meg a Big Data Architecture különböző rétegeit és azok funkcióit.
Ebben a digitálisan vezérelt világban az intelligens otthoni eszközök az élet döntő részévé váltak. Íme az intelligens otthoni eszközök néhány elképesztő előnye, hogyan teszik életünket érdemessé és egyszerűbbé.
Az Apple a közelmúltban kiadott egy kiegészítést a macOS Catalina 10.15.4-hez a problémák megoldására, de úgy tűnik, hogy a frissítés több problémát okoz, ami a Mac gépek blokkolásához vezet. További információért olvassa el ezt a cikket