Niektóre systemy zarządzania treścią nie działają z kombinacją nginx i php-fpm i wymagają serwera WWW Apache z modułem php. Najczęstszym tego powodem jest potrzeba użycia modułu przeprogramowania, aby witryna działała.
Zainstaluj składniki podstawowe za pomocą jednego polecenia. Zależności zostaną zainstalowane automatycznie.
# aptitude install apache2-mpm-itk libapache2-mod-php5 php5-curl php5-mysqlnd php5-gd
Treść artykułu:
- Настраиваем apache 1 Skonfiguruj apache
- Создание виртуального хоста 2 Tworzenie wirtualnego hosta
- Тестирование настроенной связки 3 Testowanie dostosowanego pakietu
Skonfiguruj apache
Najpierw włącz mod_rewrite. Z pewnością będzie go potrzebował, jeśli twoja strona będzie używać CNC.
# a2enmod przepisać
Nie będzie konieczne dołączanie mod_php, ponieważ podczas instalacji zostanie ono włączone automatycznie.
Polecam także wyłączenie następujących modułów, jeśli ich nie potrzebujesz:
# a2dismod -f autoindeks deflate status setenvif
Pozwoli to zmniejszyć zużycie pamięci.
Otwórz plik /etc/apache2/conf-available/charset.conf i odkomentuj następujący wiersz:
AddDefaultCharset UTF-8
Ta dyrektywa wskazuje, że domyślnym kodowaniem będzie UTF-8. Jeśli twoje witryny używają innego kodowania, na przykład CP-1251, musisz to określić albo tam, albo w parametrach wirtualnego hosta.
Zapisz zmiany.
Otwórz plik ServerTokens OS
i przekonwertuj linię ServerTokens OS
na ServerTokens Prod
. Spowoduje to ukrycie wersji apache dla klientów.
ServerSignature On
ciąg ServerSignature On
na ServerSignature Off
.
Zapisz zmiany.
Otwórz plik /etc/apache2/apache2.conf w celu edycji i znajdź parametr KeepAlive On
. Jeśli po skonfigurowaniu Apache zainstalujesz nginx i będziesz z niego żądać proxy, to ten parametr musi zostać przekonwertowany na KeepAlive Off
, ponieważ ta funkcja (utrzymując połączenie z klientem) zostanie wykonana przez nginx. Jeśli planujesz używać Apache jako głównego serwera WWW, ta funkcja powinna zostać skonfigurowana.
MaxKeepAliveRequests
- maksymalna liczba żądań utrzymania stałego połączenia. Aby uzyskać najlepszą wydajność, zaleca się ustawienie wysokiej wartości. Na początek domyślna wartość to 100.
KeepAliveTimeout
to czas w sekundach oczekiwania na kolejne żądanie od tego samego klienta.
Zapisz zmiany i uruchom ponownie apache.
Otwórz plik /etc/apache2/mods-available/mpm_prefork.conf.
Parametry w tym pliku powinny zostać określone w zależności od ruchu w witrynie i zasobów serwera. Aby rozpocząć, spróbuj uruchomić witrynę z minimalną konfiguracją i zobacz, jak działa. Jeśli okaże się, że zasoby są niewystarczające, zwiększ je.
Podaj wartości domyślne dla tego widoku:
StartServers 2 MinSpareServers 2 MaxSpareServers 6 MaxRequestWorkers 32 MaxConnectionsPerChild 0
StartServers
- liczba procesów serwera potomnego utworzonych podczas uruchamiania.
MinSpareServers
- minimalna liczba bezczynnych procesów.
MaxSpareServers
- maksymalna liczba bezczynnych procesów.
MaxRequestWorkers
- maksymalna liczba połączeń, które będą przetwarzane jednocześnie.
MaxConnectionsPerChild
- maksymalna liczba połączeń, po przetworzeniu których proces potomny zostanie zakończony. Może być przydatny w radzeniu sobie z wyciekami pamięci.
Zapisz również zmiany i zrestartuj apache: restart usługi apache2 .
Tworzenie wirtualnego hosta
Host wirtualny to grupa parametrów konfiguracyjnych dla określonej witryny. Obejmuje akceptowalną domenę, administratora poczty e-mail, ścieżki do plików dziennika, połączenie procedur php itp.
Lubię hostować konfiguracje hosta wirtualnego w jednym pliku - apache2.conf. Jeśli konieczne jest masowe zastąpienie wartości dla wszystkich witryn, po kolei nie trzeba otwierać wszystkich plików konfiguracyjnych hostów wirtualnych.
Najpierw wyłącz domyślną witrynę.
# a2dissite 000-default
Na końcu pliku /etc/apache2/apache2.conf wpisz następującą dyrektywę:
<VirtualHost *: 80> </ Virtualhost>
Ta dyrektywa grupuje wszystkie parametry witryny. Że jest wirtualnym hostem. W tej dyrektywie zapisano następujące parametry.
ServerName
- twoja domena bez www. (Na przykład example.com.)
ServerAlias
- domena z www (www.example.com)
DocumentRoot
- katalog, w którym znajdują się pliki twojej witryny. Na przykład / var / www /.
ServerAdmin
- adres e-mail administratora witryny.
ErrorLog
- lokalizacja pliku dziennika błędów. Z reguły znajdują się one w katalogu / var / log / apache2 /. Używany jest do tego alias $ {APACHE_LOG_DIR}. Przykład:
ErrorLog $ {APACHE_LOG_DIR} / example.com .error.log
LogLevel warn
. Nic nie zmieniamy, rejestrujemy to w ten sposób. Ustawia poziom rejestrowania błędów.
CustomLog
- Lokalizacja i typ strony logu dostępu. Domyślny typ jest połączony. Chociaż istnieją inne typy. Przykład:
Połączono plik CustomLog $ {APACHE_LOG_DIR} /example.com.access.log
W obu przykładach witryna example.com jest zamieniana na twoją domenę bez www.
Dodajemy ustawienia dla mpm-itk, ponieważ zainstalowaliśmy ten konkretny moduł. Co on daje? Umożliwia obsługę skryptów php w imieniu użytkownika, który jest właścicielem witryny.
<IfModule mpm_itk_module> AssignUserId grupa użytkowników </ IfModule>
W tym miejscu należy zastąpić użytkownika nazwą użytkownika i grupą nazwą grupy, w której folderze macierzystym znajdują się witryny.
Definiujemy ustawienia dla katalogów.
<Katalog /> Opcje + FollowSymLinks AllowOverride Brak Wymagaj wszystkich przyznanych </ Directory> <Katalog / var / www> Opcje -Indeksy + FollowSymLinks AllowOverride All Zezwalaj na zamówienia, odmawiaj Pozwólcie od wszystkich </ Directory>
Zamień katalog / var / www na taki, w którym znajdują się twoje witryny.
Łączymy php-skrypty obsługi.
<IfModule mod_php5.c> silnik silnika php_admin_flag php_admin_value open_basedir "/ var / www: / tmp / sessions: / tmp / upload_tmp" php_admin_value upload_tmp_dir / tmp / sessions php_admin_value session.safe_path / tmp / upload_tmp php_admin_value sendmail_path "/ usr / sbin / sendmail -t -i -fmail@example.com" </ IfModule>
open_basedir
jako wartość, określamy katalogi dwukropka, do których php będzie miał dostęp: katalog z witryną, katalog do przechowywania plików sesji, katalog do pobierania plików tymczasowych.
upload_tmp_dir
- katalog do przechowywania plików tymczasowych. Gdy prześlesz zdjęcie (lub coś innego) do witryny, pobrany plik zostanie najpierw umieszczony w tym katalogu, a następnie w ostatecznej lokalizacji.
session.safe_path
- katalog do przechowywania sesji.
Ze względów bezpieczeństwa te dwa katalogi nie powinny być przechowywane w miejscu publicznym. Utwórz je w katalogu domowym użytkownika, w którym znajdują się Twoje witryny. Zezwalaj na dostęp do nich tylko temu użytkownikowi (prawa 0750).
sendmail_path
- ścieżka i parametry sendmail_path
. Z reguły sendmail znajduje się w katalogu / usr / sbin. Po parametrze -f podaj adres e-mail, bez oddzielania spacją.
Zapisz plik konfiguracyjny apache2.conf, zrestartuj apache:
Uruchom ponownie usługę apache2
Testowanie dostosowanych pakietów
W katalogu witryny utwórz plik index.php. Napisz kod w nim:
<? php phpinfo (); ?>
Następnie otwórz swoją witrynę w przeglądarce i sprawdź, czy informacje o php są wyświetlane. Jeśli tak, oznacza to, że serwer został pomyślnie skonfigurowany i możesz umieścić witrynę w katalogu przeznaczonym dla niego.
W przeciwnym razie należy przeanalizować dzienniki błędów, sprawdzić ustawienia w plikach konfiguracyjnych.
Dziękuję. Nazywam się Sergey. 65 lat. uch. lekarz. SPb. Dostałem hosting VDS. Na tej stronie powstała strona: egmontgroup.ru
Zgodnie z twoim artykułem: php7. Również postgreSQL 9.4 i Apache 2.4
Zasadniczo normalne. Na lokalnym komputerze Debian 8.6 jessey (na VDS jest taki sam). Zainstalowałem wszystko tak samo. Ale już od kilku dni nie mogę uruchomić Apache. W dziennikach nie jest dla mnie jasne, nic nie wydarzyło się na VDS.
A co z hostingiem VDS (jest tylko ssh (używam putty).) Skopiuj niektóre konfiguracje, i rzeczywiście. ?
Pozdrawiam Dziękuję. Mój e-mail to sergeygsd@yandex.ru
Podobało mi się również przełączanie pracy między wersjami php.
Logi są po prostu plikami - skopiuj je w dowolnym miejscu bez problemów