Mašinų augimas: AI pritaikymas realiame pasaulyje
Dirbtinis intelektas nėra ateityje, jis čia, dabartyje Šiame tinklaraštyje Skaitykite, kaip dirbtinio intelekto programos paveikė įvairius sektorius.
NGINX gali būti naudojamas kaip HTTP/HTTPS serveris, atvirkštinis tarpinis serveris, pašto tarpinis serveris, apkrovos balansavimo priemonė, TLS terminatorius arba talpyklos serveris. Pagal dizainą jis yra gana modulinis. Jame yra vietinių modulių ir trečiųjų šalių modulių, kuriuos sukūrė bendruomenė. Parašyta C programavimo kalba, tai labai greita ir lengva programinė įranga.
NOTE: NGINX has two version streams that run in parallel - stable and mainline. Both versions can be used on a production server. It is recommended to use the mainline version in production.
Įdiegti NGINX iš šaltinio kodo yra gana „lengva“ – atsisiųskite naujausią NGINX šaltinio kodo versiją, sukonfigūruokite, sukurkite ir įdiekite.
Šioje pamokoje naudosiu pagrindinę versiją, kuri rašymo metu yra 1.13.3. Atitinkamai atnaujinkite versijų numerius, kai pasirodys naujesnės versijos.
Privalomi reikalavimai:
Neprivalomi reikalavimai:
Sukurkite įprastą vartotoją, turintį sudoprieigą :
Perjungti į naują vartotoją:
su - <username>
Atnaujinti sistemą:
sudo dnf check-update || sudo dnf upgrade -y
Įdiekite „Kūrimo įrankius“, Vim redaktorių, wget ir gcc-c++:
sudo dnf install -y @development-tools && sudo dnf install -y vim wget gcc-c++
Atsisiųskite naujausią pagrindinės NGINX šaltinio kodo versiją ir pašalinkite ją:
wget https://nginx.org/download/nginx-1.13.3.tar.gz && tar zxvf nginx-1.13.3.tar.gz
Atsisiųskite NGINX priklausomybių šaltinio kodą ir ištraukite juos:
# PCRE version 8.41
wget https://ftp.pcre.org/pub/pcre/pcre-8.41.tar.gz && tar xzvf pcre-8.41.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.0f
wget https://www.openssl.org/source/openssl-1.1.0f.tar.gz && tar xzvf openssl-1.1.0f.tar.gz
Atsisiųskite ir įdiekite pasirenkamas NGINX priklausomybes:
# perl
sudo dnf install -y perl perl-devel perl-ExtUtils-Embed
# libxslt
sudo dnf install -y libxslt libxslt-devel
# libxml2
sudo dnf install -y libxml2 libxml2-devel
# libgd
sudo dnf install -y gd gd-devel
# GeoIP
sudo dnf install -y GeoIP GeoIP-devel
# Libatomic_Ops
sudo dnf install -y libatomic_ops libatomic_ops-devel
Pašalinti visus .tar.gzfailus. Mums jų nebereikia:
rm -rf *.tar.gz
Eikite į NGINX šaltinio katalogą:
cd ~/nginx-1.13.3
Kad būtų geriau, išvardykite NGINX šaltinio kodo failus ir katalogus:
ls
# auto CHANGES CHANGES.ru conf configure contrib html LICENSE man README src
Nukopijuokite NGINX vadovo puslapį į /usr/share/man/man8/:
sudo cp ~/nginx-1.13.3/man/nginx.8 /usr/share/man/man8/
sudo gzip /usr/share/man/man8/nginx.8
# Check that Man page for NGINX is working
man nginx
Jei reikia pagalbos, galite pateikti galimų konfigūracijos jungiklių sąrašą paleisdami:
./configure --help
# To see want core modules can be build as dynamic run:
./configure --help | grep -F =dynamic
Konfigūruokite, sukompiliuokite ir įdiekite NGINX:
./configure --prefix=/etc/nginx \
--sbin-path=/usr/sbin/nginx \
--modules-path=/usr/lib64/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=Fedora \
--builddir=nginx-1.13.3 \
--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=/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.41 \
--with-pcre-jit \
--with-zlib=../zlib-1.2.11 \
--with-openssl=../openssl-1.1.0f \
--with-openssl-opt=no-nextprotoneg \
--with-debug
make
sudo make install
Išspausdinkite NGINX versiją, kompiliatoriaus versiją ir sukonfigūruokite scenarijaus parametrus:
nginx -V
# nginx version: nginx/1.13.3 (Fedora)
# built by gcc 6.3.1 20161221 (Red Hat 6.3.1-1) (GCC)
# built with OpenSSL 1.1.0f 25 May 2017
# TLS SNI support enabled
# configure arguments: --prefix=/etc/nginx . . .
# . . .
Sukurkite NGINX sistemos vartotoją ir grupę:
sudo useradd --system --home /var/cache/nginx --shell /sbin/nologin --comment "nginx user" --user-group nginx
Patikrinkite sintaksę ir galimas klaidas:
sudo nginx -t
# Will throw this error: nginx: [emerg] mkdir() "/var/cache/nginx/client_temp" failed (2: No such file or directory)
# Just create directory
sudo mkdir -p /var/cache/nginx/ && sudo nginx -t
Sukurkite NGINX sistemos vieneto failą:
sudo vim /etc/systemd/system/nginx.service
Nukopijuokite / įklijuokite šį turinį:
NOTE: The location of the
PIDfile and the NGINX binary may be different depending on how NGINX was compiled.
[Unit]
Description=Nginx - A high performance web server and a reverse proxy server
Documentation=http://nginx.org/en/docs/
After=network.target
[Service]
Type=forking
PIDFile=/var/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t -q -g 'daemon on; master_process on;'
ExecStart=/usr/sbin/nginx -g 'daemon on; master_process on;'
ExecReload=/usr/sbin/nginx -g 'daemon on; master_process on;' -s reload
ExecStop=-/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /var/run/nginx.pid
TimeoutStopSec=5
KillMode=mixed
[Install]
WantedBy=multi-user.target
Paleiskite NGINX:
sudo systemctl start nginx.service
Įgalinti NGINX automatiškai paleisti įkrovos metu:
sudo systemctl enable nginx.service
Patikrinkite, ar NGINX bus paleistas po perkrovimo:
sudo systemctl is-enabled nginx.service
# enabled
Patikrinkite, ar veikia NGINX:
sudo systemctl status nginx.service
ps aux | grep nginx
curl -I 127.0.0.1
Iš naujo paleiskite VPS, kad patikrintumėte, ar NGINX paleidžiamas automatiškai:
sudo shutdown -r now
Pašalinkite archajiškus failus iš /etc/nginx/katalogo:
sudo rm /etc/nginx/koi-utf /etc/nginx/koi-win /etc/nginx/win-utf
Įdėkite NGINX konfigūracijos sintaksės paryškinimo failus vimį ~/.vim/. Redaguojant NGINX konfigūracijos failą, jums bus pateiktas gražus sintaksės paryškinimas:
mkdir ~/.vim/
cp -r ~/nginx-1.13.3/contrib/vim/* ~/.vim/
Sukurkite conf.d/katalogą /etc/nginx/kataloge. Šiame kataloge galite patalpinti virtualius serverius ir aukštesnius srautus:
sudo mkdir /etc/nginx/conf.d/
Pašalinkite ištrauktus katalogus ir failus iš savo namų katalogo:
rm -rf nginx-1.13.3/ openssl-1.1.0f/ pcre-8.41/ zlib-1.2.11/
Viskas. Dabar įdiegta naujausia NGINX versija. Jis statiškai kompiliuojamas su kai kuriomis svarbiomis bibliotekomis, tokiomis kaip OpenSSL. Dažnai sistemos OpenSSL versija yra pasenusi. Naudodami šį diegimo metodą su naujesne OpenSSL versija, galite pasinaudoti naujais šifrais, CHACHA20_POLY1305pvz., TLS 1.3 , ir protokolais , kurie bus prieinami OpenSSL 1.1.1(kuris nebuvo išleistas rašant).
Dirbtinis intelektas nėra ateityje, jis čia, dabartyje Šiame tinklaraštyje Skaitykite, kaip dirbtinio intelekto programos paveikė įvairius sektorius.
Ar taip pat esate DDOS atakų auka ir esate sumišęs dėl prevencijos metodų? Perskaitykite šį straipsnį, kad išspręstumėte savo užklausas.
Galbūt girdėjote, kad įsilaužėliai uždirba daug pinigų, bet ar kada susimąstėte, kaip jie uždirba tokius pinigus? padiskutuokime.
Ar norite pamatyti revoliucinius „Google“ išradimus ir kaip šie išradimai pakeitė kiekvieno žmogaus gyvenimą šiandien? Tada skaitykite tinklaraštį, kad pamatytumėte „Google“ išradimus.
Savavaledžių automobilių koncepcija, kuri išvažiuotų į kelius su dirbtinio intelekto pagalba, yra svajonė, kurią jau kurį laiką svajojame. Tačiau nepaisant kelių pažadų, jų niekur nematyti. Skaitykite šį tinklaraštį, kad sužinotumėte daugiau…
Kadangi mokslas sparčiai vystosi, perimdamas daug mūsų pastangų, taip pat didėja rizika, kad pateksime į nepaaiškinamą singuliarumą. Skaitykite, ką mums gali reikšti išskirtinumas.
Skaitykite tinklaraštį, kad paprasčiausiai sužinotumėte apie skirtingus didžiųjų duomenų architektūros sluoksnius ir jų funkcijas.
Duomenų saugojimo metodai gali būti tobulinami nuo pat Duomenų gimimo. Šiame tinklaraštyje, remiantis infografika, aprašoma duomenų saugojimo raida.
Šiame skaitmeniniu būdu pagrįstame pasaulyje išmanieji namų įrenginiai tapo svarbia gyvenimo dalimi. Štai keletas nuostabių išmaniųjų namų įrenginių privalumų, kaip jie daro mūsų gyvenimą vertą gyventi ir paprastesnį.
Neseniai „Apple“ išleido „macOS Catalina 10.15.4“ priedą, skirtą problemoms išspręsti, tačiau atrodo, kad dėl atnaujinimo kyla daugiau problemų, dėl kurių „Mac“ įrenginiai blokuojami. Norėdami sužinoti daugiau, perskaitykite šį straipsnį