Vzpon strojev: aplikacije AI v resničnem svetu
Umetna inteligenca ni v prihodnosti, tukaj je prav v sedanjosti. V tem blogu preberite, kako so aplikacije umetne inteligence vplivale na različne sektorje.
NGINX se lahko uporablja kot strežnik HTTP/HTTPS, povratni proxy strežnik, poštni proxy strežnik, izravnalnik obremenitve, terminator TLS ali strežnik za predpomnjenje. Po zasnovi je precej modularen. Ima domače module in module tretjih oseb, ki jih je ustvarila skupnost. Napisana v programskem jeziku C, je zelo hitra in lahka programska oprema.
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.
Namestitev NGINX iz izvorne kode je razmeroma "enostavna" - prenesite najnovejšo različico izvorne kode NGINX, jo konfigurirajte, zgradite in namestite.
V tej vadnici bom uporabil glavno različico, ki je v času pisanja 1.13.3. Ustrezno posodobite številke različic, ko bodo na voljo novejše različice.
Obvezne zahteve:
Izbirne zahteve:
Ustvari navadnega uporabnika z sudodostopom :
Preklopi na novega uporabnika:
su - <username>
Posodobitev sistema:
sudo dnf check-update || sudo dnf upgrade -y
Namestite "Razvojna orodja", urejevalnik Vim, wget in gcc-c++:
sudo dnf install -y @development-tools && sudo dnf install -y vim wget gcc-c++
Prenesite najnovejšo glavno različico izvorne kode NGINX in jo razpakirajte:
wget https://nginx.org/download/nginx-1.13.3.tar.gz && tar zxvf nginx-1.13.3.tar.gz
Prenesite izvorno kodo odvisnosti NGINX in jih ekstrahirajte:
# 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
Prenesite in namestite neobvezne odvisnosti NGINX:
# 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
Odstranite vse .tar.gzdatoteke. Ne potrebujemo jih več:
rm -rf *.tar.gz
Pojdite v izvorni imenik NGINX:
cd ~/nginx-1.13.3
Za dobro mero navedite datoteke in imenike izvorne kode NGINX:
ls
# auto CHANGES CHANGES.ru conf configure contrib html LICENSE man README src
Kopirajte stran priročnika NGINX na /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
Za pomoč lahko navedete razpoložljiva konfiguracijska stikala tako, da zaženete:
./configure --help
# To see want core modules can be build as dynamic run:
./configure --help | grep -F =dynamic
Konfigurirajte, prevedite in namestite 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
Natisnite različico NGINX, različico prevajalnika in konfigurirajte parametre skripta:
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 . . .
# . . .
Ustvarite uporabnika in skupino sistema NGINX:
sudo useradd --system --home /var/cache/nginx --shell /sbin/nologin --comment "nginx user" --user-group nginx
Preverite sintakso in morebitne napake:
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
Ustvarite datoteko sistemske enote za NGINX:
sudo vim /etc/systemd/system/nginx.service
Kopirajte/prilepite naslednjo vsebino:
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
Zaženi NGINX:
sudo systemctl start nginx.service
Omogočite, da se NGINX samodejno zažene ob zagonu:
sudo systemctl enable nginx.service
Preverite, ali se bo NGINX zagnal po ponovnem zagonu:
sudo systemctl is-enabled nginx.service
# enabled
Preverite, ali se NGINX izvaja:
sudo systemctl status nginx.service
ps aux | grep nginx
curl -I 127.0.0.1
Znova zaženite svoj VPS, da preverite, ali se NGINX samodejno zažene:
sudo shutdown -r now
Odstranite arhaične datoteke iz /etc/nginx/imenika:
sudo rm /etc/nginx/koi-utf /etc/nginx/koi-win /etc/nginx/win-utf
Datoteke za označevanje sintakse konfiguracije NGINX za vimv ~/.vim/. Pri urejanju konfiguracijske datoteke NGINX se vam bo prikazalo lepo poudarjanje sintakse:
mkdir ~/.vim/
cp -r ~/nginx-1.13.3/contrib/vim/* ~/.vim/
V conf.d/imeniku naredite /etc/nginx/imenik. V ta imenik lahko postavite navidezne strežnike in navzgor:
sudo mkdir /etc/nginx/conf.d/
Odstranite ekstrahirane imenike in datoteke iz domačega imenika:
rm -rf nginx-1.13.3/ openssl-1.1.0f/ pcre-8.41/ zlib-1.2.11/
To je to. Zdaj imate nameščeno najnovejšo različico NGINX. Sestavljen je statično glede na nekatere pomembne knjižnice, kot je OpenSSL. Pogosto je sistemska različica OpenSSL zastarela. Z uporabo tega načina namestitve z novejšo različico OpenSSL lahko izkoristite prednosti novih šifr, CHACHA20_POLY1305kot je TLS 1.3, ki bodo na voljo v OpenSSL 1.1.1(ki v času pisanja še ni bil izdan).
Umetna inteligenca ni v prihodnosti, tukaj je prav v sedanjosti. V tem blogu preberite, kako so aplikacije umetne inteligence vplivale na različne sektorje.
Ste tudi vi žrtev DDOS napadov in ste zmedeni glede načinov preprečevanja? Preberite ta članek, če želite rešiti svoja vprašanja.
Morda ste že slišali, da hekerji zaslužijo veliko denarja, a ste se kdaj vprašali, kako zaslužijo takšen denar? razpravljajmo.
Ali želite videti revolucionarne izume Googla in kako so ti izumi danes spremenili življenje vsakega človeka? Nato preberite v blogu in si oglejte Googlove izume.
Koncept samovozečih avtomobilov, ki zapeljejo na ceste s pomočjo umetne inteligence, so sanje, ki jih imamo že nekaj časa. A kljub številnim obljubam jih ni nikjer. Preberite ta blog, če želite izvedeti več…
Ker se znanost hitro razvija in prevzame veliko naših prizadevanj, se povečuje tudi tveganje, da se podvržemo nerazložljivi singularnosti. Preberite, kaj bi za nas lahko pomenila singularnost.
Preberite blog, če želite na najpreprostejši način spoznati različne plasti v arhitekturi velikih podatkov in njihove funkcionalnosti.
Metode shranjevanja podatkov so se lahko razvijale od rojstva podatkov. Ta blog pokriva razvoj shranjevanja podatkov na podlagi infografike.
V tem digitalno vodenem svetu so pametne naprave za dom postale ključni del življenja. Tukaj je nekaj neverjetnih prednosti pametnih naprav za dom o tem, kako naredijo naše življenje vredno življenja in poenostavijo.
Pred kratkim je Apple izdal macOS Catalina 10.15.4 dopolnilno posodobitev za odpravo težav, vendar se zdi, da posodobitev povzroča več težav, ki vodijo do opečenja računalnikov Mac. Preberite ta članek, če želite izvedeti več