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.2. Ustrezno posodobite številke različic, ko bodo na voljo novejše različice.
Obvezne zahteve:
Izbirne zahteve:
Preden začneš
sudodostopom .Preklopi na novega uporabnika:
su - <username>
Posodobitev sistema:
sudo yum check-update || sudo yum update -y
Namestite "Razvojna orodja" in urejevalnik Vim:
sudo yum groupinstall -y 'Development Tools' && sudo yum install -y vim
Namestite dodatne pakete za Enterprise Linux (EPEL):
sudo yum install -y epel-release
Prenesite in namestite neobvezne odvisnosti NGINX:
sudo yum install -y perl perl-devel perl-ExtUtils-Embed libxslt libxslt-devel libxml2 libxml2-devel gd gd-devel GeoIP GeoIP-devel
Prenesite najnovejšo glavno različico izvorne kode NGINX in jo ekstrahirajte:
wget https://nginx.org/download/nginx-1.13.2.tar.gz && tar zxvf nginx-1.13.2.tar.gz
Prenesite izvorno kodo odvisnosti NGINX in jih ekstrahirajte:
# PCRE version 8.40
wget https://ftp.pcre.org/pub/pcre/pcre-8.40.tar.gz && tar xzvf pcre-8.40.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
Odstranite vse .tar.gzdatoteke. Ne potrebujemo jih več:
rm -rf *.tar.gz
Pojdite v izvorni imenik NGINX:
cd ~/nginx-1.13.2
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.2/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=CentOS \
--builddir=nginx-1.13.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 \
--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.40 \
--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
Simbolna povezava /usr/lib64/nginx/modulesdo /etc/nginx/modulesimenika, da lahko naložite dinamične module v konfiguraciji nginx, kot je ta load_module modules/ngx_foo_module.so;:
sudo ln -s /usr/lib64/nginx/modules /etc/nginx/modules
Natisnite različico NGINX, različico prevajalnika in konfigurirajte parametre skripta:
sudo nginx -V
# nginx version: nginx/1.13.2 (CentOS)
# built by gcc 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC)
# built with OpenSSL 1.1.0f 25 May 2017
# TLS SNI support enabled
# configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/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 /usr/lib/systemd/system/nginx.service
Kopirajte/prilepite naslednjo vsebino:
NOTE: The location of the PID file and the NGINX binary may be different depending on how NGINX was compiled.
[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
Zaženite in omogočite storitev NGINX:
sudo systemctl start nginx.service && 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/nginximenika:
sudo rm /etc/nginx/koi-utf /etc/nginx/koi-win /etc/nginx/win-utf
Osvetlitev sintakse konfiguracije NGINX za postavite vimv ~/.vim/. Pri urejanju konfiguracijske datoteke NGINX boste dobili lepo osvetlitev sintakse:
mkdir ~/.vim/
cp -r ~/nginx-1.13.2/contrib/vim/* ~/.vim/
Odstranite vse .defaultvarnostne kopije iz /etc/nginx/:
sudo rm /etc/nginx/*.default
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č