Apache i okolice... Jacek Prucia jacek.prucia@7bulls.com http://www.7bulls.com/



Podobne dokumenty
Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone

Środowisko publikacyjne oparte na XML-u. Szymon Zioło 1 maja 2004

Wstęp Budowa Serwlety JSP Podsumowanie. Tomcat. Kotwasiński. 1 grudnia 2008

Wybrane działy Informatyki Stosowanej

SECURE /10/2006. Błażej Miga, PCSS Jaroslaw Sajko, PCSS

1 90 min. Aplikacje WWW Harmonogram spotkań, semestr zimowy (studia stacjonarne)

4 Web Forms i ASP.NET Web Forms Programowanie Web Forms Możliwości Web Forms Przetwarzanie Web Forms...152

Budowanie interfejsów do baz danych

Błażej Miga, PCSS

JBoss Application Server

Niezbędne narzędzia. Przed rozpoczęciem pracy z PHP należy zainstalować odpowiednie narzędzia: środowisko PHP serwer WWW serwer baz danych MySQL

5.14 JSP - Przykład z obiektami sesji Podsumowanie Słownik Zadanie... 86

Protokół HTTP. 1. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX.

Kurs języka Python. Wykład 14. Marcin Młotkowski. 25 stycznia Python i Apache Pythonowe platformy aplikacyjne. Dystrybucja aplikacji w U*IX

Serwery Aplikacji "CC" Grzegorz Blinowski. tel (22) ; faks (22)

Portal Security - ModSec Enterprise

Serwery aplikacji. mgr Radosław Matusik. Wydział Matematyki i Informatyki Uniwersytetu Łódzkiego radmat radmat@math.uni.lodz.

Autor: inż. Wojciech Zatorski Opiekun pracy: dr inż. Krzysztof Małecki

