Postavite Cacti na Debian Jessie
Uvod Cacti je alat otvorenog koda za praćenje i crtanje koji se u potpunosti temelji na RRD podacima. Putem Cactusa možete pratiti gotovo sve vrste uređaja
Uvod
Nginx je softver web poslužitelja otvorenog koda dizajniran s visokom konkurentnošću na umu, koji se može koristiti kao HTTP/HTTPS poslužitelj, obrnuti proxy poslužitelj, mail proxy poslužitelj, balansiranje softverskog opterećenja, TLS terminator, poslužitelj za predmemoriju i još mnogo toga!
To je vrlo modularan komad softvera. Čak su i neki od naizgled "ugrađenih" dijelova softvera, poput GZIP-a ili SSL-a, zapravo kreirani kao moduli koji se mogu omogućiti i onemogućiti tijekom izrade.
Ima osnovne (nativne) module i module treće strane (vanjske) koje je kreirala zajednica. Trenutno postoji preko stotinu modula treće strane koje možemo koristiti.
Napisan na C, to je brz i lagan komad softvera.
Instaliranje Nginxa iz izvornog koda relativno je jednostavno - preuzmite najnoviju verziju izvornog koda Nginxa, konfigurirajte ga, izgradite i instalirajte ga.
Morat ćete odabrati hoćete li preuzeti glavnu ili stabilnu verziju, ali njihova izrada je ista.
U ovom vodiču sastaviti ćemo glavnu verziju Nginxa na Debianu 10 (buster). Koristit ćemo sve dostupne module u otvorenoj verziji Nginxa.
Zašto kompajlirati i instalirati Nginx iz izvora
Vjerojatno se pitate zašto bi se kompilirao Nginx iz izvora kada možete koristiti pripremljene pakete. Evo nekoliko razloga zašto biste mogli sami sastaviti određeni softver:
Stabilna u odnosu na glavnu verziju
Nginx Open Source dostupan je u dvije verzije:
Osnovni moduli u odnosu na module treće strane
Nginx ima dvije vrste modula koje možete koristiti: osnovne module i module treće strane.
Osnovni Nginx programeri grade osnovne module i oni su dio samog softvera.
Zajednica gradi module treće strane, a vi ih možete koristiti za proširenje funkcionalnosti. Postoji mnogo korisnih modula treće strane.
Statički moduli naspram dinamičkih modula
Statički moduli postoje u Nginxu od prve verzije. Dinamički moduli predstavljeni su s Nginxom 1.9.11+ u veljači 2016.
Sa statičkim modulima, skup modula koji čine Nginx binarni program fiksira ./configure
skripta u vrijeme prevođenja . Statički moduli koriste --with-foo_bar_module
ili --add-module=PATH
sintaksu.
Za kompiliranje jezgrenog (standardnog) modula kao dinamičkog dodajemo =dynamic
, na primjer --with-http_image_filter_module=dynamic
.
Za kompiliranje modula treće strane kao dinamičkog, koristimo --add-dynamic-module=/path/to/module
sintaksu, a zatim ih učitavamo korištenjem load_module
direktive u globalnom kontekstu nginx.conf
datoteke.
Zahtjevi za izgradnju Nginxa iz izvora
U usporedbi s nekim drugim UNIX/Linux softverom, Nginx je prilično lagan i nema mnogo ovisnosti o knjižnici. Zadana konfiguracija gradnje ovisi o samo 3 biblioteke koje treba instalirati: OpenSSL/LibreSSL/BoringSSL, Zlib i PCRE.
NAPOMENA : Nginx se također može kompajlirati protiv LibreSSL i BoringSSL kripto biblioteka umjesto OpenSSL-a.
Prije nego što počneš
Provjerite verziju Debiana.
lsb_release -ds # Debian GNU/Linux 10 (buster)
Stvorite redovitog korisnika s sudo
pristupom.
adduser johndoe --gecos "John Doe" usermod -aG sudo johndoe
NAPOMENA : Zamijenite johndoe
svojim korisničkim imenom .
Prijeđite na novog korisnika.
su - johndoe
Postavite vremensku zonu.
sudo dpkg-reconfigure tzdata
Ažurirajte softver svog operativnog sustava.
sudo apt update && sudo apt upgrade -y
Instalirajte potrebne pakete.
sudo apt install -y software-properties-common ufw
Napravi Nginx iz izvora
Nginx je program napisan u C-u, tako da ćete prvo morati instalirati alat za prevođenje. Instalirajte build-essential
, git
i tree
.
sudo apt install -y build-essential git tree
Preuzmite najnoviju glavnu verziju Nginx izvornog koda i raspakirajte arhivu izvornog koda. Izvorni kod Nginxa distribuira se kao komprimirana arhiva, kao i većina Unix i Linux softvera.
wget https://nginx.org/download/nginx-1.17.2.tar.gz && tar zxvf nginx-1.17.2.tar.gz
Preuzmite obavezni izvorni kod ovisnosti o Nginxu i raspakirajte ga.
# 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
Instalirajte izborne ovisnosti o Nginxu.
sudo apt install -y perl libperl-dev libgd3 libgd-dev libgeoip1 libgeoip-dev geoip-bin libxml2 libxml2-dev libxslt1.1 libxslt1-dev
Očistite sve .tar.gz
datoteke. Ne trebaju nam više.
rm -rf *.tar.gz
Unesite izvorni direktorij Nginxa.
cd ~/nginx-1.17.2
Za dobru listu mjernih direktorija i datoteka koje sastavljaju izvorni kod Nginxa s tree
.
tree -L 2 .
Kopirajte stranicu priručnika na /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
Za pomoć možete vidjeti cijeli popis ažuriranih opcija vremena prevođenja Nginxa tako što ćete pokrenuti sljedeće.
./configure --help # To see want core modules can be built as dynamic run: ./configure --help | grep -F =dynamic
Konfigurirajte, kompajlirajte i instalirajte Nginx.
./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
Nakon kompilacije, idite na svoj početni ( ~
) direktorij.
cd ~
Simbolna veza /usr/lib/nginx/modules
na /etc/nginx/modules
. Ovo je standardno mjesto za Nginx module.
sudo ln -s /usr/lib/nginx/modules /etc/nginx/modules
Ispišite verziju Nginxa, verziju kompajlera i konfigurirajte parametre skripte.
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 . . . # . . . # . . .
Napravite grupu i korisnika Nginx sustava.
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
Provjerite Nginx sintaksu i moguće pogreške.
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
Napravite Nginx systemd jediničnu datoteku.
sudo vim /etc/systemd/system/nginx.service
Popunite /etc/systemd/system/nginx.service
datoteku sljedećim sadržajem.
[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
Omogućite Nginx da se pokrene pri pokretanju i odmah pokrenite Nginx.
sudo systemctl enable nginx.service sudo systemctl start nginx.service
Provjerite hoće li se Nginx automatski pokrenuti nakon ponovnog pokretanja.
sudo systemctl is-enabled nginx.service # enabled
Provjerite status.
sudo systemctl status nginx.service
NAPOMENA : Možete provjeriti je li Nginx pokrenut tako da u web-pregledniku odete na domenu ili IP adresu svoje stranice. Vidjet ćete stranicu dobrodošlice Nginxa. To je pokazatelj da je Nginx pokrenut i radi na vašem VPS-u.
Napravite UFW Nginx profil aplikacije.
sudo vim /etc/ufw/applications.d/nginx
Kopirajte/zalijepite sljedeći sadržaj u /etc/ufw/applications.d/nginx
datoteku.
[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
Provjerite jesu li profili UFW aplikacija stvoreni i prepoznati.
sudo ufw app list # Available applications: # Nginx Full # Nginx HTTP # Nginx HTTPS # OpenSSH
Nginx prema zadanim postavkama generira .default
datoteke sigurnosne kopije u /etc/nginx
. Uklonite .default
datoteke iz /etc/nginx
direktorija.
sudo rm /etc/nginx/*.default
Stavite isticanje sintakse Nginx konfiguracije za Vim editor u ~/.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/
NAPOMENA : Ako izvršite gornji korak, dobit ćete lijepo isticanje sintakse kada uređujete Nginx konfiguracijske datoteke u uređivaču Vim.
Stvorite conf.d
, snippets
, sites-available
i sites-enabled
direktorije u /etc/nginx
.
sudo mkdir /etc/nginx/{conf.d,snippets,sites-available,sites-enabled}
Promijenite dopuštenja i vlasništvo grupe nad Nginx datotekama dnevnika.
sudo chmod 640 /var/log/nginx/* sudo chown nginx:adm /var/log/nginx/access.log /var/log/nginx/error.log
Napravite konfiguraciju rotacije dnevnika za Nginx.
sudo vim /etc/logrotate.d/nginx
Popunite datoteku sljedećim tekstom, zatim spremite i izađite.
/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 }
Uklonite sve preuzete datoteke iz matičnog direktorija.
cd ~ rm -rf nginx-1.17.2/ openssl-1.1.1c/ pcre-8.43/ zlib-1.2.11/
Sažetak
To je to. Sada imate instaliranu najnoviju verziju Nginxa. Sastavlja se statički prema nekim važnim knjižnicama poput OpenSSL-a. Često je verzija OpenSSL-a koju isporučuje sustav zastarjela. Korištenjem ove metode instalacije s novijom verzijom OpenSSL-a, možete iskoristiti prednosti modernih šifri poput CHACHA20_POLY1305
i protokola kao što je TLS 1.3 koji su dostupni u OpenSSL-u 1.1.1
. Štoviše, kompajliranjem vlastite binarne datoteke možete prilagoditi funkcionalnost koju će vaš Nginx pružiti, što je mnogo fleksibilnije od instaliranja unaprijed izgrađene binarne datoteke.
Uvod Cacti je alat otvorenog koda za praćenje i crtanje koji se u potpunosti temelji na RRD podacima. Putem Cactusa možete pratiti gotovo sve vrste uređaja
Korištenje drugog sustava? Ovaj vodič će vam pokazati kako instalirati grupni softver iRedMail na novu instalaciju Debian Wheezyja. Trebali biste koristiti servis
Korištenje drugog sustava? Ako kupite Debian poslužitelj, uvijek biste trebali imati najnovije sigurnosne zakrpe i ažuriranja, bez obzira spavate li ili ne
Ovaj vodič objašnjava kako postaviti DNS poslužitelj pomoću Bind9 na Debianu ili Ubuntu. U cijelom članku u skladu s tim zamijenite your-domain-name.com. Na th
U ovom članku ćemo vidjeti kako sastaviti i instalirati Nginx mainline iz službenih izvora Nginxa s modulom PageSpeed, koji vam omogućuje da
Korištenje drugog sustava? Uvod Kanboard je besplatni softver za upravljanje projektima otvorenog koda koji je dizajniran za olakšavanje i vizualizaciju
Korištenje drugog sustava? Gitea je alternativni sustav za kontrolu verzija otvorenog koda s vlastitim hostom koji pokreće Git. Gitea je napisana na Golangu i jest
Uvod Lynis je besplatan alat za reviziju sustava otvorenog koda koji koriste mnogi administratori sustava za provjeru integriteta i jačanje svojih sustava. ja
Korištenje drugog sustava? Thelia je alat otvorenog koda za izradu web stranica e-poslovanja i upravljanje online sadržajem napisanim u PHP-u. Thelia izvorni kod i
Što vam treba Vultr VPS s najmanje 1 GB RAM-a. SSH pristup (s root/administrativnim privilegijama). Korak 1: Instalacija BungeeCord-a Najprije
Golang je programski jezik koji je razvio Google. Zahvaljujući svojoj svestranosti, jednostavnosti i pouzdanosti, Golang je postao jedan od najpopularnijih
Ako ste zaboravili svoju MySQL root lozinku, možete je poništiti slijedeći korake u ovom članku. Proces je prilično jednostavan i radi na njima
Ponekad moramo dijeliti datoteke koje Windows klijenti moraju vidjeti. Budući da sustavi temeljeni na Fuse-u rade samo na Linuxu, dobro je da se predstavimo
U ovom vodiču postavljat ćemo poslužitelj igre Counter Strike: Source na Debianu 7. Ove su naredbe testirane na Debianu 7, ali bi također trebale raditi o
U ovom vodiču naučit ćete kako postaviti Unturned 2.2.5 poslužitelj na Vultr VPS s Debianom 8. Napomena: Ovo je uređena verzija Unturneda koja ne
U ovom vodiču naučit ćete kako instalirati Cachet na Debian 8. Cachet je moćan sustav statusnih stranica otvorenog koda. Instalacija Ovaj vodič je u tijeku
Uvod U ovom tekstu dobro prođite kroz kako napraviti sigurnosnu kopiju više MySQL ili MariaDB baza podataka koje se nalaze na istom stroju koristeći prilagođenu bash skriptu
Ovaj članak će vas naučiti kako postaviti chroot zatvor na Debianu. Pretpostavljam da koristite Debian 7.x. Ako koristite Debian 6 ili 8, ovo bi moglo raditi, bu
Korištenje drugog sustava? Reader Self 3.5 je jednostavan i fleksibilan, besplatan i otvoreni izvor, RSS čitač s vlastitim hostingom i alternativa Google Readeru. Čitateljica Sel
Korištenje drugog sustava? Backdrop CMS 1.8.0 je jednostavan i fleksibilan, prilagođen mobilnim uređajima, besplatan i otvoreni sustav za upravljanje sadržajem (CMS) koji nam omogućuje
Umjetna inteligencija nije u budućnosti, ovdje je upravo u sadašnjosti. U ovom blogu Pročitajte kako su aplikacije umjetne inteligencije utjecale na različite sektore.
Jeste li i vi žrtva DDOS napada i zbunjeni ste metodama prevencije? Pročitajte ovaj članak kako biste riješili svoje upite.
Možda ste čuli da hakeri zarađuju mnogo novca, ali jeste li se ikada zapitali kako zarađuju toliki novac? raspravimo.
Želite li vidjeti revolucionarne izume Googlea i kako su ti izumi promijenili život svakog čovjeka danas? Zatim čitajte na blogu kako biste vidjeli Googleove izume.
Koncept samovozećih automobila koji će krenuti na ceste uz pomoć umjetne inteligencije san je koji već neko vrijeme imamo. No, unatoč nekoliko obećanja, nigdje ih nema. Pročitajte ovaj blog kako biste saznali više…
Kako se znanost razvija velikom brzinom, preuzimajući mnoge naše napore, raste i rizik da se podvrgnemo neobjašnjivoj Singularnosti. Pročitajte što bi za nas mogla značiti singularnost.
Metode pohrane podataka su se razvijale možda od rođenja podataka. Ovaj blog pokriva evoluciju pohrane podataka na temelju infografike.
Pročitajte blog kako biste na najjednostavniji način upoznali različite slojeve u arhitekturi velikih podataka i njihove funkcionalnosti.
U ovom digitalnom svijetu, pametni kućni uređaji postali su ključni dio života. Evo nekoliko nevjerojatnih prednosti pametnih kućnih uređaja o tome kako naš život čine vrijednim življenja i jednostavnijim.
Nedavno je Apple izdao macOS Catalina 10.15.4 dodatak ažuriranju kako bi riješio probleme, ali čini se da ažuriranje uzrokuje više problema koji dovode do zalijevanja mac strojeva. Pročitajte ovaj članak da biste saznali više