Lamp stack je opis njegovih komponenti. Namjenske Cloud VDS slike za brzu implementaciju LAMP poslužitelja. zabilježi sve pokušaje preusmjeravanja

U ovom ćemo članku razmotriti slobodno distribuiran i praktički besplatan skup softvera pod nazivom LAMP. Kako se ova kratica ispravno dešifrira? Sastoji se od 4 popularne tehnologije koje se nalaze u ovom paketu:linux- operacijski sustav;- web poslužitelj;MySQL- DBMS; - programski jezik koji se koristi za stvaranje web izvora.

Ovaj skup softvera instaliran je na poslužitelju za prikaz dinamičkih web stranica i web aplikacija. Ova vam platforma omogućuje instalaciju (postavljanje) većine vrsta web stranica i mrežnog softvera na vašem poslužitelju.

LAMP kombinacija je:

  1. Linux poslužitelj OS za obavljanje potrebnih zadataka;
  2. web poslužitelj Apache za koji su kreirani brojni dodatni moduli koji rješavaju pitanje zajedničkog rada web poslužitelja i skripti napisanih u različitim programskim jezicima;
  3. poslužiteljski dinamički skriptni jezik PHP (ili Perl);
  4. MySQL DBMS, koji pokazuje izvrsne performanse SQL upita i idealan je za male i srednje projekte. MySQL radi i posebno je jednostavan za korištenje.

Zašto vam treba LAMP?

  • ako trebate okruženje za web razvoj i testiranje aplikacija koje su napisane za LAMP. Ovo vrijedi i za vaše vlastite aplikacije i za bilo koji CMS koji vam je potreban. Možete raditi na Windowsima i Ubuntuu;
  • ako trebate napraviti produktivan web poslužitelj za hosting vaših projekata na ili na namjenskom poslužitelju;
  • ako trebate poslužitelj za sustave kontrole verzija;
  • za samoučenje administracije;
  • u ekonomske svrhe, za stvaranje vlastitog poslužitelja.

Kako težak prednost ovog sklopa : Izvrstan je za brzo postavljanje aplikacije, zbog svoje jednostavne konfiguracije, ali još uvijek nudi nekoliko značajki u smislu skalabilnosti i izolacije komponenti.

Među nedostaci ovakvog sklopa treba istaknuti sljedeće:

Aplikacija i baza podataka koriste iste resurse poslužitelja (CPU, memorija, I/O, itd.), što daje lošu izvedbu i otežava određivanje izvora (aplikacija ili baza podataka) ovog problema. Postoje i prepreke u implementaciji horizontalnog skaliranja.

Instaliranje LAMP-a (Linux + Apache + MySQL + PHP/Perl/Python) je prilično široko korištena opcija za postavljanje poslužitelja s Ubuntuom. Postoji velik broj aplikacija koje su otvorenog koda i napisane pomoću LAMP skupa aplikacija. Popularne LAMP aplikacije su wiki enciklopedije, sustavi za upravljanje sadržajem (CMS) i aplikacije za upravljanje kao što je phpMyAdmin.

Važna prednost LAMP-a je fleksibilnost u odabiru baza podataka, web poslužitelja i skriptnih jezika. Trenutne zamjene za MySQL su PostgreSQL i SQLite. Python, Perl i Ruby mogu se zamijeniti PHP-om. A Nginx, Cherokee i Lighttpd su alternative Apacheu.

Taskel se koristi za brzu instalaciju LAMP-a. Tasksel je Debian/Ubuntu alat koji instalira više zavisnih paketa na vaš sustav kao jedan zadatak.

Ako trebašpostaviti LAMP na naše VPS poslužitelje kontaktirajte našu 24/7 tehničku podršku! Društvo Hyper Host™želi vam ugodan rad!

Detaljnije o tehnologijama koje podržava HyperHost hosting.

9946 puta 2 puta pogledano danas

Svojim korisnicima nude izvrsne mogućnosti za izradu web stranica, njihovo pohranjivanje na poslužitelj i njihovo testiranje. Mnogi su vjerojatno čuli da ispravna konfiguracija Apachea i MySQL-a omogućuje praktičan rad s poslužiteljima. Vrijeme je da se upoznate s LAMP-om, koji ih sve ujedinjuje, kao i da shvatite kako instalirati i konfigurirati LAMP poslužitelj u Ubuntuu.

Instaliranje LAMP-a omogućuje vam stvaranje web poslužitelja.

LAMP nije program, kao što bi netko mogao pomisliti na prvu, niti je poslužitelj. Ova kratica skriva hrpu ili skup programa na strani poslužitelja: Apache, MySQL, PHP. Otuda i naziv - prva slova svakog od ovih programa. Prvo slovo preuzeto je iz Linuxa.

Saznajte više o komponentama.

  • Apache je besplatni HTTP poslužitelj.
  • MySQL je moćan, također besplatan sustav za upravljanje bazom podataka. Koristi se na mnogim stranicama.
  • PHP je programski jezik. Na njemu su često ispisane razne web aplikacije.

Sav ovaj softver je koristan i gotovo neophodan za hosting web stranica na webu. Ostaje naučiti kako ga instalirati i koristiti.

Instaliranje LAMP-e

LAMPA se postavlja na više načina. Budući da se radi o kompleksu programa, svaki od njih možete preuzeti zasebno, ali je prikladnije to učiniti zajedno. Da biste to učinili, lakše je koristiti Tasksel:

sudo tasksel instalirajte lamp-server

Tasksel je poseban alat instaliran na Ubuntu koji olakšava učitavanje različitih softverskih paketa u sustav. Tijekom instalacije, sustav će tražiti da unesete lozinku za MySQL. Treba to učiniti.

Uklanjanje

Također možete potpuno ukloniti hrpu jednom naredbom:

sudo tasksel ukloniti lamp-server

Instalirat će se sve komponente: PHP 7, Apache, MySQL. Za praktičniji rad, programi se dodaju u pokretanje. Ako to želite promijeniti, učinite to kroz postavke: Sustav - Opcije - Pokretanje aplikacija. Tamo jednostavno uklonite LAMP komponente.

Instalacija i postavljanje

Ipak, većina bi vjerojatno htjela odmah dobiti barem testni, ali konfigurirani radni poslužitelj. Zatim slijedite daljnje upute.


Postavljanje poslužitelja i dodavanje web stranice

Postavljanje LAMP poslužitelja je najvažniji dio, budući da je instalacija MySQL, Apache, PHP 7 na Ubuntu povjetarac. Zatim ćete morati raditi s programskim kodom.

sudo ln -s /etc/phpmyadmin /var/www

Otvorite i zatim uredite konfiguraciju poslužitelja:

sudo nano /etc/apache2/apache2.conf

Dodajte redak na kraju:

Naziv poslužitelja lokalni host:80

Otvorite datoteku hosts:

Dodamo redak:

Napravite novu konfiguracijsku datoteku stranice:

‹Virtualni host *:80›
Server Alias ​​​​testsite.ru www.testsite.ru
DocumentRoot /home/server/testsite.ru
‹Direktorij home/server/testsite.ru/›
DopustiNadjačaj sve

‹/VirtualHost›

Stavili smo ovu datoteku s root pravima ovdje: /etc/apache2/sites-available/

Aktivirajte stranicu:

sudo a2ensite testsite.com

Ponovno pokretanje poslužitelja:

sudo /etc/init.d/apache2 ponovno pokretanje

Napravite stranicu za web stranicu

Izrađujemo prvu stranicu - datoteku index.php u mapi sa web mjestom (home/server/testsite.ru).

Unesite tamo:

‹?
echo 'Bok!!!';
?›

