The Rise of Machines: Real World Applications of AI
Gervigreind er ekki í framtíðinni, hún er hér í nútímanum Í þessu bloggi Lestu hvernig gervigreindarforrit hafa haft áhrif á ýmsa geira.
Kynning
Nginx er opinn hugbúnaður fyrir netþjónn sem er hannaður með mikla samvirkni í huga, sem hægt er að nota sem HTTP/HTTPS netþjón, öfugur proxy miðlari, póstþjónn, hleðslujafnvægi hugbúnaðar, TLS terminator, skyndiminni miðlara og fleira!
Það er mjög mát hugbúnaður. Jafnvel sumir af þeim „innbyggðu“ hlutum hugbúnaðarins sem virðist vera, eins og GZIP eða SSL, eru í raun búnir til sem einingar sem hægt er að virkja og slökkva á meðan á byggingu stendur.
Það hefur kjarna (innfædda) einingar og þriðja aðila (ytri) einingar búnar til af samfélaginu. Núna eru yfir hundrað einingar frá þriðja aðila sem við getum notað.
Skrifað í C, það er fljótur og léttur hugbúnaður.
Það er tiltölulega auðvelt að setja upp Nginx frá frumkóða - halaðu niður nýjustu útgáfunni af Nginx frumkóða, stilltu, byggðu og settu hann upp.
Þú þarft að velja hvort þú hleður niður aðallínunni eða stöðugri útgáfu, en það er það sama að byggja þær upp.
Í þessari handbók munum við setja saman aðalútgáfu af Nginx á Debian 10 (buster). Við munum nota allar tiltækar einingar í opnum útgáfunni af Nginx.
Af hverju að safna saman og setja upp Nginx frá uppruna
Þú spyrð líklega hvers vegna maður myndi setja saman Nginx úr uppruna þegar þú getur notað tilbúna pakka. Hér eru nokkrar ástæður fyrir því að þú gætir viljað setja saman sérstakan hugbúnað sjálfur:
Stöðug vs aðalútgáfa
Nginx Open Source er fáanlegur í tveimur útgáfum:
Kjarnaeiningar vs þriðja aðila einingar
Nginx hefur tvær tegundir af einingum sem þú getur notað: kjarnaeiningar og einingar frá þriðja aðila.
Kjarna Nginx verktaki byggja kjarna einingar, og þær eru hluti af hugbúnaðinum sjálfum.
Samfélagið byggir einingar frá þriðja aðila og þú getur notað þær til að auka virkni. Það eru margar gagnlegar einingar frá þriðja aðila.
Statískar einingar vs. dynamic einingar
Statískar einingar eru til í Nginx frá fyrstu útgáfunni. Dynamic einingar voru kynntar með Nginx 1.9.11+ í febrúar 2016.
Með kyrrstæðum einingum er sett af einingum sem mynda Nginx tvöfaldur festur á samsetningartíma með ./configurehandritinu. Static einingar notkun --with-foo_bar_moduleeða --add-module=PATHsetningafræði.
Til að setja saman kjarna (stöðluð) einingu sem kraftmikla bætum =dynamicvið td --with-http_image_filter_module=dynamic.
Til að setja saman þriðju aðila einingu sem kraftmikla notum við --add-dynamic-module=/path/to/modulesetningafræði og hleðum þeim síðan með því að nota load_moduletilskipunina í alþjóðlegu samhengi nginx.confskráarinnar.
Kröfur til að byggja Nginx frá uppruna
Í samanburði við nokkurn annan UNIX/Linux hugbúnað er Nginx frekar léttur og hefur ekki margar ósjálfstæðir bókasafna. Sjálfgefin uppsetning byggir á því að aðeins 3 bókasöfn séu sett upp: OpenSSL/LibreSSL/BoringSSL, Zlib og PCRE.
ATHUGIÐ : Nginx er einnig hægt að setja saman gegn LibreSSL og BoringSSL dulritunarsöfnum í stað OpenSSL.
Áður en þú byrjar
Athugaðu Debian útgáfuna.
lsb_release -ds # Debian GNU/Linux 10 (buster)
Búðu til venjulegan notanda með sudoaðgang.
adduser johndoe --gecos "John Doe" usermod -aG sudo johndoe
ATH : Skiptu út johndoefyrir notendanafnið þitt .
Skiptu yfir í nýjan notanda.
su - johndoe
Settu upp tímabeltið.
sudo dpkg-reconfigure tzdata
Uppfærðu hugbúnað stýrikerfisins þíns.
sudo apt update && sudo apt upgrade -y
Settu upp nauðsynlega pakka.
sudo apt install -y software-properties-common ufw
Byggja Nginx frá uppruna
Nginx er forrit skrifað í C, svo þú þarft fyrst að setja upp þýðandatól. Setja upp build-essential, gitog tree.
sudo apt install -y build-essential git tree
Sæktu nýjustu aðalútgáfuna af Nginx frumkóðanum og pakkaðu upp frumkóðasafninu. Nginx frumkóða er dreift sem þjappað skjalasafn, eins og flestir Unix og Linux hugbúnaður.
wget https://nginx.org/download/nginx-1.17.2.tar.gz && tar zxvf nginx-1.17.2.tar.gz
Hladdu niður skyldukóða Nginx ósjálfstæðis og dragðu hann út.
# 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
Settu upp valfrjálsa Nginx ósjálfstæði.
sudo apt install -y perl libperl-dev libgd3 libgd-dev libgeoip1 libgeoip-dev geoip-bin libxml2 libxml2-dev libxslt1.1 libxslt1-dev
Hreinsaðu allar .tar.gzskrár. Við þurfum þá ekki lengur.
rm -rf *.tar.gz
Sláðu inn Nginx upprunaskrána.
cd ~/nginx-1.17.2
Fyrir góðan mælikvarða listi möppur og skrár sem búa til Nginx frumkóða með tree.
tree -L 2 .
Afritaðu handbókarsíðuna til /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
Fyrir hjálp geturðu séð heildarlista yfir uppfærða Nginx samsetningartímavalkosti með því að keyra eftirfarandi.
./configure --help # To see want core modules can be built as dynamic run: ./configure --help | grep -F =dynamic
Stilltu, settu saman og settu upp 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
Eftir söfnunina skaltu fara í heimaskrána þína ( ~).
cd ~
Tákntengill /usr/lib/nginx/modulestil /etc/nginx/modules. Þetta er staðalbúnaður fyrir Nginx einingar.
sudo ln -s /usr/lib/nginx/modules /etc/nginx/modules
Prentaðu Nginx útgáfuna, þýðandaútgáfuna og stilltu forskriftarfæribreytur.
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 . . . # . . . # . . .
Búðu til Nginx kerfishóp og notanda.
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
Athugaðu Nginx setningafræði og hugsanlegar villur.
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
Búðu til Nginx systemd einingaskrá.
sudo vim /etc/systemd/system/nginx.service
Fylltu /etc/systemd/system/nginx.serviceskrána með eftirfarandi efni.
[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
Virkjaðu Nginx til að byrja við ræsingu og ræstu Nginx strax.
sudo systemctl enable nginx.service sudo systemctl start nginx.service
Athugaðu hvort Nginx ræsist sjálfkrafa eftir endurræsingu.
sudo systemctl is-enabled nginx.service # enabled
Athugaðu stöðuna.
sudo systemctl status nginx.service
ATHUGIÐ : Þú getur staðfest að Nginx sé í gangi með því að fara á lén síðunnar þinnar eða IP-tölu í vafra. Þú munt sjá Nginx velkomnasíðuna. Það er vísbending um að Nginx sé í gangi á VPS þínum.
Búðu til UFW Nginx umsóknarsnið.
sudo vim /etc/ufw/applications.d/nginx
Afritaðu/límdu eftirfarandi efni inn í /etc/ufw/applications.d/nginxskrána.
[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
Staðfestu að UFW umsóknarsnið séu búin til og viðurkennd.
sudo ufw app list # Available applications: # Nginx Full # Nginx HTTP # Nginx HTTPS # OpenSSH
Nginx, sjálfgefið, býr til öryggisafrit .defaultí /etc/nginx. Fjarlægðu .defaultskrár úr /etc/nginxmöppu.
sudo rm /etc/nginx/*.default
Settu setningafræði auðkenningu á Nginx stillingum fyrir Vim ritstjóra í ~/.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/
ATHUGIÐ : Með því að gera skrefið hér að ofan færðu góða setningafræði auðkenningu þegar þú breytir Nginx stillingarskrám í Vim ritlinum.
Búðu til conf.d, snippets, sites-availableog sites-enabledmöppur í /etc/nginx.
sudo mkdir /etc/nginx/{conf.d,snippets,sites-available,sites-enabled}
Breyttu heimildum og hópeign á Nginx annálaskrám.
sudo chmod 640 /var/log/nginx/* sudo chown nginx:adm /var/log/nginx/access.log /var/log/nginx/error.log
Búðu til stillingar fyrir snúningsskrá fyrir Nginx.
sudo vim /etc/logrotate.d/nginx
Fylltu skrána með eftirfarandi texta, vistaðu síðan og hættu.
/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 }
Fjarlægðu allar niðurhalaðar skrár úr heimaskránni.
cd ~ rm -rf nginx-1.17.2/ openssl-1.1.1c/ pcre-8.43/ zlib-1.2.11/
Samantekt
Það er það. Nú hefurðu nýjustu útgáfuna af Nginx uppsett. Það er sett saman á kyrrstöðu gegn nokkrum mikilvægum bókasöfnum eins og OpenSSL. Oft er kerfisútgáfan af OpenSSL úrelt. Með því að nota þessa aðferð til að setja upp með nýrri útgáfu af OpenSSL geturðu nýtt þér nútíma dulmál eins CHACHA20_POLY1305og og samskiptareglur eins og TLS 1.3 sem eru fáanlegar í OpenSSL 1.1.1. Þar að auki, með því að setja saman þinn eigin tvöfalda, geturðu sérsniðið hvaða virkni Nginx þinn mun bjóða upp á, sem er mun sveigjanlegri en að setja upp forsmíðaðan tvískrá.
Gervigreind er ekki í framtíðinni, hún er hér í nútímanum Í þessu bloggi Lestu hvernig gervigreindarforrit hafa haft áhrif á ýmsa geira.
Ertu líka fórnarlamb DDOS árása og ruglaður með forvarnaraðferðirnar? Lestu þessa grein til að leysa spurningar þínar.
Þú gætir hafa heyrt að tölvuþrjótar græða mikið af peningum, en hefur þú einhvern tíma velt því fyrir þér hvernig þeir vinna sér inn svona peninga? við skulum ræða.
Viltu sjá byltingarkenndar uppfinningar frá Google og hvernig þessar uppfinningar breyttu lífi hvers manns í dag? Lestu síðan til að blogga til að sjá uppfinningar frá Google.
Hugmyndin um að sjálfkeyrandi bílar fari á göturnar með hjálp gervigreindar er draumur sem við höfum átt um tíma núna. En þrátt fyrir nokkur loforð eru þau hvergi sjáanleg. Lestu þetta blogg til að læra meira…
Þar sem vísindin þróast hratt og taka yfir mikið af viðleitni okkar, eykst hættan á því að verða fyrir óútskýranlegri einstæðu. Lestu, hvað sérkenni gæti þýtt fyrir okkur.
Lestu bloggið til að þekkja mismunandi lög í Big Data Architecture og virkni þeirra á einfaldasta hátt.
Geymsluaðferðir gagna hafa verið að þróast gæti verið frá fæðingu gagna. Þetta blogg fjallar um þróun gagnageymslu á grundvelli upplýsingamynda.
Í þessum stafræna heimi hafa snjallheimilistæki orðið afgerandi hluti af lífi. Hér eru nokkrir ótrúlegir kostir snjallheimatækja um hvernig þau gera líf okkar þess virði að lifa því og einfaldara.
Nýlega gaf Apple út macOS Catalina 10.15.4 viðbótaruppfærslu til að laga vandamál en svo virðist sem uppfærslan sé að valda fleiri vandamálum sem leiða til múrsteins á Mac vélum. Lestu þessa grein til að læra meira