Järelevalveta versiooniuuenduste seadistamine Debian 9-s (venitamine)
Kas kasutate teistsugust süsteemi? Kui ostate Debiani serveri, peaksid teil alati olema uusimad turvapaigad ja värskendused, olenemata sellest, kas magate või mitte
Sissejuhatus
Nginx on avatud lähtekoodiga veebiserveri tarkvara, mis on loodud kõrget samaaegsust silmas pidades, mida saab kasutada HTTP/HTTPS-serverina, pöördpuhverserverina, meili puhverserverina, tarkvara koormuse tasakaalustajana, TLS-i terminaatorina, vahemällu salvestava serverina ja palju muud!
See on väga modulaarne tarkvara. Isegi mõned näiliselt "sisseehitatud" tarkvara osad, nagu GZIP või SSL, on tegelikult loodud moodulitena, mida saab ehitamise ajal lubada ja keelata.
Sellel on kogukonna loodud põhimoodulid (omapõhised) ja kolmanda osapoole (välised) moodulid . Praegu on meil üle saja kolmanda osapoole mooduli, mida saame kasutada.
See on C-keeles kirjutatud kiire ja kerge tarkvara.
Nginxi installimine lähtekoodist on suhteliselt lihtne – laadige alla Nginxi lähtekoodi uusim versioon, konfigureerige, koostage ja installige.
Peate valima, kas laadite alla põhiliini või stabiilse versiooni, kuid nende loomine on sama.
Selles juhendis koostame Nginxi põhiversiooni Debian 10-s (buster). Kasutame kõiki saadaolevaid mooduleid Nginxi avatud lähtekoodiga versioonis.
Miks kompileerida ja installida Nginx allikast?
Tõenäoliselt küsite, miks peaks kompileerima Nginxi allikast, kui saate kasutada ettevalmistatud pakette. Siin on mõned põhjused, miks võiksite konkreetse tarkvara ise kompileerida.
Stabiilne vs põhiline versioon
Nginxi avatud lähtekoodiga versioon on saadaval kahes versioonis:
Põhimoodulid vs. kolmandate osapoolte moodulid
Nginxil on kahte tüüpi mooduleid, mida saate kasutada: põhimoodulid ja kolmanda osapoole moodulid.
Nginxi põhiarendajad loovad põhimooduleid ja need on osa tarkvarast endast.
Kogukond loob kolmanda osapoole mooduleid ja saate neid kasutada funktsioonide laiendamiseks. Seal on palju kasulikke kolmandate osapoolte mooduleid.
Staatilised moodulid vs dünaamilised moodulid
Staatilised moodulid on Nginxis olemas alates esimesest versioonist. Dünaamilised moodulid tutvustati versiooniga Nginx 1.9.11+ 2016. aasta veebruaris.
Staatiliste moodulite puhul fikseerib ./configure
skript kompileerimise ajal moodulite komplekti, mis moodustavad Nginxi binaarfaili . Staatilised moodulid kasutavad --with-foo_bar_module
või --add-module=PATH
süntaks.
Põhimooduli (standardse) dünaamilise kompileerimiseks lisame =dynamic
näiteks --with-http_image_filter_module=dynamic
.
Kolmanda osapoole mooduli dünaamilise kompileerimiseks kasutame --add-dynamic-module=/path/to/module
süntaksit ja seejärel laadime need faili load_module
globaalses kontekstis direktiivi kasutades nginx.conf
.
Nõuded Nginxi ehitamiseks allikast
Võrreldes mõne teise UNIX-i/Linuxi tarkvaraga on Nginx üsna kerge ja sellel pole palju sõltuvusi teegist. Ehitamise vaikekonfiguratsioon sõltub ainult kolmest installitavast teegist: OpenSSL/LibreSSL/BoringSSL, Zlib ja PCRE.
MÄRKUS . Nginxi saab OpenSSL-i asemel kompileerida ka LibreSSL-i ja BoringSSL-i krüptoteekide vastu.
Enne alustamist
Kontrollige Debiani versiooni.
lsb_release -ds # Debian GNU/Linux 10 (buster)
Looge tavakasutaja, kellel on sudo
juurdepääs.
adduser johndoe --gecos "John Doe" usermod -aG sudo johndoe
MÄRKUS . Asendage johndoe
oma kasutajanimega .
Lülituge uuele kasutajale.
su - johndoe
Seadistage ajavöönd.
sudo dpkg-reconfigure tzdata
Värskendage oma operatsioonisüsteemi tarkvara.
sudo apt update && sudo apt upgrade -y
Installige vajalikud paketid.
sudo apt install -y software-properties-common ufw
Ehitage Nginx allikast
Nginx on C-keeles kirjutatud programm, seega peate esmalt installima kompilaatori tööriista. Paigalda build-essential
, git
ja tree
.
sudo apt install -y build-essential git tree
Laadige alla Nginxi lähtekoodi uusim põhiversioon ja pakkige lahti lähtekoodiarhiiv. Nginxi lähtekoodi levitatakse tihendatud arhiivina, nagu enamik Unixi ja Linuxi tarkvarasid.
wget https://nginx.org/download/nginx-1.17.2.tar.gz && tar zxvf nginx-1.17.2.tar.gz
Laadige alla kohustuslik Nginxi sõltuvuste lähtekood ja eraldage see.
# 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
Installige valikulised Nginxi sõltuvused.
sudo apt install -y perl libperl-dev libgd3 libgd-dev libgeoip1 libgeoip-dev geoip-bin libxml2 libxml2-dev libxslt1.1 libxslt1-dev
Puhastage kõik .tar.gz
failid. Meil pole neid enam vaja.
rm -rf *.tar.gz
Sisestage Nginxi lähtekataloog.
cd ~/nginx-1.17.2
Hea mõõtmise jaoks loetlege kataloogid ja failid, mis koostavad Nginxi lähtekoodi tree
.
tree -L 2 .
Kopeerige juhendi leht /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
Abi saamiseks näete Nginxi ajakohaste kompileerimisaja valikute täielikku loendit, käivitades järgmise.
./configure --help # To see want core modules can be built as dynamic run: ./configure --help | grep -F =dynamic
Nginxi konfigureerimine, kompileerimine ja installimine.
./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
Pärast koostamist navigeerige oma kodukataloogi ( ~
).
cd ~
Symlinki /usr/lib/nginx/modules
et /etc/nginx/modules
. See on standardne koht Nginxi moodulitele.
sudo ln -s /usr/lib/nginx/modules /etc/nginx/modules
Printige Nginxi versioon, kompilaatori versioon ja konfigureerige skripti parameetrid.
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 . . . # . . . # . . .
Looge Nginxi süsteemirühm ja kasutaja.
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
Kontrollige Nginxi süntaksit ja võimalikke vigu.
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
Looge Nginxi süsteemiüksuse fail.
sudo vim /etc/systemd/system/nginx.service
Täitke /etc/systemd/system/nginx.service
fail järgmise sisuga.
[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
Lubage Nginx käivitamisel käivitada ja käivitage Nginx kohe.
sudo systemctl enable nginx.service sudo systemctl start nginx.service
Kontrollige, kas Nginx käivitub pärast taaskäivitamist automaatselt.
sudo systemctl is-enabled nginx.service # enabled
Kontrollige olekut.
sudo systemctl status nginx.service
MÄRKUS . Saate kontrollida, kas Nginx töötab, minnes veebibrauseris oma saidi domeenile või IP-aadressile. Näete Nginxi tervituslehte. See näitab, et Nginx on teie VPS-is valmis ja töötab.
Looge UFW Nginxi rakenduse profiil.
sudo vim /etc/ufw/applications.d/nginx
Kopeerige/kleepige /etc/ufw/applications.d/nginx
faili järgmine sisu .
[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
Kontrollige, kas UFW-rakenduste profiilid on loodud ja tuvastatud.
sudo ufw app list # Available applications: # Nginx Full # Nginx HTTP # Nginx HTTPS # OpenSSH
Nginx vaikimisi tekitab backup .default
faile /etc/nginx
. Eemaldage .default
failid /etc/nginx
kataloogist.
sudo rm /etc/nginx/*.default
Asetage Vimi redaktori Nginxi konfiguratsiooni süntaksi esiletõstmine asukohta ~/.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/
MÄRKUS : Tehes sammu eespool, saad kena süntaksi esiletõstmise muokatessasi nginx seadistusfailide Vim toimetaja.
Loo conf.d
, snippets
, sites-available
ja sites-enabled
katalooge /etc/nginx
.
sudo mkdir /etc/nginx/{conf.d,snippets,sites-available,sites-enabled}
Muutke Nginxi logifailide õigusi ja grupiomandiõigust.
sudo chmod 640 /var/log/nginx/* sudo chown nginx:adm /var/log/nginx/access.log /var/log/nginx/error.log
Looge Nginxi jaoks logi pööramise konfiguratsioon.
sudo vim /etc/logrotate.d/nginx
Täitke fail järgmise tekstiga, seejärel salvestage ja väljuge.
/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 }
Eemaldage kõik allalaaditud failid kodukataloogist.
cd ~ rm -rf nginx-1.17.2/ openssl-1.1.1c/ pcre-8.43/ zlib-1.2.11/
Kokkuvõte
See on kõik. Nüüd on teil installitud Nginxi uusim versioon. See kompileeritakse staatiliselt mõne olulise teeki, näiteks OpenSSL-i vastu. Sageli on süsteemi pakutav OpenSSL-i versioon aegunud. Kasutades seda OpenSSL-i uuema versiooniga installimise meetodit, saate kasutada CHACHA20_POLY1305
OpenSSL-is saadaolevaid tänapäevaseid šifreid, nagu TLS 1.3, ja protokolle 1.1.1
. Veelgi enam, kompileerides oma binaarfaili, saate kohandada, milliseid funktsioone teie Nginx pakub, mis on palju paindlikum kui eelehitatud binaarfaili installimine.
Kas kasutate teistsugust süsteemi? Kui ostate Debiani serveri, peaksid teil alati olema uusimad turvapaigad ja värskendused, olenemata sellest, kas magate või mitte
See õpetus selgitab, kuidas seadistada DNS-serverit Bind9 abil Debianis või Ubuntus. Asendage kogu artikli vältel oma-domeen-nimi.com vastavalt. Kell th
Selles artiklis näeme, kuidas kompileerida ja installida Nginxi põhiliini ametlikest Nginxi allikatest mooduliga PageSpeed, mis võimaldab teil
Kas kasutate teistsugust süsteemi? Sissejuhatus Kanboard on tasuta ja avatud lähtekoodiga projektihaldustarkvara, mis on loodud hõlbustama ja visualiseerima
Kas kasutate teistsugust süsteemi? Gitea on alternatiivne avatud lähtekoodiga isehostitav versioonikontrollisüsteem, mida toetab Git. Gitea on kirjutatud golangi keeles ja on
Sissejuhatus Lynis on tasuta avatud lähtekoodiga süsteemiauditi tööriist, mida paljud süsteemiadministraatorid kasutavad oma süsteemide terviklikkuse kontrollimiseks ja tugevdamiseks. ma
Kas kasutate teistsugust süsteemi? Thelia on avatud lähtekoodiga tööriist e-äri veebisaitide loomiseks ja PHP-s kirjutatud veebisisu haldamiseks. Thelia lähtekood i
Mida vajate Vultr VPS-i, millel on vähemalt 1 GB muutmälu. SSH-juurdepääs (juur-/administraatoriõigustega). 1. samm: BungeeCordi installimine Kõigepealt
Golang on Google'i poolt välja töötatud programmeerimiskeel. Tänu oma mitmekülgsusele, lihtsusele ja töökindlusele on Golangist saanud üks populaarsemaid
Kui olete oma MySQL-i juurparooli unustanud, saate selle lähtestada, järgides selles artiklis toodud juhiseid. Protsess on üsna lihtne ja töötab nende peal
Selles juhendis seadistame Debian 7-s mänguserveri Counter Strike: Source. Neid käske testiti Debian 7-s, kuid need peaksid ka töötama
Sellest juhendist saate teada, kuidas seadistada Unturned 2.2.5 serverit Vultr VPS-is, kus töötab Debian 8. Märkus. See on Unturned'i redigeeritud versioon, mis ei võimalda
Sellest õpetusest saate teada, kuidas installida Cachet Debian 8-le. Cachet on võimas avatud lähtekoodiga olekulehtede süsteem. Paigaldamine See õpetus on käimas
Sissejuhatus Selles kirjutises kirjeldage, kuidas varundada mitut samas masinas asuvat MySQL- või MariaDB-andmebaasi, kasutades kohandatud bash-skripti.
See artikkel õpetab teile, kuidas seadistada Debianis chroot-vanglat. Eeldan, et kasutate versiooni Debian 7.x. Kui kasutate Debian 6 või 8, võib see toimida, bu
Kas kasutate teistsugust süsteemi? Reader Self 3.5 on lihtne ja paindlik, tasuta ja avatud lähtekoodiga isehostitav RSS-lugeja ja Google Readeri alternatiiv. Lugeja Sel
Kas kasutate teistsugust süsteemi? Backdrop CMS 1.8.0 on lihtne ja paindlik, mobiilisõbralik, tasuta ja avatud lähtekoodiga sisuhaldussüsteem (CMS), mis võimaldab meil
Selles õpetuses installime SteamCMD. SteamCMD abil saab alla laadida ja installida palju Steami mänguservereid, näiteks Counter-Strike: Global Offensiv
Nagu võib-olla teate, värskendatakse Debiani hoidlaid väga aeglaselt. Kirjutamise ajal olid Pythoni väljalaskeversioonid 2.7.12 ja 3.5.2, kuid Debian 8 hoidlas
Samba on avatud lähtekoodiga lahendus, mis võimaldab kasutajatel kiiresti ja turvaliselt seadistada faile ja printida ühiskasutusse. Selles artiklis käsitlen Samba vaimukuse seadistamist
Tehisintellekt ei ole tulevik, see on siin, olevikus. Sellest blogist loe, kuidas tehisintellekti rakendused on mõjutanud erinevaid sektoreid.
Kas olete ka DDOS-i rünnakute ohver ja olete segaduses ennetusmeetodite osas? Oma päringute lahendamiseks lugege seda artiklit.
Võib-olla olete kuulnud, et häkkerid teenivad palju raha, kuid kas olete kunagi mõelnud, kuidas nad sellist raha teenivad? arutleme.
Kas soovite näha Google'i revolutsioonilisi leiutisi ja seda, kuidas need leiutised muutsid iga inimese elu tänapäeval? Seejärel lugege ajaveebi, et näha Google'i leiutisi.
Isejuhtivate autode kontseptsioon tehisintellekti abil teedele jõudmiseks on meil juba mõnda aega unistus. Kuid vaatamata mitmele lubadusele pole neid kusagil näha. Lisateabe saamiseks lugege seda ajaveebi…
Kuna teadus areneb kiiresti, võttes üle suure osa meie jõupingutustest, suureneb ka oht, et allume seletamatule singulaarsusele. Loe, mida singulaarsus meie jaoks tähendada võiks.
Andmete säilitamise meetodid on arenenud alates andmete sünnist. See ajaveeb käsitleb infograafiku alusel andmete salvestamise arengut.
Lugege ajaveebi, et kõige lihtsamal viisil teada saada Big Data Architecture'i erinevaid kihte ja nende funktsioone.
Selles digipõhises maailmas on nutikad koduseadmed muutunud elu oluliseks osaks. Siin on mõned nutikate koduseadmete hämmastavad eelised, mis muudavad meie elu elamisväärseks ja lihtsamaks.
Hiljuti andis Apple välja macOS Catalina 10.15.4 täiendusvärskenduse probleemide lahendamiseks, kuid tundub, et värskendus põhjustab rohkem probleeme, mille tulemuseks on Maci masinate tellimine. Lisateabe saamiseks lugege seda artiklit