Općenito, možete unijeti bilo što, potrebno vam je samo za provjeru performansi poslužitelja.

Otvaramo našu stranicu putem preglednika: upisujemo web adresu u red.

Nakon toga, trebali bismo vidjeti željeni "Hello !!!". Ako se to dogodi, onda je sve ispravno konfigurirano. Sada u ovu mapu možete postaviti potpunu web stranicu koja će biti testirana na LAMP-u. Mapa, kao i adresa stranice, naravno, mogu se mijenjati.

Sada znate da instalacija i konfiguracija MySQL-a, Apache-a, PHP-a (LAMP) na Ubuntu nije tako strašna kao što se čini na prvu. Ovo su samo osnovne značajke softvera. S vremenom ćete naučiti koristiti svu snagu programa.

Pod hrpom web aplikacija, mislimo na skup softverskih proizvoda otvorenog koda: operativni sustav, web poslužitelj, poslužitelj baze podataka i okruženje izvršnog koda. Najpoznatiji i najčešći stack je LAMP. To je akronim za besplatnu hrpu web aplikacija otvorenog koda.

SVJETILJKA- akronim koji označava skup (kompleks) poslužiteljskog softvera koji se široko koristi na World Wide Webu. LAMP je nazvan po prvim slovima svojih komponenti:

· L inux - operativni sustav Linux

;

· A pache- web poslužitelj;

· M ariaDB / M ySQL - DBMS;

· P HP je programski jezik koji se koristi za izradu web aplikacija (uz PHP mogu biti uključeni i drugi jezici kao što su Perl i Python).

Akronim LAMP može se koristiti za označavanje:

1. Infrastrukture web poslužitelja

2. Paradigme programiranja

3. Programski paket

Iako u početku ti softverski proizvodi nisu bili posebno dizajnirani za međusobni rad, takav je paket postao vrlo popularan zbog svoje fleksibilnosti, performansi i niske cijene (sve njegove komponente su otvorenog koda i mogu se besplatno preuzeti s interneta). LAMP paket uključen je u većinu distribucija Linuxa i pružaju ga mnoge tvrtke za hosting.

Linux osigurava prijem / prijenos zahtjeva (kontrolira hardver) i jezgra je za sve više - poslužitelj, DBMS, jezičnu podršku.

Instalacija na Ubuntu

Morate instalirati sljedeće pakete:

Nakon pokretanja apt-get update za ažuriranje vašeg lokalnog popisa paketa, moći ćete instalirati te pakete jednom apt-get install naredbom:

Nakon pokretanja gornje naredbe, od vas će se tražiti da instalirate ove pakete i neke druge ovisnosti. Pritisnite 'y' nakon čega slijedi ENTER za nastavak i slijedite ostale upute za postavljanje administrativne lozinke za MySQL.

To će vam omogućiti instaliranje minimalnog skupa PHP proširenja potrebnih za korištenje PHP-a s MySQL-om.



Značajke i prednosti Linux OS-a

Besplatno.

Pouzdanost. Ispravan rad hardvera vašeg računala omogućit će Linuxu da radi godinama bez ponovnog pokretanja i zamrzavanja. A tipka Reset nikad neće biti potrebna.

Sigurnost. Linux je gotovo bez virusa. Sama konstrukcija operativnog sustava isključuje rad zlonamjernih programa.

Otvoreni izvor. To omogućuje korištenje i izmjenu koda po želji.

Glavne prednosti Apachea su pouzdanost i fleksibilnost konfiguracije. Omogućuje vam povezivanje vanjskih modula za pružanje podataka, korištenje DBMS za ovjera korisnicima, mijenjati poruke o pogreškama itd.

Fleksibilnost MySQL DBMS-a osigurava podrška za veliki broj tipova tablica: korisnici mogu odabrati obje vrste tablica MojISAM, podržava pretraživanje cijelog teksta i tablice InnoDB, koji podržavaju transakcije na razini pojedinačnog zapisa. Štoviše, MySQL dolazi s posebnom vrstom tablice EXAMPLE koja pokazuje kako stvoriti nove vrste tablica. Zahvaljujući otvorenoj arhitekturi i GPL licenciranju, MySQL bazi podataka stalno se dodaju nove vrste tablica.

php- skriptni jezik opće namjene, intenzivno se koristi za razvoj web aplikacija. Trenutno podržava velika većina hosting provideri i jedan je od vodećih među jezicima koji se koriste za stvaranje dinamičke web stranice .

3. Web aplikacija. Uzorak dizajna Model-View-Controller.

Uzorak dizajna je arhitektonski konstrukt koji je rješenje problema dizajna unutar nekog konteksta koji se često pojavljuje. Tradicionalno, OOP prikazuje odnose i interakcije između klasa ili objekata, bez specificiranja koje će se konačne klase ili aplikacijski objekti koristiti.

Model-View-Controller. MVC obrazac dizajna razdvaja podatke aplikacije, korisničko sučelje i upravljačku logiku u tri odvojene komponente—model, pogled i kontroler—tako da se svaka komponenta može neovisno mijenjati. Ovaj je obrazac prvi put korišten u okviru razvijenom za jezik Smalltalk kasnih 1970-ih. Od tada igra temeljnu ulogu u većini UI okvira. To je iz temelja promijenilo način na koji gledamo na dizajn aplikacija.

Model je odraz stvarnosti, uzimajući u obzir svojstva potrebna za rješavanje problema. Model uključuje logiku za rješavanje glavnog zadatka (poslovnu logiku):

●spremanje, brisanje, ažuriranje podataka aplikacije (CRUD ili vanjske web usluge);

●enkapsulacija cijele logike aplikacije (potrebno je izbjegavati "debele" kontrolere, tj. ne možete staviti dio poslovne logike u kontroler ili pogled).

CRUD - Stvaranje, čitanje, ažuriranje, brisanje.

Model Opisuje podatke i njihovo upravljanje, a često se naziva i poslovnom logikom aplikacijskog programa, tj. njegovu samu srž. Pogled Opisuje što korisnik vidi i s čime komunicira u aplikaciji. Kontroler Služi kao posrednik između modela i pogleda.
Glavni mehanizam koji implementira View-dio predloška (ali ne identičan!) je mehanizam predložaka (Template Engine).

Interakcija MVC elemenata

Svaki element u MVC uzorku komunicira s ostalima na vrlo specifične načine. Komunikacija se provodi nizom događaja koji se obično pokreću interakcijom korisnika s aplikacijom. Redoslijed događaja izgleda ovako:

  1. Korisnik stupa u interakciju s elementom sučelja (na primjer, klikne na gumb u prikazu).
  2. Pogled šalje događaj klika kontroleru da odluči kako postupiti s klikom.
  3. Kontrolor mijenja model na temelju onoga što odluči o pritisnutom gumbu.
  4. Model obavještava pogled da se stanje modela promijenilo.
  5. Pogled čita informacije o stanju u modelu i mijenja se sam.

4. Web aplikacija. mehanizam za predloške.

Program za izradu predložaka (na webu) je softver koji vam omogućuje korištenje html predložaka za generiranje konačnih html stranica. Glavna svrha korištenja predložaka je odvojiti prezentaciju podataka od izvršnog koda. Često je to potrebno kako bi se osigurala mogućnost paralelnog rada programera i dizajnera izgleda. Korištenje mehanizama za izradu predložaka često poboljšava čitljivost koda i mijenja izgled kada cijeli projekt radi jedna osoba.

Korištenje predložaka često se poistovjećuje s MVC paradigmom. Ovi pojmovi su povezani, ali ne i identični.

