Apache ir bezmaksas atvērtā pirmkoda tīmekļa servera programmatūra, ko izmanto apm 40% vietņu visā pasaulē. Apache HTTP Server ir tā oficiālais nosaukums. To izstrādā un uztur Apache programmatūras fonds . Apache ļauj vietņu īpašniekiem apkalpot saturu tīmeklī. Tas ir iemesls, kāpēc tas ir pazīstams kā ' tīmekļa serveris .' Viena no uzticamākajām un vecākajām Apache tīmekļa servera versijām tika publicēta 1995. gadā.
Ja kāds vēlas apmeklēt kādu vietni, pārlūkprogrammas adreses joslā ievada domēna nosaukumu. Tīmekļa serveris atnesīs pieprasītos failus, darbojoties kā virtuālā piegādes persona.
Web servera nozīme
Pasta serveri, datu bāzes serveri, tīmekļa serveri, un failu serveri izmantot dažāda veida servera programmatūru. Visas šīs lietojumprogrammas var piekļūt daudziem fiziskajā serverī saglabātajiem failiem un izmantot tos daudziem mērķiem.
Tīmekļa serveru mērķis ir nodrošināt tīmekļa vietnes internetā. Lai sasniegtu šo mērķi, tas darbojas kā starpnieks starp klientu iekārtām un serveriem. Tas var izvilkt saturu caur serveri katram lietotāja pieprasījumam. Turklāt tas piegādā šo pieprasījumu tīmeklī.
Viens no svarīgākajiem jebkura tīmekļa servera uzdevumiem ir nodrošināt pakalpojumus dažādiem dažādiem tīmekļa lietotājiem vienlaikus. Tīmekļa serveri izpilda failus, kas norādīti cita veida programmēšanas valodās, piemēram, Java , Python , PHP , un daudzi citi. Tīmekļa serveri pārvērš šos failus statiskos HTML failos. Tas nodrošina pakalpojumus šiem failiem tīmekļa servera pārlūkprogrammā. Tīmekļa pārlūkprogrammu var definēt kā rīku, kas nodrošina pienācīgu klienta un servera saziņu.
Apache darbība
Apache nav nekāds fizisks serveris; tā ir programmatūra, kas tiek izpildīta serverī. Tomēr mēs to definējam kā tīmekļa serveri. Tās mērķis ir izveidot savienojumu starp vietnes apmeklētāju pārlūkprogrammām (Safari, Google Chrome, Firefox u.c.) un serveri. Apache var definēt kā vairāku platformu programmatūru, tāpēc tā var darboties Windows serveros un UNIX.
logs.atvērt
Kad kāds apmeklētājs vēlas ielādēt lapu mūsu vietnē, mājaslapu, piemēram, vai mūsu lapu 'Par mums', apmeklētāja pārlūkprogramma nosūtīs pieprasījumu uz mūsu serveri. Apache atgriezīs atbildi kopā ar katru pieprasīto failu (attēli, faili utt.). Klients un serveris sazinās, izmantojot HTTP protokolu, un Apache ir atbildīgs par drošu un vienmērīgu saziņu starp abām iekārtām.
Apache ir programmatūra, kas ir ļoti augsta pielāgojama . Tajā ir uz moduļiem balstīta struktūra. Dažādi moduļi ļauj servera administratoriem izslēgt un ieslēgt papildu funkcionalitāti. Apache ietver moduļus kešatmiņai, drošībai, paroles autentifikācijai, URL pārrakstīšanai un citiem mērķiem. Mēs varam arī iestatīt savu servera konfigurāciju, izmantojot failu, kas pazīstams kā .htaccess . Tas ir atbalstīts Apache konfigurācijas fails.
Citi tīmekļa serveri salīdzinājumā ar Apache
Ir pieejams tik daudz tīmekļa serveru, kas atšķiras no Apache. Visas tīmekļa servera lietojumprogrammas ir izveidotas dažādu veidu mērķiem. Apache ir daži konkurenti un alternatīvas, un tā galvenokārt tiek izmantota programmatūra.
regexp_like mysql
Apache pret NGINX
Nginx tiek izrunāts kā Dzinējs-X . Tā ir jauna tīmekļa servera lietojumprogramma, kas pirmo reizi tika publicēta 2004. gadā. Nginx ir ieguvusi popularitāti vietņu īpašnieku vidū. Tas tika izstrādāts c10k problēmas risināšanai, kas nozīmē, ka tīmekļa serveri, kas izmanto pavedienus dažādu lietotāju pieprasījumu pārvaldībai, nespēj vienlaikus apstrādāt 10000+ savienojumus.
- Spēcīgas datplūsmas vietņu īpašnieki var saskarties ar veiktspējas problēmām, jo Apache izmanto uz pavedieniem balstītu struktūru. Nginx definē c10k problēmu, kas, iespējams, ir viena no visveiksmīgākajām.
- Nginx satur uz notikumu balstītu arhitektūru. Tas neveido jaunāku procesu visiem pieprasījumiem. Tā vietā, lai pārvaldītu visus ienākošos pieprasījumus atsevišķā pavedienā. Šis process apstrādā dažādus darbinieku procesus, kas īsteno pieprasījuma faktisko apstrādi. Nginx uz notikumiem balstīts modelis viegli un efektīvi koplieto lietotāju pieprasījumus starp darbinieku metodēm, tāpēc tas nodrošina labāku mērogojamību.
- Nginx var būt labāka izvēle, jo tā var pārvaldīt vietnes ar lielu trafiku, izmantojot minimālos resursus. Precīzāk, to var izmantot vairākas labi redzamas vietnes, piemēram, Airbnb, Pinterest, Hulu un Netflix.
- Tomēr Apache piedāvā daudzas priekšrocības Nginx, jo tai ir vienkārša konfigurācija, iesācējiem draudzīga vide un dažādi moduļi vidējiem vai maziem spēlētājiem.
Apache pret Tomcat
Runcis kabīni var definēt kā tīmekļa serveri, un to ir uzlabojis Apache Software Foundation. Tādējādi Apache Tomcat ir tās oficiālais nosaukums. Tomcat ir arī HTTP serveris. Tomēr tas uzlabo Java lietojumprogrammas, nevis statiskas vietnes. Šis tīmekļa serveris var izpildīt daudzas atšķirīgas Java lietojumprogrammas, piemēram, WebSocket, Java EL, JSP (JavaServer lapas) un Java servlets .
- Konkrēti, Tomcat tika izveidots Java lietojumprogrammām, savukārt Apache ir izveidots kā HTTP serveris. Mēs varam lietot Apache ar atšķirīgām programmēšanas valodām (Perl, Python, PHP utt.) ar atbilstoša Apache moduļa (mod_perl, mod_python, mod_php utt.) atbalstu.
- Lai gan mēs varam izmantot Tomcat tīmekļa serveri tīmekļa lapu (statiskā) apkalpošanai, tas ir mazāk efektīvs šim nolūkam salīdzinājumā ar Apache serveri. Tomcat var iepriekš ielādēt Java VM un citas Java bibliotēkas, kas mums nebūs vajadzīgas lielākajā daļā vietņu.
- Turklāt Tomcat ir mazāk konfigurējams salīdzinājumā ar citiem tīmekļa serveru veidiem. Labākais risinājums ir HTTP serveris, piemēram, NGINX vai Apache, lai izpildītu WordPress.
Apache plusi un mīnusi
Apache var būt lieliska iespēja izpildīt mūsu vietni uz daudzpusīgas un stabilas platformas. Lai gan tam ir daži trūkumi, kas mums ir jāsaprot.
Plusi:
- Stabila un uzticama programmatūra.
- Bezmaksas un atvērtā koda, pat ekonomiskai lietošanai.
- Regulāri drošības ielāpi, bieži atjaunināti.
- Iesācējiem draudzīgs, viegli konfigurējams.
- Elastīgs moduļu struktūras dēļ.
- Darbojas no kastes ar WordPress vietnēm.
- Vairāku platformu (ievieš Windows serveros un Unix).
- Viegli pieejams atbalsts un milzīga kopiena jebkuras problēmas gadījumā.
Mīnusi:
- Dažādas veiktspējas problēmas īpaši intensīvas datplūsmas vietnēs.
- Vairākas konfigurācijas iespējas var izraisīt drošības jutīgumu.
Apache versijas
Versija 1.1
Šo Apache versiju 2000. gadā atļāva ASF. Galvenās izmaiņas ir ietvertas licences 1.0 “reklāmas klauzulā”. No “reklāmas klauzulas” atvasinātais produkts vairs nav vajadzīgs, lai iekļautu reklāmas materiālu aspektus (tikai dokumentācijā).
Versija 2.0
Apache versiju 2.0 ASF pieņēma 2004. gada janvārī. Tās izvirzītie mērķi ietvēra licences izveidi, kas būtu viegli piemērojama dažiem projektiem, kas nav saistīti ar ĀCM. Tas var uzlabot saderību ar programmatūru, kuras pamatā ir GPL. Tas ļauj licenci pievienot ar atsauci, nevis uzskaitīt visos failos. Tas arī precizē licenci pār iemaksām. Tam ir nepieciešama jebkura patenta licence attiecībā uz ieguldījumiem, kas noteikti pārkāpj ieguldījuma patentus.
Apache drošība
Tāpat kā citus tīmekļa serverus, arī Apache var izmantot un uzlauzt. Apache galvenais uzbrukuma rīks ir Slowloris. Slowloris var izmantot Apache programmatūras kļūdas. Tas var izveidot vairākas ligzdas un uzturēt visas šīs ligzdas, kā arī nosūta dažādus baitus (sauktus par 'paturēt dzīvu galvenes'), lai informētu serveri, ka sistēma ir savienota un ka tai nav problēmas ar tīklu.
Daudzi Apache izstrādātāji ir definējuši Slowloris ar vairākiem moduļiem radītā kaitējuma ierobežošanai. Dažādi Apache moduļi, piemēram, mod_antiloris, mod_noloris, mod_security, mod_evasive, mod_qos, un mod_limitipconn Katram no tiem tika ieteikts samazināt Slowloris veiksmīga uzbrukuma iespēju. Apache piegādā mod_reqtimeout moduli kā izpildrisinājumu, ko izstrādātāji ir reklamējuši kopš Apache 2.2.15.
Apache izstrāde
Apache HTTP servera versijas
Jaunākais izlaidums | Sākotnējā izlaišana | Versija |
---|---|---|
03-02-2010 (1.2.42) | 06-06-1998 | 1.3 |
10.07.2013. (2.0.65) | 04-06-2002 | 2.0 |
11.07.2017. (2.2.34) | 12.01.2005 | 2.2 |
08.07.2020. (2.4.46) | 21.02.2012 | 2.4 |
Apache projekts ir kolektīvs programmatūras uzlabošanas darbs, kura mērķis ir izveidot komerciāla līmeņa, stabilu, brīvi pieejamu, ar funkcijām bagātu pirmkoda HTTP servera ieviešanu. Kopīgi ar projektu ir strādājusi brīvprātīgo komanda, kas izvietota visur. To var izdarīt, izmantojot tīmekli un internetu, lai izstrādātu, sazinātos un plānotu jebkuru serveri un saistīto dokumentāciju.
Projekts ir Apache Software Foundation faktors. Daudzi lietotāji ir kopīgojuši savu kodu, dokumentāciju un idejas projektam.
Apache 2.4 versija nodrošina atbalstu Tandem, NeXT, UX/A, TPF un BeOS platformām.
"abc" ir skaitļos