Mašīnu pieaugums: AI reālās pasaules lietojumi
Mākslīgais intelekts nav nākotnē, tas ir šeit, tagadnē. Šajā emuārā lasiet, kā mākslīgā intelekta lietojumprogrammas ir ietekmējušas dažādas nozares.
NGINX var izmantot kā HTTP/HTTPS serveri, reverso starpniekserveri, pasta starpniekserveri, slodzes balansētāju, TLS terminatoru vai kešatmiņas serveri. Pēc konstrukcijas tas ir diezgan modulārs. Tam ir kopienas izveidoti vietējie moduļi un trešo pušu moduļi. Tā ir rakstīta C programmēšanas valodā, un tā ir ļoti ātra un viegla programmatūra.
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.
NGINX instalēšana no pirmkoda ir samērā "viegli" – lejupielādējiet jaunāko NGINX pirmkoda versiju, konfigurējiet, izveidojiet un instalējiet to.
Šajā apmācībā es izmantošu galveno versiju, kas rakstīšanas laikā ir 1.13.1. Attiecīgi atjauniniet versiju numurus, kad kļūst pieejamas jaunākas versijas.
Obligātās prasības:
Izvēles prasības:
Izveidojiet parastu lietotāju ar sudopiekļuvi .
Pārslēgties uz jauno lietotāju:
su - <username>
Atjaunināt sistēmu:
sudo apt update && sudo apt upgrade -y
NGINX ir programma, kas rakstīta C valodā, tāpēc mums ir jāinstalē C kompilators (GCC).
sudo apt install build-essential -y
Lejupielādējiet jaunāko NGINX avota koda versiju un izņemiet to:
wget https://nginx.org/download/nginx-1.13.1.tar.gz && tar zxvf nginx-1.13.1.tar.gz
Lejupielādējiet NGINX atkarību pirmkodu un izņemiet tos:
# PCRE version 4.4 - 8.40
wget https://ftp.pcre.org/pub/pcre/pcre-8.40.tar.gz && tar xzvf pcre-8.40.tar.gz
# zlib version 1.1.3 - 1.2.11
wget http://www.zlib.net/zlib-1.2.11.tar.gz && tar xzvf zlib-1.2.11.tar.gz
# OpenSSL version 1.0.2 - 1.1.0
wget https://www.openssl.org/source/openssl-1.1.0f.tar.gz && tar xzvf openssl-1.1.0f.tar.gz
Noņemiet visus .tar.gzfailus. Mums tie vairs nav vajadzīgi:
rm -rf *.tar.gz
Dodieties uz NGINX avota direktoriju:
cd ~/nginx-1.13.1
Lai saņemtu palīdzību, varat uzskaitīt pieejamos konfigurācijas slēdžus, izpildot:
./configure --help
Konfigurējiet, kompilējiet un instalējiet NGINX:
./configure --prefix=/usr/share/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 \
--http-log-path=/var/log/nginx/access.log \
--pid-path=/run/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--user=www-data \
--group=www-data \
--build=Ubuntu \
--http-client-body-temp-path=/var/lib/nginx/body \
--http-fastcgi-temp-path=/var/lib/nginx/fastcgi \
--http-proxy-temp-path=/var/lib/nginx/proxy \
--http-scgi-temp-path=/var/lib/nginx/scgi \
--http-uwsgi-temp-path=/var/lib/nginx/uwsgi \
--with-openssl=../openssl-1.1.0f \
--with-openssl-opt=enable-ec_nistp_64_gcc_128 \
--with-openssl-opt=no-nextprotoneg \
--with-openssl-opt=no-weak-ssl-ciphers \
--with-openssl-opt=no-ssl3 \
--with-pcre=../pcre-8.40 \
--with-pcre-jit \
--with-zlib=../zlib-1.2.11 \
--with-compat \
--with-file-aio \
--with-threads \
--with-http_addition_module \
--with-http_auth_request_module \
--with-http_dav_module \
--with-http_flv_module \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_mp4_module \
--with-http_random_index_module \
--with-http_realip_module \
--with-http_slice_module \
--with-http_ssl_module \
--with-http_sub_module \
--with-http_stub_status_module \
--with-http_v2_module \
--with-http_secure_link_module \
--with-mail \
--with-mail_ssl_module \
--with-stream \
--with-stream_realip_module \
--with-stream_ssl_module \
--with-stream_ssl_preread_module \
--with-debug \
--with-cc-opt='-g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2' \
--with-ld-opt='-Wl,-Bsymbolic-functions -fPIE -pie -Wl,-z,relro -Wl,-z,now'
make
sudo make install
Noņemiet visus lejupielādētos failus no mājas direktorija, šajā gadījumā /home/username:
cd ~
rm -r nginx-1.13.1/ openssl-1.1.0f/ pcre-8.40/ zlib-1.2.11/
Pārbaudiet NGINX versiju un kompilēšanas laika opcijas:
sudo nginx -v && sudo nginx -V
# nginx version: nginx/1.13.0 (Ubuntu)
# built by gcc 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4)
# built with OpenSSL 1.1.0f 25 May 2017
# TLS SNI support enabled
# configure arguments: --prefix=/etc/nginx . . .
# . . .
# . . .
Pārbaudiet sintaksi un iespējamās kļūdas:
sudo nginx -t
# Will throw this error nginx: [emerg] mkdir() "/var/lib/nginx/body" failed (2: No such file or directory)
# Just create directory
mkdir -p /var/lib/nginx && sudo nginx -t
Izveidojiet sistēmas vienības failu NGINX:
sudo vim /etc/systemd/system/nginx.service
Kopējiet/ielīmējiet šādu saturu:
NOTE: The location of the PID file and the NGINX binary may be different depending on how NGINX was compiled.
[Unit]
Description=A high performance web server and a reverse proxy server
After=network.target
[Service]
Type=forking
PIDFile=/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 /run/nginx.pid
TimeoutStopSec=5
KillMode=mixed
[Install]
WantedBy=multi-user.target
Sāciet un iespējojiet NGINX pakalpojumu:
sudo systemctl start nginx.service && sudo systemctl enable nginx.service
Pārbaudiet, vai NGINX tiks startēts pēc atsāknēšanas:
sudo systemctl is-enabled nginx.service
# enabled
Pārbaudiet, vai NGINX darbojas:
sudo systemctl status nginx.service
ps aux | grep nginx
curl -I 127.0.0.1
Restartējiet savu Ubuntu VPS, lai pārbaudītu, vai NGINX tiek palaists automātiski:
sudo shutdown -r now
Izveidojiet UFW NGINX lietojumprogrammas profilu:
sudo vim /etc/ufw/applications.d/nginx
Kopējiet/ielīmējiet šādu saturu:
[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
Tagad pārbaudiet, vai UFW lietotņu profili ir izveidoti un atpazīti:
sudo ufw app list
# Available applications:
# Nginx Full
# Nginx HTTP
# Nginx HTTPS
# OpenSSH
Tieši tā. Tagad jums ir instalēta jaunākā NGINX versija. Tas ir statiski kompilēts pret dažām svarīgām bibliotēkām, piemēram, OpenSSL. Bieži vien sistēmas OpenSSL versija ir novecojusi. Izmantojot šo instalēšanas metodi ar jaunāku OpenSSL versiju, varat izmantot jaunus šifrus, piemēram, CHACHA20_POLY1305un protokolus, piemēram, TLS 1.3, kas būs pieejami OpenSSL 1.1.1(kas vēl nav izlaists).
Mākslīgais intelekts nav nākotnē, tas ir šeit, tagadnē. Šajā emuārā lasiet, kā mākslīgā intelekta lietojumprogrammas ir ietekmējušas dažādas nozares.
Vai arī jūs esat DDOS uzbrukumu upuris un esat neizpratnē par profilakses metodēm? Izlasiet šo rakstu, lai atrisinātu savus jautājumus.
Iespējams, esat dzirdējuši, ka hakeri pelna daudz naudas, bet vai esat kādreiz domājuši, kā viņi nopelna šādu naudu? pārrunāsim.
Vai vēlaties redzēt revolucionārus Google izgudrojumus un to, kā šie izgudrojumi mainīja katra cilvēka dzīvi mūsdienās? Pēc tam lasiet emuārā, lai redzētu Google izgudrojumus.
Pašpiedziņas automobiļu koncepcija izbraukt uz ceļiem ar mākslīgā intelekta palīdzību ir mūsu sapnis jau kādu laiku. Bet, neskatoties uz vairākiem solījumiem, tie nekur nav redzami. Lasiet šo emuāru, lai uzzinātu vairāk…
Zinātnei strauji attīstoties, pārņemot lielu daļu mūsu pūļu, palielinās arī risks pakļaut sevi neizskaidrojamai singularitātei. Izlasiet, ko singularitāte varētu nozīmēt mums.
Lasiet emuāru, lai vienkāršākā veidā uzzinātu dažādus lielo datu arhitektūras slāņus un to funkcijas.
Datu uzglabāšanas metodes ir attīstījušās kopš datu dzimšanas. Šajā emuārā ir aprakstīta datu uzglabāšanas attīstība, pamatojoties uz infografiku.
Šajā digitālajā pasaulē viedās mājas ierīces ir kļuvušas par būtisku dzīves sastāvdaļu. Šeit ir daži pārsteidzoši viedo mājas ierīču ieguvumi, lai padarītu mūsu dzīvi dzīves vērtu un vienkāršāku.
Nesen Apple izlaida macOS Catalina 10.15.4 papildinājuma atjauninājumu, lai novērstu problēmas, taču šķiet, ka atjauninājums rada vairāk problēmu, kas izraisa Mac datoru bloķēšanu. Izlasiet šo rakstu, lai uzzinātu vairāk