Bit šablona je odvojiti okvir stranice od programskog koda. Okvir stranice se postavlja u zasebnu tekstualnu datoteku (predložak), a na mjesta gdje je potrebno prikazati podatke postavljaju se posebne pseudovarijable. Skripta učitava traženi predložak, zamjenjuje pseudovarijable u njemu odgovarajućim podacima i ispisuje.

Prednosti korištenja predložaka pri generiranju koda HTML stranice:

· Prvo, čistoća koda. Programski kod ne sadrži HTML kod pa je lako čitljiv. U isto vrijeme, predložak sadrži samo HTML kod, koji pokazuje gdje i koji podaci su umetnuti (za ovo, dajmo smislena imena pseudo-varijablama).

· Drugo, odvajanje programa i HTML koda omogućuje neovisni razvoj motora i dizajna. Da biste nešto promijenili u izgledu gotove stranice, dovoljno je unijeti izmjene u odgovarajući predložak, a ne morate imati programerske vještine.

· Stranica može imati nekoliko dizajna. Da biste potpuno promijenili dizajn web mjesta, jednostavno promijenite put do mape predložaka.

Prednosti:

· Potpuno odvajanje izlaza od logike aplikacije;

· Sandbox mod;

· Uredan izgled logičkih blokova ili izlaznih naredbi;

Prenosivost između platformi (jezika) - tj. parser predloška može biti napisan u bilo čemu;

Jezik predloška je razumljiv dizajneru izgleda;

O vrlinama

S obzirom na pitanje odvajanja logike aplikacije od izlaza, možemo reći da se odvajanje logike od izlaza primjenjuje u razvoju mreža-uglavnom aplikacije samo kada se koristi MVC uzorak. Uvjerite se sami, jest, svi primjeri korištenja odvajanja predložaka i logike prikazani su u kontekstu MVC.

Ne može se složiti da je stvarno prikladno koristiti konstrukcije unutarnje izolirane logike predloška, ​​bez obzira na platformu ( php, ROR, Java), koji će analizirati te predloške i ispuniti ih podacima te ih prikazati korisniku. Osim toga, ovo osigurava da programeri ne koriste logiku aplikacije ili čak SQL upite u predlošku.

Način sandboxa je koristan kada korisniku, uređivaču predložaka, trebate dati ograničene mogućnosti sintakse. Na primjer, to vrijedi za uslugu bloga, gdje korisnici samostalno objavljuju materijale koristeći html oznake i specifične konstrukcije usluge koja se koristi.

5. Web aplikacija. Relacijske baze podataka.

Relacijska baza podataka zbirka je međusobno povezanih tablica, od kojih svaka sadrži informacije o objektima određene vrste. Redak tablice sadrži podatke o jednom objektu (npr. proizvod, kupac), a stupci tablice opisuju različite karakteristike tih objekata - atribute (npr. naziv, šifra proizvoda, podaci o kupcu). Zapisi, odnosno redovi tablice, imaju istu strukturu - sastoje se od polja koja pohranjuju atribute objekta. Svako polje, odnosno stupac opisuje samo jednu karakteristiku objekta i ima strogo definiran tip podataka. Svi zapisi imaju ista polja, samo prikazuju različita informacijska svojstva objekta.

U relacijskoj bazi podataka svaka tablica mora imati primarni ključ, polje ili kombinaciju polja koja jedinstveno identificira svaki red u tablici. Ako se ključ sastoji od nekoliko polja, naziva se složenim. Ključ mora biti jedinstven i jedinstveno identificirati unos. Pojedinačni unos može se pronaći prema vrijednosti ključa. Ključevi se također koriste za organiziranje informacija u bazi podataka.

Tablice relacijske baze podataka moraju ispunjavati zahtjeve relacijske normalizacije. Normalizacija odnosa je formalni aparat ograničenja na formiranje tablica, koji vam omogućuje uklanjanje dupliciranja, osigurava dosljednost onih pohranjenih u bazi podataka i smanjuje troškove rada za održavanje baze podataka.

Neka se kreira tablica Student koja sadrži sljedeća polja: broj grupe, ime i prezime, matični broj, datum rođenja, naziv specijalnosti, naziv fakulteta. Takva organizacija pohrane informacija imat će brojne nedostatke:

dupliciranje informacija (naziv specijalnosti i fakulteta se ponavlja za svakog studenta), stoga će se volumen baze podataka povećati;

· postupak ažuriranja podataka u tablici otežan je potrebom uređivanja svakog zapisa tablice.

Normalizacija tablice osmišljena je za rješavanje ovih nedostataka. Dostupno tri normalna oblika odnosa.

Prvi normalni oblik. Relacijska tablica reducira se na prvi normalni oblik ako i samo ako niti jedan od njezinih redaka ne sadrži više od jedne vrijednosti u bilo kojem od svojih polja i nijedno od njezinih ključnih polja nije prazno. Dakle, ako želite dobiti podatke iz tablice Student po imenu studenta, tada polje Puno ime treba podijeliti na dijelove Prezime, Ime, Otac.

Drugi normalni oblik. Relacijska tablica je definirana u drugom normalnom obliku ako zadovoljava zahtjeve prvog normalnog oblika i sva njena polja koja nisu uključena u primarni ključ u potpunosti funkcionalno ovise o primarnom ključu. Za dovođenje tablice u drugu normalnu formu potrebno je odrediti funkcionalnu ovisnost polja. Funkcionalna ovisnost polja je ovisnost u kojoj samo jedna vrijednost opisnog atributa odgovara određenoj vrijednosti ključnog atributa u instanci informacijskog objekta.

Treći normalni oblik. Tablica je u trećem normalnom obliku ako zadovoljava zahtjeve drugog normalnog oblika i nijedno od njezinih neključnih polja nije funkcionalno ovisno o drugim neključnim poljima. Na primjer, u tablici Student (Br. grupe, Puno ime, Br. razredne knjige, Datum rođenja, Ravnatelj) tri polja - Br. razredne knjige, Br. Broj skupine ovisi o broju evidencije, a voditelj ovisi o broju skupine. Kako bi se uklonila tranzitivna ovisnost, potrebno je prenijeti neka od polja tablice Student u drugu tablicu Grupe. Tablice će imati sljedeći oblik: Student (br. grupe, puno ime, br. razredne bilježnice, datum rođenja), grupa (br. grupe, voditelj).

S relacijskim tablicama moguće su sljedeće operacije:

· Spajanje tablica s istom strukturom. Rezultat je zajednička tablica: prvo prva, zatim druga (ulančavanje).

· Sjecište tablica s istom strukturom. Rezultat - odabrani su zapisi koji se nalaze u objema tablicama.

· Oduzimanje tablica s istom strukturom. Rezultat - odabrani su zapisi koji nisu u subtrahendu.

· Uzorak (horizontalni podskup). Rezultat - odabiru se zapisi koji zadovoljavaju određene uvjete.

· Projekcija (vertikalni podskup). Rezultat je relacija koja sadrži neka od polja iz izvornih tablica.

· Kartezijev umnožak dviju tablica Unosi u rezultirajućoj tablici dobiveni su ulančavanjem svakog unosa u prvoj tablici sa svakim unosom u drugoj tablici.

Relacijske tablice mogu biti povezane jedna s drugom, tako da se podaci mogu dohvatiti iz više tablica u isto vrijeme. Tablice su međusobno povezane kako bi se u konačnici smanjila veličina baze podataka. Odnos svakog para tablica je dat ako imaju iste stupce.

Postoje sljedeće vrste poveznica s informacijama:

· jedan na jedan;

jedan-prema-više

mnogi prema mnogima.

web aplikacija. NoSQL.

