Asenna Cacti Debian Jessielle
Johdanto Cacti on avoimen lähdekoodin seuranta- ja grafiikkatyökalu, joka perustuu täysin RRD-tietoihin. Cactin kautta voit seurata lähes minkä tahansa tyyppisiä laitteita
Johdanto
Nginx on avoimen lähdekoodin verkkopalvelinohjelmisto, joka on suunniteltu korkeaa samanaikaisuutta ajatellen, ja sitä voidaan käyttää HTTP/HTTPS-palvelimena, käänteisenä välityspalvelimena, sähköpostin välityspalvelimena, ohjelmiston kuormituksen tasapainottajana, TLS-päätteenä, välimuistipalvelimena ja paljon muuta!
Se on hyvin modulaarinen ohjelmisto. Jopa jotkin ohjelmiston näennäisesti "sisäänrakennetut" osat, kuten GZIP tai SSL, on itse asiassa luotu moduuleiksi, jotka voidaan ottaa käyttöön ja poistaa käytöstä rakennusaikana.
Siinä on yhteisön luomia ydinmoduuleja (alkuperäisiä) ja kolmannen osapuolen (ulkoisia) moduuleja . Tällä hetkellä meillä on yli sata kolmannen osapuolen moduulia, joita voimme hyödyntää.
C-kielellä kirjoitettuna se on nopea ja kevyt ohjelmisto.
Nginxin asentaminen lähdekoodista on suhteellisen helppoa - lataa Nginx-lähdekoodin uusin versio, määritä, rakenna ja asenna se.
Sinun on valittava, lataatko päälinjan vai vakaan version, mutta niiden rakentaminen on sama.
Tässä oppaassa kokoamme pääversion Nginxistä Debian 10:ssä (buster). Käytämme kaikkia saatavilla olevia moduuleja Nginxin avoimen lähdekoodin versiossa.
Miksi kääntää ja asentaa Nginx lähdekoodista
Luultavasti kysyt, miksi Nginx pitäisi kääntää lähteestä, kun voit käyttää valmiita paketteja. Tässä on joitain syitä, miksi saatat haluta kääntää tietyn ohjelmiston itse:
Vakaa vs. mainline versio
Nginx Open Source on saatavilla kahdessa versiossa:
Ydinmoduulit vs. kolmannen osapuolen moduulit
Nginxillä on kahden tyyppisiä moduuleja, joita voit käyttää: ydinmoduulit ja kolmannen osapuolen moduulit.
Nginxin ydinkehittäjät rakentavat ydinmoduuleja, ja ne ovat osa itse ohjelmistoa.
Yhteisö rakentaa kolmannen osapuolen moduuleja, ja voit käyttää niitä toiminnallisuuden laajentamiseen. Siellä on paljon hyödyllisiä kolmannen osapuolen moduuleja.
Staattiset moduulit vs. dynaamiset moduulit
Staattiset moduulit ovat olemassa Nginxissä ensimmäisestä versiosta lähtien. Dynaamiset moduulit esiteltiin Nginx 1.9.11+:n kanssa helmikuussa 2016.
Staattisissa moduuleissa ./configure
komentosarja kiinnittää käännöshetkellä joukon moduuleja, jotka muodostavat Nginx-binaarin . Staattisten moduulien käyttö --with-foo_bar_module
tai --add-module=PATH
syntaksi.
Ydin (vakio)moduulin kääntämiseksi dynaamiseksi lisäämme =dynamic
esimerkiksi --with-http_image_filter_module=dynamic
.
Kolmannen osapuolen moduulin kääntämiseksi dynaamiseksi käytämme --add-dynamic-module=/path/to/module
syntaksia ja lataamme ne sitten käyttämällä load_module
direktiiviä nginx.conf
tiedoston globaalissa kontekstissa .
Vaatimukset Nginxin rakentamiselle lähteestä
Verrattuna joihinkin muihin UNIX/Linux-ohjelmistoihin, Nginx on melko kevyt eikä sillä ole paljon kirjastoriippuvuuksia. Oletuskoontikokoonpano riippuu vain kolmesta asennettavasta kirjastosta: OpenSSL/LibreSSL/BoringSSL, Zlib ja PCRE.
1.0.2
- 1.1.1
tai LibreSSL- kirjasto tai BoringSSL- kirjasto1.1.3
-1.2.11
4.4
-8.43
HUOMAA : Nginx voidaan kääntää myös LibreSSL- ja BoringSSL-salauskirjastoja vastaan OpenSSL:n sijaan.
Ennen kuin aloitat
Tarkista Debian-versio.
lsb_release -ds # Debian GNU/Linux 10 (buster)
Luo tavallinen käyttäjä, jolla on sudo
käyttöoikeudet.
adduser johndoe --gecos "John Doe" usermod -aG sudo johndoe
HUOMAA : Korvaa johndoe
käyttäjätunnuksellasi .
Vaihda uuteen käyttäjään.
su - johndoe
Aseta aikavyöhyke.
sudo dpkg-reconfigure tzdata
Päivitä käyttöjärjestelmäsi ohjelmisto.
sudo apt update && sudo apt upgrade -y
Asenna tarvittavat paketit.
sudo apt install -y software-properties-common ufw
Rakenna Nginx lähteestä
Nginx on C-kielellä kirjoitettu ohjelma, joten sinun on ensin asennettava kääntäjätyökalu. Asentaa build-essential
, git
ja tree
.
sudo apt install -y build-essential git tree
Lataa Nginx-lähdekoodin uusin pääversio ja pura lähdekoodiarkisto. Nginx-lähdekoodia jaetaan pakattuna arkistona, kuten useimmat Unix- ja Linux-ohjelmistot.
wget https://nginx.org/download/nginx-1.17.2.tar.gz && tar zxvf nginx-1.17.2.tar.gz
Lataa pakollinen Nginx-riippuvuuksien lähdekoodi ja pura se.
# 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
Asenna valinnaiset Nginx-riippuvuudet.
sudo apt install -y perl libperl-dev libgd3 libgd-dev libgeoip1 libgeoip-dev geoip-bin libxml2 libxml2-dev libxslt1.1 libxslt1-dev
Puhdista kaikki .tar.gz
tiedostot. Emme tarvitse niitä enää.
rm -rf *.tar.gz
Anna Nginx-lähdehakemisto.
cd ~/nginx-1.17.2
Hyvä mittaus on luettelo hakemistoista ja tiedostoista, jotka muodostavat Nginx-lähdekoodin tree
.
tree -L 2 .
Kopioi ohjesivu osoitteeseen /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
Jos tarvitset apua, näet täydellisen luettelon ajantasaisista Nginx-kääntämisajan vaihtoehdoista suorittamalla seuraavan.
./configure --help # To see want core modules can be built as dynamic run: ./configure --help | grep -F =dynamic
Määritä, käännä ja asenna 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
Navigoi kokoamisen jälkeen kotihakemistoosi ( ~
).
cd ~
Symlink /usr/lib/nginx/modules
osoitteeseen /etc/nginx/modules
. Tämä on tavallinen paikka Nginx-moduuleille.
sudo ln -s /usr/lib/nginx/modules /etc/nginx/modules
Tulosta Nginx-versio, kääntäjäversio ja määritä komentosarjaparametrit.
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 . . . # . . . # . . .
Luo Nginx-järjestelmäryhmä ja -käyttäjä.
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
Tarkista Nginx-syntaksi ja mahdolliset virheet.
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
Luo Nginx systemd -yksikkötiedosto.
sudo vim /etc/systemd/system/nginx.service
Täytä /etc/systemd/system/nginx.service
tiedosto seuraavalla sisällöllä.
[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
Ota Nginx käyttöön käynnistyksen yhteydessä ja käynnistä Nginx välittömästi.
sudo systemctl enable nginx.service sudo systemctl start nginx.service
Tarkista, käynnistyykö Nginx automaattisesti uudelleenkäynnistyksen jälkeen.
sudo systemctl is-enabled nginx.service # enabled
Tarkista tila.
sudo systemctl status nginx.service
HUOMAUTUS : Voit varmistaa, että Nginx on käynnissä menemällä sivustosi verkkotunnukseen tai IP-osoitteeseen verkkoselaimella. Näet Nginxin tervetulosivun. Se on merkki siitä, että Nginx on käynnissä VPS:ssäsi.
Luo UFW Nginx -sovellusprofiili.
sudo vim /etc/ufw/applications.d/nginx
Kopioi/liitä seuraava sisältö /etc/ufw/applications.d/nginx
tiedostoon.
[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
Tarkista, että UFW-sovellusprofiilit on luotu ja tunnistettu.
sudo ufw app list # Available applications: # Nginx Full # Nginx HTTP # Nginx HTTPS # OpenSSH
Nginx oletusarvoisesti luo varmuuskopio .default
tiedostoja /etc/nginx
. Poista .default
tiedostot /etc/nginx
hakemistosta.
sudo rm /etc/nginx/*.default
Aseta Vim-editorin Nginx-kokoonpanon syntaksin korostus kohtaan ~/.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/
HUOMAA : Suorittamalla yllä olevan vaiheen saat mukavan syntaksin korostuksen, kun muokkaat Nginx-määritystiedostoja Vim-editorissa.
Luo conf.d
, snippets
, sites-available
ja sites-enabled
hakemistoja kohteessa /etc/nginx
.
sudo mkdir /etc/nginx/{conf.d,snippets,sites-available,sites-enabled}
Muuta Nginx-lokitiedostojen käyttöoikeuksia ja ryhmäomistusta.
sudo chmod 640 /var/log/nginx/* sudo chown nginx:adm /var/log/nginx/access.log /var/log/nginx/error.log
Luo lokin kiertomääritys Nginxille.
sudo vim /etc/logrotate.d/nginx
Täytä tiedosto seuraavalla tekstillä, tallenna ja poistu.
/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 }
Poista kaikki ladatut tiedostot kotihakemistosta.
cd ~ rm -rf nginx-1.17.2/ openssl-1.1.1c/ pcre-8.43/ zlib-1.2.11/
Yhteenveto
Se siitä. Nyt sinulla on uusin Nginx-versio asennettuna. Se on käännetty staattisesti joitain tärkeitä kirjastoja, kuten OpenSSL:ää, vastaan. Usein järjestelmän toimittama OpenSSL-versio on vanhentunut. Käyttämällä tätä asennustapaa uudemmalla OpenSSL-versiolla voit hyödyntää nykyaikaisia salauksia, CHACHA20_POLY1305
kuten TLS 1.3 ja protokollia, jotka ovat saatavilla OpenSSL:ssä 1.1.1
. Lisäksi kääntämällä oman binaarisi voit räätälöidä, mitä toimintoja Nginx tarjoaa, mikä on paljon joustavampaa kuin valmiiksi rakennetun binaarin asentaminen.
Johdanto Cacti on avoimen lähdekoodin seuranta- ja grafiikkatyökalu, joka perustuu täysin RRD-tietoihin. Cactin kautta voit seurata lähes minkä tahansa tyyppisiä laitteita
Käytätkö erilaista järjestelmää? Tämä opetusohjelma näyttää kuinka asennat ryhmätyöohjelman iRedMail uuteen Debian Wheezy -asennukseen. Sinun pitäisi käyttää tarjoilua
Käytätkö erilaista järjestelmää? Jos ostat Debian-palvelimen, sinulla pitäisi aina olla viimeisimmät tietoturvakorjaukset ja -päivitykset riippumatta siitä, oletko nukkumassa vai ei.
Tämä opetusohjelma selittää, kuinka DNS-palvelin määritetään Bind9:n avulla Debianissa tai Ubuntussa. Korvaa koko artikkelin ajan verkkotunnuksesi-nimi.com vastaavasti. klo th
Tässä artikkelissa näemme, kuinka Nginx-päälinja voidaan kääntää ja asentaa virallisista Nginx-lähteistä PageSpeed-moduulilla, jonka avulla voit
Käytätkö erilaista järjestelmää? Johdanto Kanboard on ilmainen ja avoimen lähdekoodin projektinhallintaohjelmisto, joka on suunniteltu helpottamaan ja visualisoimaan
Käytätkö erilaista järjestelmää? Gitea on vaihtoehtoinen avoimen lähdekoodin, itseisännöity versionhallintajärjestelmä, jota käyttää Git. Gitea on kirjoitettu golangilla ja on
Johdanto Lynis on ilmainen, avoimen lähdekoodin järjestelmän tarkastustyökalu, jota monet järjestelmänvalvojat käyttävät järjestelmiensä eheyden tarkistamiseen ja vahvistamiseen. minä
Käytätkö erilaista järjestelmää? Thelia on avoimen lähdekoodin työkalu sähköisen liiketoiminnan verkkosivustojen luomiseen ja PHP:llä kirjoitetun online-sisällön hallintaan. Thelia-lähdekoodi i
Mitä tarvitset Vultr VPS:n, jossa on vähintään 1 Gt RAM-muistia. SSH-käyttö (pääkäyttäjän/järjestelmänvalvojan oikeuksilla). Vaihe 1: BungeeCordin asentaminen Ensimmäiset asiat ensin
Golang on Googlen kehittämä ohjelmointikieli. Monipuolisuuden, yksinkertaisuuden ja luotettavuuden ansiosta Golangista on tullut yksi suosituimmista
Jos olet unohtanut MySQL-pääkäyttäjän salasanasi, voit nollata sen noudattamalla tämän artikkelin ohjeita. Prosessi on melko yksinkertainen ja toimii niillä
Joskus meidän on jaettava tiedostoja, joiden on oltava Windows-asiakkaiden nähtävissä. Koska Fuse-pohjaiset järjestelmät toimivat vain Linuxissa, olkaa hyvä
Tässä oppaassa asennamme Counter Strike: Source -pelipalvelimen Debian 7:lle. Nämä komennot testattiin Debian 7:ssä, mutta niiden pitäisi myös toimia.
Tässä oppaassa opit asentamaan Unturned 2.2.5 -palvelimen Vultr VPS:ään, jossa on Debian 8. Huomautus: Tämä on muokattu versio Unturnedista, joka ei
Tässä opetusohjelmassa opit asentamaan Cachet Debian 8:aan. Cachet on tehokas avoimen lähdekoodin tilasivujärjestelmä. Asennus Tämä opetusohjelma on käynnissä
Johdanto Tässä kirjoituksessa käydään läpi kuinka varmuuskopioida useita samassa koneessa olevia MySQL- tai MariaDB-tietokantoja mukautetulla bash-skriptillä
Tämä artikkeli opettaa sinulle kuinka chroot-vankila asetetaan Debianille. Oletan, että käytät Debian 7.x:ää. Jos käytät Debian 6 tai 8, tämä saattaa toimia, bu
Käytätkö erilaista järjestelmää? Reader Self 3.5 on yksinkertainen ja joustava, ilmainen ja avoimen lähdekoodin itseisännöity RSS-lukija ja Google Reader -vaihtoehto. Lukija Sel
Käytätkö erilaista järjestelmää? Backdrop CMS 1.8.0 on yksinkertainen ja joustava, mobiiliystävällinen, ilmainen ja avoimen lähdekoodin sisällönhallintajärjestelmä (CMS), jonka avulla voimme
Tekoäly ei ole tulevaisuudessa, se tässä nykyisyydessä Tässä blogissa Lue kuinka tekoälysovellukset ovat vaikuttaneet eri sektoreihin.
Oletko myös DDOS-hyökkäysten uhri ja hämmentynyt ehkäisymenetelmistä? Lue tämä artikkeli ratkaistaksesi kysymyksesi.
Olet ehkä kuullut, että hakkerit ansaitsevat paljon rahaa, mutta oletko koskaan miettinyt, kuinka he ansaitsevat tuollaista rahaa? keskustellaan.
Haluatko nähdä Googlen vallankumouksellisia keksintöjä ja kuinka nämä keksinnöt muuttivat jokaisen ihmisen elämää nykyään? Lue sitten blogia nähdäksesi Googlen keksinnöt.
Konsepti itseohjautuvista autoista lähteä tielle tekoälyn avulla on ollut haaveena jo jonkin aikaa. Mutta useista lupauksista huolimatta niitä ei näy missään. Lue tämä blogi saadaksesi lisätietoja…
Kun tiede kehittyy nopeasti ja ottaa haltuunsa suuren osan ponnisteluistamme, myös riskit altistaa itsemme selittämättömälle singulariteetille kasvavat. Lue, mitä singulaarisuus voisi tarkoittaa meille.
Tietojen säilytystavat ovat kehittyneet mahdollisesti Datan syntymästä lähtien. Tämä blogi käsittelee tiedon tallennuksen kehitystä infografian pohjalta.
Blogista saat tietää Big Data -arkkitehtuurin eri kerroksista ja niiden toiminnoista yksinkertaisimmalla tavalla.
Tässä digitaalisessa maailmassa kodin älylaitteista on tullut tärkeä osa elämää. Tässä on muutamia älykkäiden kodin laitteiden hämmästyttäviä etuja, joiden avulla ne tekevät elämästämme elämisen arvoista ja yksinkertaisempaa.
Apple julkaisi äskettäin macOS Catalina 10.15.4 -lisäpäivityksen ongelmien korjaamiseksi, mutta näyttää siltä, että päivitys aiheuttaa lisää ongelmia, jotka johtavat mac-koneiden tiilikaamiseen. Lue tämä artikkeli saadaksesi lisätietoja