KARTA KURSU. Administracja serwerami WWW

Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (

Komunikacja między serwletami

Apache. Apache serwer WWW

Aplikacje Internetowe, Servlety, JSP i JDBC

Apache serwer WWW. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Linux -- u mnie działa!

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

OpenLaszlo. OpenLaszlo

Ruby i Ruby on Rails. Mateusz Drożdżyński

Niezbędne serwery aplikacji. Wprowadzenie do technologii JBoss i Apache Tomcat.

Wprowadzenie SYSTEMY SIECIOWE. Michał Simiński

Języki i narzędzia programowania III. Łukasz Kamiński Wykład II

Zadanie nr 4.5: Oprogramowanie bazodanowe. Lp. Zwartość karty Opis 1 Specyfikacja techniczna / funkcjonalna przedmiotu zamówienia

I.Wojnicki, Tech.Inter.

Wprowadzenie do J2EE. Maciej Zakrzewicz.

Zapytanie ofertowe nr 9/POIG 8.2/11/10

Programowanie internetowe

Web Tools Platform. Adam Kruszewski

Obiektowy model dokumentu. Katedra Mikroelektroniki i Technik Informatycznych

Aplikacje WWW Wprowadzenie

Plan wykładu. 1. Protokół FTP. 2. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX.

WINDOWS Instalacja serwera WWW na systemie Windows XP, 7, 8.

Aplikacja serwerowa Platformy Prezentacyjnej Opis produktu

SOP System Obsługi Parkingów

Biuletyn techniczny. CDN OPT!MA 8.5 Wskazówki dotyczące instalacji programu. Copyright 2006 COMARCH SA

Produktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i

Serwery. Autorzy: Karol Czosnowski Mateusz Kaźmierczak

Automatyzacja procesów biznesowych Andrzej Sobecki. ESB Enterprise service bus

Zdalna edycja i przeglądanie dokumentacji medycznej.

Programowanie Komponentowe WebAPI

Wojciech Dworakowski. Zabezpieczanie aplikacji. Firewalle aplikacyjne - internetowych

Tworzenie oprogramowania

Wybrane działy Informatyki Stosowanej

Kurs OPC S7. Spis treści. Dzień 1. I OPC motywacja, zakres zastosowań, podstawowe pojęcia dostępne specyfikacje (wersja 1501)

Uniwersytet Łódzki Wydział Matematyki i Informatyki, Katedra Analizy Nieliniowej. Wstęp. Programowanie w Javie 2. mgr inż.

METODY REPREZENTACJI INFORMACJI

egroupware czy phpgroupware jest też mniej stabilny.

Testowanie aplikacji Java Servlets

Programowanie w Sieci Internet filtry oraz web.xml. Kraków, 11 stycznia 2013 r. mgr Piotr Rytko Wydział Matematyki i Informatyki

Inteligentny czujnik w strukturze sieci rozległej

Bazy danych i strony WWW

Projektowanie i implementacja wysokowydajnych aplikacji w języku

Wydajny Linux. Jakub Woźniak KN Sieci Komputerowych i Systemów Rozproszonych Tenesys

Zaawansowany kurs języka Python

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

Gerard Frankowski, Zespół Bezpieczeństwa PCSS. Nowoczesne technologie bliżej nas Poznań,

Programowanie Multimediów. Programowanie Multimediów JAVA. wprowadzenie do programowania (3/3) [1]

Parametr --prefix wskazuje katalog, do którego zostanie zainstalowany serwer.

Spis treści. Dzień 1. I Wprowadzenie (wersja 0906) II Dostęp do danych bieżących specyfikacja OPC Data Access (wersja 0906) Kurs OPC S7

Międzyplatformowy interfejs systemu FOLANessus wykonany przy użyciu biblioteki Qt4

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

PHP, ASP i CGI jako skrypty wykonywane po stronie serwera. Budowa dynamicznych stron WWW w technologii PHP

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne

Serwery LDAP w środowisku produktów w Oracle

Po prostu w³asny serwer internetowy

SERWERY WIRTUALNE Stabilność, szybkość i bezpieczeństwo danych...

Serwery WWW. Konfiguracja. Zadania serwera. NCSA httpd 1.5

Ewolucja projektowania aplikacji w PHP na bazie frameworka Symfony 2

WPROWADZENIE. Użycie PHP

Zakres tematyczny dotyczący kursu PHP i MySQL - Podstawy pracy z dynamicznymi stronami internetowymi

1 Wprowadzenie do J2EE

Oracle Application Express -

Firebird Alternatywa dla popularnych darmowych systemów bazodanowych MySQL i Postgres

Koniec problemów z zarządzaniem stacjami roboczymi BigFix. Włodzimierz Dymaczewski, IBM

Seeon Enterprise Search Engine. Rozwiązanie obsługiwane przez eo Networks S.A.

Programowanie obiektowe zastosowanie języka Java SE

edziennik Ustaw Opis architektury

Visual VM, Java Management extension i inne ciekawostki

TIN Techniki Internetowe zima

Aplikacja internetowa vs Strona Internetowa. Aplikacja internetowa, (ang.) web application zwana również aplikacją webową, to program komputerowy,

Platforma webowa IIS

Zespól Szkół Ponadgimnazjalnych Nr 17 im. Jana Nowaka - Jeziorańskiego Al. Politechniki 37 Windows Serwer 2003 Instalacja

Rodzaje przetwarzania XSLT (1)

dlibra 3.0 Marcin Heliński

Implementacja aplikacji sieciowych z wykorzystaniem środowiska Qt

Programowanie w Ruby

Transkrypt:

Apache i okolice... Jacek Prucia jacek.prucia@7bulls.com http://www.7bulls.com/

Historia... Serwer Apache Serwer httpd, autor Rob McCool (NCSA, Illinois, 1995), Apache = A PAtCHEd server, Apache 0.8.8 (codename Shambhala) modularyzacja, jednolite API, prefork itd., Obecnie: apache 1.3.20 oraz apache 2.0.16 beta, Strona domowa: http://httpd.apache.org

Serwer Apache Apache 1.3.x podstawa Obsługuje w pełni HTTP/1.1 (także tzw. name based Virtual Hosts), DSO (Dynamic Shared Object), APXS (APache extension) CGI, SSI (wraz z dodatkowymi dyrektywami #if, #elif, #else, #endif), Dodatki: KeepAlive, wszechstronne limity (dostęp, ilość połączeń, metody HTTP, CPU, pamięć itd.).

Apache 1.3.x moduły Serwer Apache mod proxy (RFC2068, ProxyPass oraz ProxyPassReverse), mod rewrite (niezwykle elastyczna manipulacja adresami URI), mod vhost alias (dynamicznie konfigurowane wirtualne serwery), mod ssl (szyfrowane połączenia commercial grade 128 bitów), mod backhand (wydajne klastry z prostymi mechanizmami load balancing oraz failover). Strona domowa: http://modules.apache.org

Apache 2.0 apr Serwer Apache bazuje na bibliotece apr Apache Portable Run- Time, Jednolite API dla wszystkich systemów operacyjnych, eliminacja dużej ilości makr #ifdef, wysoka wydajność na wspieranych platformach dzięki wykorzystaniu naturalnych typów (plik Unix: fd, Win32: FILEDES, APR: apr file t), obsługa: pliki, liczby losowe, procesy, wątki, czas, locki, sygnały, ciągi znaków, DSO, MD5, MMAP, I18N. Strona domowa: http://apr.apache.org.

Apache 2.0 MPM Serwer Apache MPM MultiProcessing Module, obsługa zapytań w Apache 1.3.x: Unix procesy, Win32 wątki, Problem martwych dyrektyw konfiguracyjnych (ThreadsPerChild na Unix, oraz StartServers na Win32), Moduł MPM zawiera silnik serwera sposób w jaki serwer obsługuje zapytania, Serwer pracuje w oparciu o *jeden* moduł MPM, wkompilowany statycznie do serwera podczas procesu kompilacji (wydajność).

Apache 2.0 MPM Serwer Apache Moduł MPM prefork obsługa zapytań przez procesy, stosowany w apache 1.3.x, Moduł MPM threaded (poprzednia nazwa mpmt pthread) hybryda procesów i wątków, bardzo wydajny, domyślny dla platform Unix owych, Moduł MPM perchild podobnie jak threaded, ale można uruchamiać serwery wirtualne z prawami wskazanych użytkowników, Moduł MPM mpm winnt pojedyńczy proces, zapytania obsługiwane przez wątki, Pozostałe moduły MPM: mpmt beos, spmt os2, oraz porzucony dexter (zastąpił go perchild).

Java Apache Project Obecnie integrowany z projektem Jakarta, Pierwszy darmowy servlet engine : Apache JServ (moduł mod jserv), Pełna obsługa specyfikacji Java Servlet 2.0, Prestiżowa nagroda JavaWorld Readers Choice Award 1999 dla: Apache JServ 1.1 Best Free Product 1999, Apache JServ nie jest już rozwijany jego rolę przejmuje serwer aplikacyjny tomcat.

Java Apache Project Wyższość servlet ów nad skryptami CGI (a także FastCGI), servlet kontra skrypt CGI serwer przetrzymuje servlet y w pamięci operacyjnej, servlet kontra skrypt FastCGI servlet posiada funkcję inicjalizującą (init()) oraz zwalniającą zasoby (destroy()), W środowiskach enterprise servlet y wyparły już całkowicie skrypty CGI,

Tomcat Projekt Jakarta Projekt Jakarta docelowo zastąpi projekt Java, Główny produkt: serwer aplikacyjny tomcat, Pełna obsługa specyfikacji Java Servlet 2.2 oraz JavaServer Pages 1.1 (tomcat 4.0 beta Servlet 2.3 oraz JSP 1.2), Serwer tomcat jest oficjalną referencyjną implementacją technologii Java Servlets oraz JavaServer Pages, Duża zgodność ze specyfikacjami, nieco mniejsza wydajność (szybszy jest m.in. serwer aplikacyjny Jetty).

Projekt Jakarta Podprojekty towarzyszące LOG4J specyficzny debugging (logowanie) dla programów w języku Java, JMeter doskonały, modularny (wizualizacja, opóźnienia, testy) benchmark dla serwerów (lepszy niż ApacheBench: ab), Ant narzędzie podobne do make (cross-platform, build.xml zamiast Makefile a).

Projekt Jakarta Podprojekty towarzyszące Avalon zestaw gotowych komponentów (Excalibur, Phoenix, Cornerstone, Testlet, LogKit) które pozwalają na szybkie budowanie zaawansowanych serwisów, Regexp, ORO wyrażenia regularne (w tym perl5 i awk style), globbing itd., ECS (Element Construction Set) zestaw klas które pozwalają na eleganckie budowanie dokumetu HTML. Zamiast system.out.println("<body>"); można używać html.addelement(new Body());.

Projekt XML SOAP implementacja SOAP (Simple Object Access Protocol) dla serwera Apache, Xerces parser XML v1.0 oraz XML Schema, Xalan (Java, C) parser XSL w pełni zgodny z W3C XSLT v1.0 oraz XPath v1.0, FOP implementacja XML:FO (Formatting Objects), Cocoon servlet służący do zaawansowanej publikacji dokumentów; na podstawie XML oraz XSL/XSLT produkuje HTML, SVG lub PDF (Cocoon Live Show).

mod perl Interpreter języka perl wbudowany w serwer Apache, Szybsze wykonywanie skryptów CGI w języku perl, Dostęp do wewnętrznych struktur serwera Apache, Możliwość pisania modułów do serwera Apache w języku perl, Strona domowa: http://perl.apache.org.

mod php Jezyk PHP zagnieżdżony w HTML, Dostępne są dwie wersje PHP3 i nowsza PHP4, Pierwotnie PHP pracował tylko jako interpreter CGI, Obecnie dostępny jest moduł dla serwera Apache lub ISAPI (większa wydajność niż interpreter CGI), Prosty w nauce (intuicyjna mieszanka C i Perl a), Modularny własne API do dynamicznie ładowalnych (podczas startu serwera, lub przetwarzania skryptu) modułów.

mod php Wsparcie dla Persistent Connections (*bardzo* ważny atut), Wsparcie dla sporego spektrum baz danych (commercial jak i open source), PHP3 zawiera network debugger, brak go w PHP4 (atut w porównaniu do JSP, ASP), Wsparcie dla sesji HTTP (w oparciu o mechanizm cookies), Strona domowa: http://php.apache.org.

Projekt GUI Apache Problem stosunkowo złożona konfiguracja serwera, dużo dyrektyw, Historyczne trzy pliki konfiguracyjne, Oprogramowanie do wizualnej konfiguracji: Comanche (http://www.comanche.org) Tcl/Tk, Mohawk (http://everythinglinux.org/mohawk/) C/Gtk+,

Projekt GUI Apache Program Mohawk w akcji... Strona domowa: http://gui.apache.org.

Podziękowania Firma 7bulls.com S.A. za wsparcie (sprzęt, czas, podróż), Programiści Apache Software Foundation, Ryan Bloom z Covalent Technologies (Apache 2.0), Moja kobieta Dorota (za anielską cierpliwość dla mojej pasji ;).

Pytania?