Jedno od značenja izraza "NoSQL" je odmak od relacijskog modela u korist specifičnijih (ili općenitijih) modela podataka. Na primjer, tradicionalno uspješni NoSQL sustavi su sustavi za pohranu para ključ-vrijednost kao što su Redis ili Memcache. Njihov model podataka je krajnje jednostavan - to je u biti asocijativno polje, gdje su ključevi tipa string, a vrijednosti mogu sadržavati bilo koje podatke. Kao i svaki asocijativni niz, takvi sustavi podržavaju ograničen skup podatkovnih operacija - čitanje vrijednosti po ključu, postavljanje vrijednosti ključa, uklanjanje ključa i njegove pridružene vrijednosti. Operacija "dobi popis ključeva" možda neće biti podržana na takvim sustavima.

Još jedan primjer uspješnih NoSQL sustava su pohrane dokumenata. Objekti u takvim spremištima obično su asocijativni nizovi slobodne strukture, odnosno ista “tablica” može pohraniti bitno različite objekte. Primjeri sustava ove klase su MongoDB i Cassandra. Ovisno o tome koji su podaci zapravo pohranjeni u određenoj bazi podataka, njezina izvedba može uvelike varirati. Na primjer, ako optimizirate takvu "tablicu" pohranjivanjem objekata istog tipa u nju.

Treći primjer specijaliziranih NoSQL sustava su baze podataka s grafovima. Oni su posebno prilagođeni za obradu specifične podatkovne strukture i obično za rad s velikom količinom podataka (jer standardna relacijska implementacija može biti sasvim dobra na malim količinama).

Vrlo važan primjer NoSQL sustava su obični datotečni sustavi poput Ext4 ili NTFS. Dizajnirani su za pohranjivanje objekata u hijerarhijskoj strukturi sa sadržajem slobodnog oblika. Same baze podataka, relacijske i NoSQL, obično koriste datotečne sustave za pohranu svog sadržaja, a ponekad interakcija između ova dva podsustava postaje važna u jednom ili drugom slučaju.

7. Web aplikacija. mogućnosti JavaScripta.

JavaScript je interpretirani programski jezik s objektno orijentiranim mogućnostima.

Sposobnosti

Izvorni kod na ovom jeziku može se pokrenuti ne samo u pregledniku, već i na strani poslužitelja ili iz naredbenog retka, ali mi ćemo razmotriti korištenje JavaScripta za web stranice. Moderni JavaScript je "siguran" programski jezik opće namjene. Ne pruža sredstva niske razine za rad s memorijom, procesorom, jer je izvorno bio namijenjen preglednicima koji to ne zahtijevaju.

Što se tiče ostalih značajki, one ovise o okruženju u kojem se izvodi JavaScript. U pregledniku, JavaScript može raditi sve što se odnosi na manipulaciju stranicom, interakciju s posjetiteljem i, donekle, s poslužiteljem:

· Dodajte razne animacijske efekte

Odgovarajte na događaje - upravljajte pokretima miša, pritiscima tipki s tipkovnice

· Provjerite unos podataka u polja obrasca prije slanja na poslužitelj, što zauzvrat uklanja dodatno opterećenje s poslužitelja

Stvaranje i čitanje kolačića, izdvajanje podataka o računalu posjetitelja

Detektirajte preglednik i, ovisno o pregledniku, učitajte željenu stranicu, posebno dizajniranu za ovaj preglednik

Promijenite sadržaj HTML elemenata, dodajte nove oznake, promijenite stilove

Ograničenja

· JavaScript ne može zatvoriti prozore i kartice koji nisu njime otvoreni

Nije moguće zaštititi izvorni kod stranice i spriječiti kopiranje teksta ili slika sa stranice

· Ne može postavljati zahtjeve između domena, pristupati web stranicama koje se nalaze na drugoj domeni. Čak i kada se stranice s različitih domena prikazuju u isto vrijeme u različitim karticama preglednika, JavaScript kod koji pripada jednoj domeni neće imati pristup informacijama o web stranici s druge domene. Time se jamči sigurnost privatnih informacija koje mogu biti poznate vlasniku domene čija je stranica otvorena u sljedećoj kartici

· Nema pristup datotekama koje se nalaze na računalu korisnika, te pristup izvan same web stranice, jedina iznimka su kolačići, koji su male tekstualne datoteke koje JavaScript može pisati i čitati.

Općenito, možemo reći da je dizajniran na takav način da otežava izvršavanje zlonamjernog koda.

8. Web aplikacija. Izvršna okolina. Instalacija i konfiguracija web poslužitelja.

Apache poslužitelj - višeplatformski web poslužitelj, daleko je najčešći, jer. instaliran na većini hostinga i lakše ga je postaviti nego, na primjer, web poslužitelj nginx.

Također, apache poslužitelj dolazi u verzijama kao što su denwer i xampp, tako da je php apache vrlo popularna verzija. Instaliranje apache windowsa, linux linkovi ispod:

· instalacija apache linuxa

· Instaliranje apache windowsa

Kako radi Apache poslužitelj:

· Ciklički prihvaća zahtjeve

· Obrada zahtjeva

· Stvara sadržaj

Daje sadržaj korisniku

Apache web ima mehanizam virtualnog hosta koji vam omogućuje distribuciju više naziva domena na jednu IP adresu. Svaki naziv domene može imati vlastite postavke, apache postavke se prave u .htaccess datoteci, koja mora biti smještena u korijenskom direktoriju vaše stranice.

Zadani Apache port je 80. Mogući su problemi s nekim programima, posebice sa skypeom. Da biste riješili problem, morate isključiti korištenje porta 80 u skypeu. Ako je korišteni apache port 80 zauzet, tada možete promijeniti ovu vrijednost u postavkama web poslužitelja.

Na apacheu je stranica s puno statičkih (slika) sporija od stranice na njoj nginx. Ponekad se takav paket smatra apache poslužiteljem + nginx, nginx se koristi za vraćanje statike.

Za php programiranje potrebno je instalirati sljedeće komponente:

· apache ili drugog web poslužitelja;

mysql (+ phpmyadmin za rad s mysqlom putem web sučelja).

Postoje dvije opcije za instaliranje ovih komponenti:

instalacija gotovog paketa (xampp, denwer itd.)

Instalacija svih paketa pojedinačno

U prvom slučaju, sve je vrlo jednostavno, preuzmite paket i instalirajte. Ali s ručnom instalacijom, neće biti problema s ažuriranjem verzija, jer. već ćete znati kako radi i kako se instalira. Također je manja vjerojatnost da ćete imati problema s paketima.

Ručna instalacija:

preuzeti i instalirati apache na veza

preuzmite i instalirajte mysql referenca

kao dodatak se može instalirati phpmyadmin, za rad s mysqlom putem web sučelja

Nakon instalacije, kao i nakon bilo kakvih promjena, morate se ponovno pokrenuti apache. Idite na "start - upravljanje - administracija - usluge" i tamo pronađite Apache, kliknite desnom tipkom miša i odaberite ponovno pokretanje u kontekstnom izborniku.

Da biste radili, morate dodati virtualni host, možete pročitati kako to učiniti ovdje.

Runtime

Program eTBManager je JBOSS poslužiteljska aplikacija koja radi s podacima kojima upravlja MySQL poslužitelj baze podataka. Korisnici rade s programom iz web preglednika (IE, FireFox, Crhome itd.).

Program je instaliran na jednom fizičkom poslužitelju (računalu). Operativni sustav Windows 2008 server sa svim instaliranim SP-om.

Kako biste osigurali rad programa, instalirajte i konfigurirajte softver na poslužitelju sljedećim redoslijedom:

1. Baza podataka

1. MySQL poslužitelj za upravljanje bazom podataka.

2. eTBManager baza podataka.

2. Primjena

1. JBOSS Java Application server za pokretanje programa eTBManager.

