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.
Šajā apmācībā mēs uzzināsim, kā iestatīt Koa.js tīmekļa lietojumprogrammu ražošanai, izmantojot Node.js. Mēs arī saistīsim parauga domēnu ar apgriezto starpniekserveri, izmantojot Apache, un uzzināsim, kā to pārvaldīt, izmantojot atbilstošu procesu pārvaldnieku. Sāksim bez turpmākas piepūles.
Node.js ir ātrs, vairāku platformu JavaScript ietvars, kura pamatā ir Chrome V8 dzinējs. To izmanto gan darbvirsmas, gan serveru lietojumprogrammās, un tas ir slavens ar viena pavediena notikumu cilpas apstrādi. Node.js piedāvā pakešu reģistru, ko sauc par mezglu pakotņu pārvaldnieku (NPM), kas mitina vairāk nekā pusmiljonu pakotņu. NPM pakotnes (vai moduļi) ir Node.js galvenais mugurkauls, jo tie ir kopienas vadīti kodi, kas var būt noderīgi jūsu Node.js lietojumprogrammā. Mūsu lietotnē Koa.js Node.js ir tā funkcijas galvenā daļa.
Koa.js ir minimālistisks tīmekļa ietvars, kas izveidots uz Node.js platformas. Tā pati komanda ir izstrādājusi populāro Express.js ietvaru, un tā mērķis ir vēl vairāk samazināt jau tā minimālistisko Express.js ietvaru, izslēdzot starpprogrammatūru no tā pamata. Galvenā Koa.js iezīme ir tā, ka nav atzvanīšanas. Koa.js pamatā ir ES6 ģeneratori un ES6 līdzekļi, piemēram, Promises.
Apache ir populārs atvērtā pirmkoda tīmekļa serveris, ko izmanto kā ļoti vienkāršu sākumpunktu tīmekļa serveriem. Šajā apmācībā mēs izmantosim Apache kā apgriezto starpniekserveri, kas ļaus mums saistīt mūsu lietojumprogrammu ar parauga domēnu. Ja jums nav domēna, šī apmācība joprojām darbosies jūsu labā, ar vienīgo atšķirību, ka vietne darbosies jūsu VPS IP, nevis domēnā.
Tāpat kā jebkurā Node.js ietvarā, jums būs jāinstalē Node.js savā VPS. Šīs apmācības nolūkos pieņemšu, ka jūsu sistēmā jau ir instalēts Node.js. Ja nē, varat vienkārši sekot šeit sniegtajiem norādījumiem .
Mums būs jāizveido mape, kurā būs mūsu lietojumprogrammas galvenie faili.
mkdir site
Jūtieties brīvi aizstāt sitear jebkuru citu nosaukumu, kuru vēlaties direktorijā. Tālāk mums būs jāinicializē mūsu Node.js pakotnes fails. Pārejiet uz tikko izveidoto direktoriju, palaidiet npm initun aizpildiet uzvednes. Galu galā tam vajadzētu izskatīties apmēram šādi:
{
"name": "site",
"version": "1.0.0",
"description": "Koa.js Site",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "yourname",
"license": "ISC"
}
Tagad, kad mūsu direktorijs ir iestatīts, mēs varam turpināt Koa.js instalēšanu. Pašreizējā darba direktorijā /siteierakstiet tālāk norādīto.
npm install koa
Tādējādi Koa.js modulis tiks lejupielādēts no NPM un instalēts mūsu projekta direktorijā turpmākai lietošanai. Pēc tam mēs izveidosim lietojumprogrammas parauga failu, kurā būs mūsu lietotnes kods. Lai to izdarītu, izveidojiet index.jsfailu.
nano index.js
Kad esat failā, izveidojiet lietojumprogrammas paraugu.
const Koa = require('koa');
const app = new Koa();
app.use(async ctx => {
ctx.body = 'Hello World';
});
app.listen(3000);
console.log('Website is live!')
Saglabājiet un aizveriet failu. CTRL+ X.
Mēs vēlamies pārliecināties, vai mūsu lietojumprogramma darbojas pareizi. Lai to sāktu, palaidiet node index.js, un jūs redzēsit Website is livekonsolē.
Tagad, kad mēs zinām, ka mūsu vietne darbojas, mēs varam turpināt instalēt Apache un tās atkarības.
sudo apt install -y libapache2-mod-proxy-html libxml2-dev
Lai izmantotu Apache apgriezto starpniekservera funkciju, mums būs jāiespējo nepieciešamie moduļi.
a2enmod proxy
a2enmod proxy_http
a2enmod proxy_ajp
a2enmod rewrite
a2enmod deflate
a2enmod headers
a2enmod proxy_balancer
a2enmod proxy_connect
a2enmod proxy_html
Iespējams, ka daži no šiem moduļiem jau ir iespējoti, taču vienmēr ir lietderīgi tos vēlreiz pārbaudīt.
Tagad mums ir jārediģē Apache noklusējuma konfigurācijas fails.
sudo nano /etc/apache2/sites-enabled/000-default.conf
Šeit mums būs jāpievieno bloks mūsu lietojumprogrammai.
<VirtualHost *:*>
ProxyPreserveHost On
ProxyPass / http://0.0.0.0:3000/
ProxyPassReverse / http://0.0.0.0:3000
ServerName localhost
</VirtualHost>
Saglabājiet failu, CTRL+ X.
Jūs varat pamanīt, ka mēs izmantojam portu 3000kā mūsu ProxyPassun ProxyPassReverseIP portu . Tā kā tas ir tas pats ports, kurā darbojas mūsu lietojumprogramma Koa.js, ir obligāti jāievada pareizais ports.
Kad izmaiņas būs ieviestas, mums būs jārestartē Apache un atkārtoti jāpalaiž lietojumprogramma Koa.js.
sudo systemctl restart apache2
Tas nodrošinās, ka mūsu konfigurācijas fails ir aktīvs un gatavs darbam, startējot lietojumprogrammu Koa.js. Kad Apache ir restartēts, dodieties atpakaļ uz vietnes direktoriju un palaidiet lietojumprogrammu Koa.js tāpat kā iepriekš. Tīmekļa pārlūkprogrammā dodieties uz http://yourdomain, vai http://yourip:, un jūs redzēsit "Hello World".
Tagad, kad esam iekļāvuši Koa.js lietojumprogrammas parauga izveides pamatus, mēs saprotam, ka ražošanas vidē lietojumprogrammas palaišana tādā veidā, kāda tā ir pašlaik, ir nepraktiska. Procesa vadītājs noteikti ir prasība. Šeit tiek izmantota systemd. Vienkārši izsakoties, systemd sastāv no programmatūras, kas nodrošina Linux sistēmas pamatelementus. Līdzīgi kā "init", tas nodrošina sistēmu lietotāju procesu pārvaldībai pēc sistēmas palaišanas. Mūsu lietojumprogrammas gadījumā systemd ļauj mums automātiski palaist mūsu vietni pēc sistēmas pārstartēšanas, ja notiek kāds notikums, kas traucē sistēmas darbības laiku. Tas nodrošina arī rīku komplektu, kas var noderēt, pārvaldot mūsu lietojumprogrammu. Labākā daļa ir fakts, ka tas ir iebūvēts Ubuntu 16.04 LTS, tāpēc mums nav jāinstalē papildu programmatūra.
Viss, kas nepieciešams mūsu lietojumprogrammas palaišanai, tiks ietverts failā ar nosaukumu service. Tajā ir informācija par mūsu lietotni, piemēram, tās nosaukums, direktorijs, vide un daudz kas cits. Lai izveidotu mūsu sistēmas failu, atveriet teksta redaktoru.
sudo nano /lib/systemd/system/site.service
Rediģējiet un saglabājiet failu šādi.
[Unit]
Description=desc here
Documentation=https://example.com
After=network.target
[Service]
Environment=NODE_PORT=3000
Type=simple
User=youruser
ExecStart=/usr/bin/node /home/[youruser]/site/index.js
Restart=on-failure
[Install]
WantedBy=multi-user.target
Aizstāt youruserar sava servera lietotājvārdu. Šeit ir īss svarīgu lauku pārskats:
After - Tas informē sistēmu, ka pirms mūsu lietojumprogrammas palaišanas ir jāgaida, līdz ir gatavs tīkla interfeiss.Environment- Šeit mēs varam norādīt vides mainīgos mūsu lietojumprogrammai. Mūsu Node.js ports ir viens no tiem.Type - Tas informē sistēmu, ka mūsu lietotni var vienkārši palaist, neizmantojot lietotāja privilēģijas un tamlīdzīgi.User- Tas norāda systemd, ka mēs vēlamies palaist lietojumprogrammu mūsu lietotāja kontā, kas ir ieteicams. Lietojumprogrammu darbināšana kā root lietotājam var novest pie daudziem drošības kompromisiem.ExecStart - Būtībā komanda, kas systemd darbosies, lai palaistu mūsu lietojumprogrammu, līdzīgi tam, kā mēs to iepriekš palaidām manuāli.Restart- norāda sistēmai, kādos apstākļos restartēt mūsu lietojumprogrammu. Šajā gadījumā mēs vēlamies, lai mūsu vietne tiktu restartēta kļūdas gadījumā.Tagad esam gatavi sākt mūsu sistēmisko pakalpojumu.
sudo systemctl daemon-reload
Tas ir nepieciešams ikreiz, kad mainās sistēmas pakalpojuma fails, lai systemd reģistrētu visas veiktās izmaiņas.
Pēc tam sāciet savu pieteikumu.
sudo systemctl start site
Pārlūkprogrammā vēlreiz pārejiet uz vietni, lai pārbaudītu, vai viss darbojas.
stop - pilnībā aptur lietojumprogrammu.restart - Aptur lietojumprogrammu un palaiž to no jauna saskaņā ar jaunu procesu.enable - Liek sistēmai palaist lietojumprogrammu ikreiz, kad startējat datoru.status - Parāda informāciju par pašlaik darbojošos lietojumprogrammu, piemēram, darbības laiku, lietojumprogrammas stāvokli un daudz ko citu.Lai izmantotu kādu no šīm funkcijām, izpildiet tālāk norādīto.
systemctl <function> site
Mēs esam veiksmīgi iestatījuši Koa.js lietojumprogrammu un iemācījušies to mainīt starpniekserveri, kā arī pārvaldīt to ar systemd. Tagad esat gatavs paplašināt savu pieteikumu un izmantot šo piemēru. Ja vēlaties uzzināt vairāk par Koa.js un citām iespējām, ko varat darīt, apmeklējiet viņu vietni , lai iegūtu noderīgāku informāciju. Papildus tam, ja vēlaties uzzināt vairāk par systemd procesu pārvaldnieku, izlasiet tā dokumentāciju šeit . Visbeidzot, ja vēlaties uzzināt vairāk par Apache reverso starpniekserveri, pārbaudiet tos šeit .
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