Co To jest Apache?
Apache jest najpopularniejszym serwerem WWW w Internecie. Służy do obsługi ponad połowy wszystkich aktywnych stron internetowych.
Chociaż istnieje wiele realnych serwerów internetowych, które będą obsługiwać twoje treści, pomocne jest zrozumienie, jak działa Apache ze względu na jego wszechobecność.
w tym artykule przeanalizujemy niektóre ogólne pliki konfiguracyjne i opcje, które można w nich kontrolować., Ten artykuł będzie zgodny z układem Ubuntu / Debian plików Apache, który różni się od tego, jak inne dystrybucje budują hierarchię konfiguracji.
Jak zainstalować Apache na Ubuntu i Debianie
Jeśli nie masz jeszcze zainstalowanego Apache ' a, możesz to zrobić teraz, wydając następujące polecenia:
sudo apt-get updatesudo apt-get install apache2
To wszystko, co jest konieczne, aby mieć działający serwer WWW., Jeśli odwiedzisz swój adres IP VPS w przeglądarce internetowej, otrzymasz domyślną stronę indeksu Apache:
your_domain_name_or_ip_address
It works!This is the default web page for this server.The web server software is running but no content has been added, yet.
hierarchia plików Apache w Ubuntu i Debianie
w Ubuntu i Debianie Apache przechowuje swoje główne pliki konfiguracyjne w folderze „/etc/apache2”:
cd /etc/apache2ls -F
apache2.conf envvars magic mods-enabled/ sites-available/conf.d/ httpd.conf mods-available/ ports.conf sites-enabled/
w tym katalogu znajduje się wiele plików tekstowych oraz kilka podkatalogów. Jest to jedna z najbardziej rozpoznawalnych marek na świecie.,conf: jest to główny plik konfiguracyjny serwera. Prawie całą konfigurację można wykonać z tego pliku, chociaż dla uproszczenia zaleca się stosowanie oddzielnych, wyznaczonych plików. Plik ten skonfiguruje ustawienia domyślne i będzie centralnym punktem dostępu dla serwera do odczytu szczegółów konfiguracji.
jak widać, konfiguracja Apache nie odbywa się w pojedynczym pliku monolitycznym, ale zamiast tego odbywa się poprzez modułową konstrukcję, w której nowe pliki mogą być dodawane i modyfikowane w razie potrzeby.w tym roku mamy już ponad 1000 zdjęć z całego świata.zapraszamy do zapoznania się z naszą ofertą oraz do zapoznania się z naszą ofertą.plik conf.,
ten plik jest podzielony na trzy główne sekcje: konfiguracja dla globalnego procesu serwera Apache, konfiguracja dla domyślnego serwera i konfiguracja hostów wirtualnych.
w Ubuntu i Debianie większość pliku jest przeznaczona do definicji globalnych, a konfiguracja domyślnego serwera i wirtualnych hostów jest obsługiwana na końcu, za pomocą „Include …”dyrektywa.
dyrektywa „Include” pozwala Apache ' owi odczytać inne pliki konfiguracyjne do bieżącego pliku w miejscu, w którym pojawia się instrukcja., W rezultacie Apache dynamicznie generuje nadrzędny plik konfiguracyjny podczas uruchamiania.
Jeśli przewiń do dołu pliku, istnieje wiele różnych poleceń „Include”. Te definicje modułu ładowania, porty.dokument conf, specyficzne pliki konfiguracyjne w „conf.d / „katalog, i wreszcie, definicje wirtualnego hosta w katalogu” sites-enabled/”.
skupimy się na pierwszej części pliku, aby dowiedzieć się, jak Apache definiuje swoje ustawienia globalne.,
sekcja konfiguracji globalnej
sekcja ta służy do konfiguracji niektórych opcji, które kontrolują działanie Apache jako całości.
istnieje kilka interesujących opcji, które możesz zmodyfikować w tej sekcji:
Timeout
domyślnie parametr ten jest ustawiony na „300”, co oznacza, że serwer ma maksymalnie 300 sekund na spełnienie każdego żądania.
jest to prawdopodobnie zbyt wysokie dla większości zestawów i można bezpiecznie upuścić do czegoś między 30 a 60 sekund.,
KeepAlive
Ta opcja, jeśli jest ustawiona na „On”, pozwoli każdemu połączeniu pozostać otwartym, aby obsłużyć wiele żądań od tego samego klienta.
Jeśli jest to ustawione na „Off”, każde żądanie będzie musiało ustanowić nowe połączenie, co może spowodować znaczne obciążenie w zależności od konfiguracji i sytuacji na drodze.
MaxKeepAliveRequests
Ta opcja określa, ile osobnych żądań obsłuży każde połączenie przed śmiercią. Utrzymanie tej liczby na wysokim poziomie pozwoli Apache na skuteczniejsze serwowanie treści każdemu klientowi.,
ustawienie tej wartości na 0 pozwoli Apache ' owi obsłużyć nieograniczoną ilość żądań dla każdego połączenia.
KeepAliveTimeout
To ustawienie określa, jak długo należy czekać na następne żądanie po zakończeniu ostatniego. Jeśli zostanie osiągnięty próg timeout, połączenie umrze.
oznacza to po prostu, że przy następnym żądaniu zawartości serwer nawiąże nowe połączenie, aby obsłużyć żądanie treści, które składają się na stronę odwiedzaną przez Klienta.,
Konfiguracja MPM
następna sekcja określa konfigurację opcji MPM (Multi-Processing Module). Możesz porównać, z którą sekcją została skompilowana instalacja Apache, wychodząc z terminala i wpisując:
apache2 -l
Compiled in modules: core.c mod_log_config.c mod_logio.c prefork.c http_core.c mod_so.c
jak widać na tym serwerze, „prefork.w naszej ofercie znajdują się również akcesoria do wózków widłowych, wózków widłowych, wózków widłowych, wózków widłowych, wózków widłowych, wózków widłowych, wózków widłowych.plik conf. Twoja instalacja może mieć wiele do wyboru, ale można wybrać tylko jedną.
możesz dostosować konfigurację prefork MPM w odpowiedniej sekcji.,
przeglądanie domyślnego pliku hosta wirtualnego
domyślna deklaracja hosta wirtualnego znajduje się w pliku o nazwie „default” w katalogu „sites-available”.
możemy dowiedzieć się o ogólnym formacie pliku wirtualnego hosta, badając ten plik. Otwórz plik za pomocą następującego polecenia:
sudo nano /etc/apache2/sites-available/default
domyślny Host wirtualny jest skonfigurowany do obsługi dowolnego żądania na porcie 80, standardowym porcie http. Jest to zdefiniowane w nagłówku deklaracji, gdzie jest napisane”*: 80″, co oznacza port 80 na dowolnym interfejsie.,
nie oznacza to jednak, że musi obsługiwać każde żądanie do serwera na tym porcie. Apache używa najbardziej specyficznej definicji wirtualnego hosta, która odpowiada żądaniu. Oznacza to, że gdyby istniała bardziej szczegółowa definicja, mogłaby ona zastąpić tę definicję.
Konfiguracja najwyższego poziomu hosta wirtualnego
opcje te są ustawiane w definicji hosta wirtualnego poza inną poddeklaracją niższego poziomu. Dotyczą one całego wirtualnego hosta.
opcja „ServerAdmin” określa kontaktowy adres e-mail, który powinien być używany w przypadku problemów z serwerem.,w związku z tym, że nie jesteśmy w stanie zrealizować zamówienia, nie będziemy w stanie zrealizować zamówienia w terminie 14 dni od daty otrzymania zamówienia.plik D / security, więc upewnij się, że chcesz otrzymać pocztę, jeśli dostosujesz to ustawienie.
gdybyśmy używali tego jako szablonu dla innych definicji wirtualnego hosta, chcielibyśmy dodać definicję „ServerName”, która określa nazwę domeny lub adres IP, który to żądanie powinno obsłużyć. Jest to opcja, która dodałaby specyficzność do wirtualnego hosta, pozwalając mu na przebicie domyślnej definicji, jeśli pasuje do wartości nazwy serwera.,
za pomocą definicji „ServerAlias” można również sprawić, że wirtualny Host będzie miał zastosowanie do więcej niż jednej nazwy. Zapewnia to alternatywne ścieżki do tej samej zawartości. Dobrym przykładem użycia jest dodanie tej samej domeny, poprzedzonej „www”.
opcja „DocumentRoot” określa, gdzie będzie znajdować się zawartość żądana dla tego wirtualnego hosta. W związku z tym, że nie jest to możliwe, nie jest to możliwe.,
definicje katalogów
w definicji wirtualnego hosta znajdują się definicje, w jaki sposób serwer obsługuje różne katalogi w systemie plików. Apache zastosuje wszystkie te kierunki w kolejności od najkrótszej do najdłuższej, więc znowu jest szansa na nadpisanie poprzednich opcji.
pierwsza definicja katalogu stosuje reguły dla katalogu ” / ” lub katalogu głównego. Zapewni to podstawową konfigurację dla Twojego wirtualnego hosta, ponieważ ma ona zastosowanie do wszystkich plików serwowanych w systemie plików.
domyślnie Ubuntu nie ustawia żadnych ograniczeń dostępu do systemu plików., Apache zaleca dodanie pewnych domyślnych ograniczeń dostępu. Możesz to zmodyfikować w następujący sposób:
<Directory />Options FollowSymLinksAllowOverride NoneOrder Deny,AllowDeny from All</Directory>
spowoduje to zablokowanie dostępu do całej zawartości, chyba że zostanie to określone inaczej w kolejnych definicjach katalogów.
Następna definicja katalogu dotyczy katalogu głównego, więc określa opcję „allow from all”, która nadpisuje opcję „/” dla tego katalogu.
opcja” AllowOverride „jest używana, aby zdecydować, czy”.htaccess ” plik może zastąpić ustawienia, jeśli jest umieszczony w katalogu zawartości., Domyślnie nie jest to dozwolone, ale może być przydatne w różnych okolicznościach.
polecenia Alias i ScriptAlias
definicje katalogów są czasami poprzedzone instrukcjami „Alias” lub „ScriptAlias”. Alias mapuje ścieżkę url do ścieżki katalogu.
ScriptAlias działa w ten sam sposób, ale jest używany do definiowania katalogów, które będą miały w sobie komponenty wykonywalne.
Alias /content/ /path/to/content/
podążając za aliasem, należy pamiętać o zdefiniowaniu katalogu z uprawnieniami dostępu, jak opisano w poprzedniej sekcji.,
Włączanie witryn i modułów w Apache
Gdy Masz plik hosta wirtualnego, który spełnia Twoje wymagania, możesz użyć narzędzi dołączonych do Apache, aby przenieść je do witryn na żywo.,
aby automatycznie utworzyć dowiązanie symboliczne w katalogu „sites-enabled” do istniejącego pliku w katalogu „sites-available”, wydaj następujące polecenie:
sudo a2ensite virtual_host_file_name
Po włączeniu witryny, wydaj następujące polecenie, aby powiedzieć Apache, aby ponownie odczytał pliki konfiguracyjne, umożliwiając rozprzestrzenianie zmiany:
sudo service apache2 reload
jest również poleceniem towarzyszącym do wyłączania wirtualnego hosta., Działa poprzez usunięcie dowiązania symbolicznego z katalogu „sites-enabled”:
sudo a2dissite virtual_host_file_name
ponownie załaduj konfigurację, aby dokonać zmiany:
sudo service apache2 reload
moduły mogą być włączane lub wyłączane za pomocą odpowiednio poleceń” a2enmod „i” a2dismod”. Działają one w taki sam sposób jak wersje” site ” tych poleceń.
pamiętaj, aby ponownie załadować zmiany konfiguracji również po włączeniu lub wyłączeniu modułów.
podsumowanie
przejrzeliśmy kilka podstawowych plików konfiguracyjnych Apache., Apache jest wszechstronny i bardzo modułowy, więc potrzeby konfiguracji będą różne w zależności od konfiguracji.
powinieneś dobrze zrozumieć, do czego służą główne pliki konfiguracyjne i jak ze sobą współdziałają. Jeśli chcesz wiedzieć o konkretnych opcjach konfiguracyjnych, dostarczone pliki są dobrze skomentowane, A Apache zapewnia doskonałą dokumentację.
Mam nadzieję, że pliki konfiguracyjne nie będą teraz tak onieśmielające i poczujesz się bardziej komfortowo eksperymentując i modyfikując je zgodnie z Twoimi potrzebami.