2. eTBManager softver.

3. Web poslužitelj

1. Apache HTTPD za primanje i obradu web zahtjeva od korisnika.

2. Mod_jk konektor za pružanje interakcije između Apache HTTPD i JBOSS.

Sve što vam je potrebno za instalaciju programa, uključujući najnoviju verziju softvera i bazu podataka za obuku, možete dobiti na adresi ftp:.ua anonimni pristup. Budući da se koristi besplatni softver, njegove najnovije verzije mogu se nabaviti na web stranicama proizvođača. Najnovije verzije sadrže ispravke grešaka i mogu biti stabilnije, ali mi nismo testirali njihovu kompatibilnost.

9. Razvoj web-tehnologija. Web 1.0, Web 2.0.

Web 1.0 je bila prva generacija World Wide Weba koja je koristila TPC/IP internetske protokole. Ako se u eri prije interneta provodila samo linearna veza točka-točka, onda se pojavom weba (informacijskog weba) formira mrežna morfologija koja korisniku omogućuje slobodno “surfanje” informacijama. prostora, primajući sve informacije akumulirane u resursima mreže Web 1.0.

Ovo razdoblje razvoja Weba karakterizira stvaranje statičnih stranica s HTML hipertekstualnim vezama, pasivni prijenos informacija od poslužitelja do klijenta i jednosmjerna priroda protoka informacija:

· tijek ručnog prikupljanja informacija od kreatora izvora do poslužitelja;

· tijek pasivne distribucije informacija od poslužitelja do klijenata.

To je razdoblje nastanka i brzog razvoja elektroničkih knjižnica, internetskih informacijskih kataloga.

Web 2.0 je interaktivna "sintaksa" weba, kada su dijaloški sustavi resurs - korisnik, klijent - poslužitelj postali široko rasprostranjeni.

To je web orijentiran na usluge, koji je razvio interaktivni informacijski proces između korisnika i poslužitelja, tražilica i e-trgovine.

Generiranje protoka informacija prepušteno je u ruke samih korisnika, a vlasnici stranica uglavnom su bili ograničeni na stvaranje i održavanje infrastrukture.

Sustavi za pronalaženje informacija - njihovi hiper-poslužitelji, roboti i korisnička sučelja postali su srž weba. Njihovi algoritmi za pretraživanje, sortiranje, rangiranje i sučelje temeljili su se na frekvencijskom raščlanjivanju informacija. Roboti tražilica su aktivni izviđači i pasivni mrežni moderatori zbog primarnog indeksiranja informacija.

10. Razvoj web-tehnologija. Web 3.0, semantički web.

Web 3.0 je semantički web – “dio globalnog koncepta razvoja Interneta, čija je svrha ostvariti mogućnost strojne obrade informacija dostupnih na World Wide Webu. Glavni naglasak koncepta je na radu s metapodacima koji nedvosmisleno karakteriziraju svojstva i sadržaj resursa World Wide Weba, umjesto trenutno korištene analize tekstualnih dokumenata. ”To jest, to je vrsta mreže preko weba koja sadrži metapodatke o resursima World Wide Weba i postoji paralelno s njima. Na temelju automatiziranih informacijskih procesa između poslužitelja.

To postaje moguće zahvaljujući uvođenju semantičkih alata: od semantičkog označavanja teksta izvora do inteligentnih algoritama koji razumiju značenje ljudskih fraza.

Pojavilo se mrežno, "cloud" računalstvo, preuzimajući kontrolu nad privatnim informacijskim resursima unutar hiper-poslužitelja Weba.

Tehnologije za izradu web aplikacija postale su toliko sofisticirane da se ljestvica za korisnike i kreatore informacijskih resursa spustila gotovo na nulu, a da od njih nije potrebno nikakvo znanje iz područja informacijske tehnologije.

Same mrežne tehnologije dižu se na razinu automatski funkcionalnih mrežnih on-line aplikacija: sučelja za stvaranje izvora, semantičkih prevoditelja, izmjenjivača vijesti, analizatora pretraživanja i automatskih graditelja ciljnih baza podataka.

Osim internih međuposlužiteljskih sučelja, pojavljuju se neljudska sučelja s fizičkim svijetom: automatsko prikupljanje multimedijskih informacija, robotsko-programska analiza informacija iz vanjskog svijeta, apsorpcija tih informacija od strane hiper-poslužitelja Weba. Roboti prelaze u fazu aktivnog moderiranja sadržaja, cenzora koji određuju što se smije objaviti na Webu 3.0, a što ne..

11. Razvoj web-tehnologija. Web usluge.

Web servis, web servis (engleski web service) - softverski sustav identificiran web adresom sa standardiziranim sučeljima. Web servisi mogu komunicirati međusobno i s aplikacijama trećih strana putem poruka temeljenih na određenim protokolima (SOAP, XML-RPC, REST itd.). Web usluga je jedinica modularnosti kada se koristi uslužno orijentirana arhitektura aplikacije.

U svakodnevnom životu web usluge nazivaju se uslugama koje se pružaju na Internetu. U ovoj upotrebi, pojam treba razjasniti odnosi li se na pretraživanje, web poštu, pohranu dokumenata, datoteka, knjižnih oznaka itd. Ove web usluge mogu se koristiti bez obzira na računalo, preglednik ili internetsku pristupnu točku.

REST (Representational state transfer) je stil softverske arhitekture za distribuirane sustave kao što je World Wide Web koji se obično koristi za izgradnju web usluga. Pojam REST skovao je 2000. godine Roy Fielding, jedan od autora HTTP protokola. Sustavi koji podržavaju REST nazivaju se RESTful sustavi.

Općenito, REST je vrlo jednostavno sučelje za upravljanje informacijama bez upotrebe dodatnih unutarnjih slojeva. Svaka informacija je jedinstveno identificirana globalnim identifikatorom kao što je URL. Svaki URL zauzvrat ima strogo definiran format.

Korištenje REST-a za izgradnju web usluga.

Kao što znate, web servis je aplikacija koja radi na World Wide Webu i kojoj se pristupa preko HTTP protokola, a informacije se razmjenjuju u XML formatu. Stoga će format podataka koji se prenose u tijelu zahtjeva uvijek biti XML.

Za svaku jedinicu informacije (info) definirano je 5 akcija. Naime:

Dobiti informacije/ (Indeks)- Dobiva popis svih objekata.

GET /info/(id) (Pogled)- dobiva potpunu informaciju o objektu.

PUT /info/ ili POST /info/ (Stvoriti)- stvara novi objekt.

IZBRIŠI /info/(id) (Izbrisati)– briše podatke s identifikatorom (id).
Kao što vidite, REST arhitektura je vrlo jednostavna za korištenje. Po vrsti dolaznog zahtjeva možete odmah odrediti što radi bez razumijevanja formata (za razliku od SOAP-a, XML-RPC). Podaci se prenose bez upotrebe dodatnih slojeva, pa se REST smatra manje resursno intenzivnim, budući da nije potrebno analizirati zahtjev da bi se razumjelo što treba učiniti i nema potrebe za prevođenjem podataka iz jednog formata u drugi.

12. HTTP protokol. Struktura hipertekstualnog dokumenta. Osnovni standardi.

HTTP je široko korišten protokol za prijenos podataka, izvorno namijenjen za prijenos hipertekstualnih dokumenata (to jest, dokumenata koji mogu sadržavati veze koje vam omogućuju navigaciju do drugih dokumenata).

HTTP protokol pretpostavlja korištenje strukture prijenosa podataka klijent-poslužitelj. Klijentska aplikacija formira zahtjev i šalje ga poslužitelju, nakon čega poslužiteljski softver obrađuje zahtjev, generira odgovor i šalje ga natrag klijentu. Nakon toga klijentska aplikacija može nastaviti slati druge zahtjeve koji će biti obrađeni na isti način.

Struktura hipertekstualnog dokumenta.

Pod, ispod hipertekstualni dokument razumjeti tekst koji sadrži posebne elemente, kada mu se pristupi, vrši se prijelaz na drugi dokument. Ovi elementi se nazivaju hiperveze a može se izvesti u obliku fragmenta teksta, gumba, slike i slično. Veze se također mogu koristiti za navigaciju do različitih odjeljaka istog dokumenta (u ovom slučaju, poveznica se zove sidro ili sidro).

Počnimo sa strukturom HTML dokumenta. U jednostavnom obliku može se napisati na sljedeći način:







Dokument spremimo pod imenom index.html i otvorimo ga u pregledniku. Što vidimo? Ništa - prazna stranica. Analizirajmo ovaj primjer i počnimo ga ispunjavati.

HTML elementi su oznake. Oznake su ključne riječi u uglastim zagradama. Oznake mogu biti pojedinačne (na primjer, vodoravna traka


) ili u paru. U drugom slučaju, element se sastoji od uvodne oznake (na primjer, ) i završnu oznaku (). Učinak elementa proteže se na područje između početne i završne oznake.

Cijeli hipertekstualni dokument sadržan je unutar html elementa (tj. između i). Ovaj element sadrži još dva elementa - naslov dokumenta (element head), koji sadrži servisne informacije o dokumentu, i tijelo dokumenta (element ), koji sadrži informacije prikazane u prozoru preglednika.

Gornja struktura dovoljna je za izradu jednostavnih HTML dokumenata za osobnu upotrebu, ali ne zadovoljava standard. Glavna greška je što nije navedeno u kojem je standardu dokument prikazan. Standard se ispisuje u prvom redu prije oznake . Pogledajmo koji glavni standardi postoje.

Za HTML 4.01

Za XHTML 1.0

Za XHTML 1.1

Strict, Transitional, Frameset - označava strogu (izgled ne smije sadržavati odstupanja od standarda) specifikaciju, prijelaznu (pogreške se zanemaruju, za lutke) i za stranice koje koriste okvire (postoje li još uvijek takvi?). Određivanje vrste dokumenta razlikuje velika i mala slova, pa je najbolje kopirati ga iz ovdje danih primjera kako biste izbjegli pogreške.

Postoje i drugi standardi, da bismo izradili predložak, usredotočit ćemo se na prvi s popisa (možemo lako izmijeniti predložak za našu vrstu dokumenta).

Prijeđimo na odjeljak naslova. Određuje naslov stranice (element naslova), META podatke i druge servisne informacije. Ovdje ćemo se usredotočiti samo na naslov, razmotrit ćemo ostale elemente u relevantnim temama (napomenut ćemo samo dva elementa odgovorna za kodiranje i CSS).

Dodajte liniju unutar elementa glave Struktura dokumenta i otvorite stranicu u pregledniku. U gornjoj gornjoj liniji preglednika vidimo ono što smo naveli unutar naslovnog elementa. Osim toga, ove informacije koristi preglednik za prepoznavanje poveznica kada stranicu označite knjižnom oznakom.

Za ispravan prikaz stranice moramo odrediti u kojem kodiranju je napisan naš dokument. Da biste to učinili, dodajte liniju

Ovdje navodimo standardno Windows kodiranje windows-1251. Naravno, to nije dovoljno naznačiti, potrebno je da sam dokument bude upisan u ovom kodiranju. Standardno je i utf-8 kodiranje (unicode, podržava prošireni skup znakova).

Također ćemo odrediti format za kaskadne listove stilova pomoću linije

Tijelo dokumenta (element tijela) sadrži vizualne informacije, tj. onaj koji će biti izravno prikazan u prozoru preglednika. Dodajmo redak "Šifra dokumenta sadrži ispravnu strukturu".

Dakle, konačna stroga verzija (koju možemo koristiti kao predložak za druge dokumente) je sljedeća:

Struktura dokumenta Šifra dokumenta sadrži ispravnu strukturu

Kao rezultat, dobili smo predložak dokumenta za naš odabrani standard.

HTML5: Za sve dokumente.

HTML 4.01: Stroga HTML sintaksa. Prijelazna HTML sintaksa. Okviri se koriste u HTML dokumentu.

XHTML 1.0: Striktna XHTML sintaksa. Prijelazna XHTML sintaksa. Dokument je napisan u XHTML-u i sadrži okvire. XHTML mobilni profil, dodaje specifične elemente za mobilne telefone.

XHTML 1.1: Ova definicija nema podjelu na vrste, sintaksa je ista i podložna jasnim pravilima.

Element namijenjen je označavanju vrste tekućeg dokumenta - DTD (definicija vrste dokumenta, opis vrste dokumenta). Ovo je potrebno kako bi preglednik razumio kako interpretirati trenutnu web stranicu, jer HTML postoji u nekoliko verzija, a postoji i XHTML (EXtensible HyperText Markup Language, Extended HyperText Markup Language), koji je sličan HTML-u, ali se razlikuje u sintaksi. Kako se preglednik "ne bi zbunio" i shvatio po kojem standardu treba prikazati web stranicu, potrebno je u prvoj liniji koda postaviti .



srednji skup (7)

L za Linux operativni sustav A za Apache web poslužitelj M za Mysql bazu podataka p za php za skripte i php module

U LAMP sustavu možemo ugostiti php programe i cgi programe.

npr.: U ubuntu apt-get instalirajte apache2 za web-poslužitelj apt-get instalirajte mysql-poslužitelj php5-mysql za bazu podataka i php apt-get instalirajte php5 i došao do vašeg web-poslužitelja http://localhost

Može li mi netko reći što znači pojam LAMP Stack? Vidio sam ovu vezu u oglasima za posao, ali ne razumijem u potpunosti njezino značenje.

Osjećam da u svom razvoju dosta koristim LAMP, ali kad čujem "stack" osjećam se kao da ne koristim LAMP okruženje kao što bih trebao.

Znam što znači LAMP, samo sam htio znati što se podrazumijeva pod izrazom "skup".

LAMP Srednje L = LINUX (OS) A = APACHE (web poslužitelj) M = MySQL (baza podataka) P = PHP (jezik)

Ukratko za Linux, Apache, MySQL i PHP, razvojnu platformu otvorenog koda, koja se naziva i web stack, koja koristi Linux kao operativni sustav, Apache kao web poslužitelj, MySQL kao RDBMS i PHP kao objektno orijentirani skriptni jezik . Perl ili Python često zamjenjuju PHP.

Za one koji ovo tek uče kako bi znali što je stog, pojam "skup" odnosi se na "skup rješenja". Skup rješenja jednostavno je potpuni skup softvera za rješavanje određenog problema, obično kombiniran da pruži potrebnu platformu ili infrastrukturu. Ovaj izraz je nadređen i za "poslužiteljski stog" i za "web stog". Sukladno tome, LAMP stack je specifičan i potpun skup programa posebno dizajniran za posluživanje dinamičkog sadržaja putem Interneta.

Dodatne informacije:

Operacijski sustav Linux

Web poslužitelj APACHE

Baza podataka MySQL

Pojam Stack znači Stack! To znači imate li iskustva s tim tehnologijama/infrastrukturom ili ne. Budući da svi dolaze zajedno u LAMP paket koji možete preuzeti i instalirati, zovu ga hrpa.

LAMP stack temelj je za web stranice hostirane na Linuxu, to je softverski snop Linux, Apache, MySQL i PHP (LAMP).

LAMPA Stalak za: -

  1. L (LinexOS)
  2. A(Apache[ Poslužitelj lokalnog klijenta ])
  3. M (MySQL baza podataka)
  4. P (PHP)

LAMP Stack zbirka je programa otvorenog koda koje možete koristiti za izradu web stranica i web aplikacija. LAMP je akronim i ti se skupovi obično sastoje od Linux operativnog sustava, Apache HTTP poslužitelja, MySQL sustava za upravljanje relacijskom bazom podataka i PHP programskog jezika.

    linux: operativni sustav (OS) čini naš prvi sloj. Linux postavlja temelje za model hrpe. Svi ostali slojevi rade povrh ovog sloja. Linux je sloj najniže razine i pruža operativni sustav. Linux zapravo pokreće svaku od ostalih komponenti. Međutim, niste ograničeni samo na Linux; možete jednostavno pokrenuti svaku od ostalih komponenti u Microsoft®; Windows®, Mac OS X ili UNIX® ako želite.

    apache: drugi sloj se sastoji od softvera web poslužitelja, obično Apache web poslužitelja. Ovaj sloj nalazi se na vrhu Linux sloja. Web poslužitelji odgovorni su za prevođenje s web preglednika na njihovu ispravnu web stranicu. Apache pruža mehanizam za dostavljanje web stranice korisniku. Apache je stabilan, kritičan poslužitelj i pokreće više od 65 posto svih web stranica na Internetu. PHP komponenta je zapravo unutar Apachea i dijelite Apache i PHP za stvaranje svojih dinamičkih stranica.

    MySQL: Naša treća razina su baze podataka. MySQL pohranjuje podatke koji se mogu upitati prilikom skriptiranja za izradu web stranice. MySQL se obično postavlja na vrh Linux sloja zajedno s Apacheom/slojem 2. U vrhunskim konfiguracijama, MySQL se može prenijeti na zasebni host poslužitelj. MySQL pruža stranu za pohranu s LAMP sustavom. Uz MySQL, imate pristup bazi podataka koja je vrlo jednostavna za korištenje i prikladna za pokretanje velikih i složenih web stranica. U vašoj web-aplikaciji, svi vaši podaci, proizvodi, računi i druge vrste informacija bit će u ovoj bazi podataka u formatu koji možete jednostavno postavljati upitima pomoću SQL jezika.

    PHP: Sjedenje iznad njih je naša četvrta i posljednja razina. Skripta se sastoji od PHP-a i/ili drugih sličnih web programskih jezika. Web stranice i web aplikacije rade na ovoj razini. PHP je jednostavan i učinkovit programski jezik koji predstavlja ljepilo za svaki drugi dio LAMP sustava. Koristite PHP za pisanje dinamičkog sadržaja koji može pristupiti podacima u MySQL bazi podataka i nekim značajkama koje nudi Linux.

LAMP stog možemo vizualizirati ovako: Više informacija

Staklo svjetiljke znači L inux A pache M ysql P HP

postoji i srednji stog M ongoDB E xpressJS A ngularJS N odeJS


LAMP stack (Linux/apache/mysql/php) najpopularniji je skup tehnologija među programerima za izradu web stranica. Na temelju našeg iskustva razvili smo nekoliko gotovih VDS slika za brzu implementaciju mini hostinga fokusiranog na LAMP. Opće načelo u razvoju ovih slika bilo je osigurati ujednačenost postavki tako da se web-mjesta smještena na jednom VDS-u mogu lako premjestiti na drugi VDS, čak i na temelju druge slike (drugog skupa osnovnog softvera) i svih osnovnih zadataka administriranje bilo kojeg VDS-a na temelju bilo koje od predloženih slika izvedeno je na isti način. Također smo odlučili da je izuzetno važno da dodavanje novih stranica na poslužitelj nije ništa teže od stvaranja mape s nazivom stranice. Kao rezultat toga, stvorili smo distribucije na temelju Debian Wheezy, Ubuntu Precise Pangolin i Ubuntu Trusty Tahr sa sljedećim skupom softvera:

  • Nginx + Apache2 + PHP 5.4 (FastCGI) + MariaDB 5.5 + phpMyAdmin + sftp
  • Nginx + Apache2 + PHP 5.4 (mod_php) + MariaDB 5.5 + phpMyAdmin + sftp
  • Nginx + PHP 5.4 (php-fpm) + MariaDB 5.5 + phpMyAdmin + sftp

1. Opći opis gotovih slika

Sve slike izgrađene su na temelju toga da je glavni i jedini korisnik u sustavu u čije ime rade skripte i izvode se sve druge radnje web korisnik. Na sličan način kao Ubuntu, slike temeljene na Debianu zabranjuju (blokiraju) izravan root pristup i umjesto toga dopuštaju web korisniku izvršavanje bilo koje naredbe s privilegijama superkorisnika putem sudoa. Dakle, da biste ušli u novostvoreni VDS putem ssh-a, morate pokrenuti naredbu:

$ ssh [e-mail zaštićen]

Osim ssh prijave, podržan je i sftp protokol. Povezivanje se ostvaruje istom web prijavom i lozinkom koja je generirana prilikom kreiranja VDS-a ili pomoću ključa koji je također naveden prilikom kreiranja VDS-a.

Nakon prijave, bit ćete u mapi /var/www/web, koja je glavna mapa za naše VDS slike. Ovdje ćete pronaći mapu web stranica - to je mapa u kojoj će vaše web stranice biti hostirane. Za dodavanje nove stranice dovoljno je unutar mape sites napraviti podmapu s nazivom nove stranice bez prefiksa www. . Više o tome u nastavku.

Apache će zapisivati ​​zapisnike za posjete vašim hostiranim stranicama u mapu /var/log/apache2, a nginx, ako je instaliran, u mapu /var/log/nginx. Ako PHP skripte naiđu na pogreške u svom radu, informacije o njima bit će zapisane u datoteku /var/www/web/php-errors.log

2. Dodavanje stranica

Dodavanje stranica- najčešće tražena operacija za masovni dijeljeni hosting, pa smo je pokušali maksimalno pojednostaviti. Da biste dodali novu web stranicu mycompany.ru na svoj poslužitelj, morate napraviti dva jednostavna koraka:

  1. U mapi /var/www/web/sites morate napraviti podmapu pod nazivom mycompany.ru , odnosno s nazivom hostirane domene bez www. . Unutar ove mape, ubuduće ćete morati učitati skripte vezane uz ovu stranicu.
  2. Putem uređivača DNS-a kod vašeg pružatelja usluga koji vam pruža uslugu parkiranja domene u DNS-u, morat ćete dodati A-zapise koji upućuju na ip-adresu vašeg VDS-a: jedan za naziv mycompany.ru, drugi za www.mycompany .ru.

Dodavanje pseudonima(alternativni naziv za vašu stranicu) je jednako jednostavna operacija. Ako trebate dodati pseudonim www.mycompany.ru na stranicu mycompany.ru, tada su vam potrebne samo dvije radnje:

  1. Napravite simboličku vezu (symlink): cd /var/www/web/sites && ln -s mycompany.ru www.mycompany.ru
  2. Stvorite A-zapise u DNS-u koji pokazuju na ip-adresu vašeg poslužitelja: za ime c www. i bez www.

Podsjećamo da uslugu parkiranja domena u dns-u za sve naše klijente pružamo besplatno i bez ograničenja. Upute za delegiranje domena na naše ns-servere nalaze se na poveznici.

3. Rad s MySQL (MariaDB)

Za novostvoreni VDS, MySQL root lozinka se nasumično generira. Možete saznati lozinku pomoću naredbe

sudo cat /root/.my.cnf

Ako želite raditi s MySQL-om iz konzole, tada će biti dovoljno pokrenuti naredbu sudo -H mysql bez parametara i odmah ćete biti prebačeni na MySQL konzolu bez potrebe za unosom lozinke. Ako vam ova postavka sustava ne odgovara, možete sigurno obrisati datoteku .my.cnf, nakon što pohranite lozinku koja je u njoj zapisana.

Datoteka s postavkama MySQL nalazi se na standardnom mjestu, ali za uređivanje su vam potrebna prava superkorisnika:

sudo nano /etc/mysql/my.cnf

Morate ponovno pokrenuti MySQL kako bi promjene stupile na snagu:

sudo service mysql restart

4. Postavljanje PHP-a i instaliranje ekstenzija

Budući da je standardni PHP iz Debian/Ubuntu repozitorija instaliran na sustavu, konfiguracija PHP-a i instalacija proširenja obavljaju se na standardni način za distribucije temeljene na debianu. Datoteka php.ini sastavljena je od nekoliko komponenti: od glavnog php.ini i od sadržaja direktorija conf.d. Za FastCGI verziju PHP-a, postavke se preuzimaju iz mape /etc/php5/cgi, za mod_php - iz mape /etc/php5/apache2, za CLI verziju (ovo je /usr/bin/php , tj. , verzija php-a koja se koristi za cron poslove i druge zadatke koji se izvode u konzoli) - /etc/php5/cli . Inačica php-fpm prema tome koristi php.ini iz mape /etc/php5/fpm.

Lako možete vidjeti koja su php proširenja instalirana na vašem sustavu pokretanjem sljedeće naredbe na konzoli poslužitelja:

$ dpkg -l | grep php

Popis dostupnih php ekstenzija možete pogledati naredbom:

$ apt-cache pretraživanje php5

Prije prvog pozivanja naredbi apt-cache/apt-get na svježe instaliranom sustavu, ne zaboravite pokrenuti sudo apt-get update .

Instalacija željenog proširenja s popisa vrlo je jednostavna. Recimo da želimo dodati XCache akcelerator u sustav. Odgovarajući paket će se zvati php5-xcache, a naredba za njegovu instalaciju, koja zahtijeva privilegije superkorisnika, bit će:

$ sudo apt-get instalirajte php5-xcache

Budući da php od verzije 5.4 zahtijeva eksplicitnu vremensku zonu u postavkama (date.timezone), UTC vremenska zona je postavljena prema zadanim postavkama. Ova postavka postavljena je u datoteci /etc/php5/apache2/conf.d/local.ini. Morate ga promijeniti prema svojim željama.

U svakom slučaju, ako imate pitanja o radu vašeg sustava na temelju naših gotovih slika, uvijek se možete obratiti našoj tehničkoj podršci.

5. Pokretanje Djanga pomoću uWSGI

Django (Django) je besplatni okvir koji vam omogućuje brz i učinkovit razvoj dinamičkih web aplikacija u Pythonu.

    Instalacija se vrši na način da ne ometa rad stranica koje se nalaze u /var/www/

    Radnje na poslužitelju izvode se u ime root korisnika.

Prikaži upute za instalaciju

5.1 Instaliranje paketa i pokretanje uWSGI

Instalirajte pakete potrebne za rad, a također odaberite uwsgi verziju iz pipa kao zadanu verziju:

apt-get update && apt-get install -y python-pip python-dev uwsgi-plugin-python uwsgi && pip install virtualenv virtualenvwrapper uwsgi && update-alternatives --install /usr/bin/uwsgi uwsgi /usr/local/bin/ uwsgi 80

Instalacija će trajati 2-3 minute, a instalirani paketi zauzimaju oko 300 MB na disku.

Kreirajmo korisnika u sustavu, prebacimo se na njega i dodamo varijable u njegov sistemski profil

Useradd -s /bin/bash -m -p $(pwgen -1 -N 1) project1 && su - project1 -c "echo "export WORKON_HOME=~/Env" >> ~/.bashrc && echo "source /usr/ lokalni/bin/virtualenvwrapper.sh" >> ~/.bashrc" && su-project1

Kreirajmo virtualno okruženje, instalirajmo django u njega i napravimo naš projekt

Cd ~ && mkvirtualenv firstsite && pip install django && django-admin.py startproject firstsite

Radi lakšeg ponovnog čitanja projekta, stvorit ćemo datoteku

Dodirnite ~/firstsite/touch_reload

Ubuduće će biti dovoljno izvršiti istu naredbu u ime korisnika project1 kako bi se poslala naredba uwsgi za ponovno čitanje konfiguracije projekta. Ovo može biti vrlo zgodno kada projekt razvija zasebni stručnjak bez root pristupa poslužitelju - administrator poslužitelja se neće morati svaki put prijaviti kao root da ponovno pokrene uwsgi.

Vratimo se na root korisničku sesiju pomoću tipkovničkog prečaca Ctrl + D .

Kreirajmo sada uwsgi konfiguracijsku datoteku za naš projekt

Uredi /etc/uwsgi/apps-enabled/firstsite.ini

I kopirajte ga u njega (nije potrebno mijenjati kopirani tekst):

Project = firstsite userhomedir = /home/project1 chdir = %(userhomedir)/%(project) home = %(userhomedir)/Env/%(project) modul = %(project).wsgi:aplikacijski procesi = 4 niti = 2 chown -socket=www-data uid=project1 gid=project1 vacuum=true touch-reload=%(userhomedir)/%(project)/touch_reload buffer-size=8192 listen=128 harakiri=300

Za spremanje u mcedit samo pritisnite F2 na tipkovnici.

Pokrenite uwsgi poslužitelj

/etc/init.d/uwsgi početak

5.2 Stvaranje konfiguracijske datoteke za nginx

Moramo saznati IP adresu poslužitelja. Može se vidjeti pokretanjem naredbe

Ime hosta -I

Kreirajmo konfiguracijsku datoteku za nginx

medit /etc/nginx/sites-available/firstsite

I ispunite ga sljedećim tekstom

Poslužitelj ( slušaj serverip:80; server_name sitenameru; lokacija = /favicon.ico ( access_log on; log_not_found off; ) lokacija /static/ ( root /home/project1/firstsite; ) lokacija / ( uključi uwsgi_params; uwsgi_pass unix:/// run/uwsgi/app/firstsite/socket; ) )

U ovoj konfiguracijskoj datoteci morat ćete promijeniti serverip u ip adresu vašeg poslužitelja, a sitenameru u naziv domene na kojoj će se otvoriti vaš projekt.

Aktivirajte novostvorenu konfiguracijsku datoteku i signalizirajte nginxu da ponovno pročita konfiguraciju

Ln -s /etc/nginx/sites-available/firstsite /etc/nginx/sites-enabled/ && nginx -s reload

Spreman! Ako zapis A u DNS-u za domenu sitenameru pokazuje na IP adresu poslužitelja, tada bi vaš projekt već trebao biti dostupan na sitenameru.

5.3 Optimiziranje prikaza statičkih datoteka

Kada se projekt učita i trebate optimizirati statičke datoteke, bit će dovoljno pokrenuti naredbe

Su - rad na projektu1 na prvom mjestu

Dodajte spominjanje lokacije statičkih datoteka na kraj datoteke firstsite/firstsite/settings.py

echo "STATIC_ROOT = os.path.join(BASE_DIR, "static/")" | tee -a ~/firstsite/firstsite/settings.py

Pokrenite skriptu za prikupljanje statičkih datoteka

~/firstsite/manage.py collectstatic

Za pokretanje skripte morate upisati yes.

  • Sergej Savenkov

    nekakva “škrta” recenzija ... kao da se negdje žuri