Jestem stosunkowo nowy w świecie zarządzania / administrowania serwerem WWW w linii poleceń Unix.
Wiele hostów z opcjami administrowania panelem sterowania umożliwia zmianę sposobu działania PHP za pomocą prostej opcji.
Najczęstsze opcje to:
- moduł apache
- Aplikacja CGI
- Aplikacja FastCGI
Moje pytanie brzmi: jak to zmienić za pomocą wiersza poleceń? Wiem, że istnieje wiele plików konfiguracyjnych dla apache.
Najbliższą rzeczą, jaką znalazłem, jest to pytanie , jednak struktura katalogów wydaje się nie pasować do mojego systemu operacyjnego (Ubuntu 12.04).
Jestem dość zdezorientowany, że nie wydaje się, aby istniał jasny przewodnik, w którym mogę znaleźć szczegóły tego procesu dla czegoś, co wydaje się tak powszechne. Wybacz mi, jeśli to istnieje ... jeśli tak, proszę skieruj mnie we właściwym kierunku.
źródło
Odpowiedzi:
Dziękuję za poprzednie odpowiedzi, które dały mi większość możliwości, ale aby wszystko działało, musiałem połączyć instrukcje z kilku miejsc, więc pomyślałem, że napiszę pełny zestaw poleceń.
Do Twojej wiadomości używam Ubuntu 14.04, Apache 2.4, a także miałem domyślnie działający modphp, poprzednie instrukcje również pomijały potrzebę wyłączenia modphp.
Uważam również, że http://blog.starcklin.com/2013/08/install-mod-fastcgi-and-php5-fpm-on-ubuntu/ jest bardzo pouczający i prosty.
Wystarczy uruchomić następujące polecenia w terminalu jeden po drugim.
Najpierw zainstaluj niezbędne pakiety (pomijam php5, ponieważ zakładam, że jest już zainstalowany, dodaj go ponownie po raz pierwszy). Uwaga: od wersji Apache 2.4 w górę możesz używać event-mpm zamiast pracownika, patrz http://www.vps.net/blog/2013/04/08/apache-mpms-prefork-worker-and-event/ . Mój przykład pokazuje pracownika, ale po prostu zamień słowo pracownik na zdarzenie, jeśli wolisz go użyć.
Teraz włącz potrzebne mody i wyłącz te, których nie potrzebujesz.
Utwórz plik php5.fcgi i daj serwerowi sieciowemu pozwolenie na jego użycie.
Utwórz globalną konfigurację dla php5-fpm
wklej poniżej (użyjemy gniazda zamiast adresu IP)
Włącz konf. Php5-fpm
Uruchom ponownie apache i fpm
Zgodnie z innymi instrukcjami wklej poniższe elementy do nowego, przeglądalnego pliku php na swoim serwerze internetowym.
Otwórz plik, który właśnie edytowałeś w przeglądarce internetowej. Jeśli zobaczysz „FPM / FastCGI” obok API serwera, teraz obsługujesz PHP z FastCGI!
źródło
W końcu znalazłem fajny samouczek mający na celu właśnie to zrobić. Przedstawię kroki, które podjąłem, ponieważ mam już zainstalowany stos LAMP, ale pełny samouczek można znaleźć tutaj .
Uwaga do nowego:
W samouczku zaczyna się od przejścia do użytkownika root za pomocą:
W moim przypadku po prostu prefiksowałem te polecenia
sudo
zamiast przełączania użytkowników, więc w ten sposób dokumentuję swoje kroki.Zaczynać
Krok pierwszy: zainstaluj moduł Apache Worker MPM (moduły wieloprocesowe)
Zastępuje to prefork, który zainstalowałem, który jest domyślny podczas instalacji Apache.
Krok 2: Zainstaluj PHP5 i niezbędne moduły
W tym momencie może pojawić się błąd podczas instalowania „libapache2-mod-fastcgi”:
Ta część nie znajduje się w powyższym samouczku
Aby to pogodzić,
multiverse
repozytorium musi zostać dodane do źródeł apt.Aby to zrobić:
Do którego dołączyłem następujące wiersze:
precise
w tym przypadku odnosi się do mojej wersji Ubuntu „ Precise Pangolin ”.Teraz zapisz te zmiany i wróć do terminalu:
i jeszcze raz:
które będą (powinny) teraz działać.
Teraz włącz te moduły Apache:
uruchom ponownie apache
Krok 3: Konfiguracja Apache
Aby Apache działał z PHP-FPM, potrzebujemy następującej konfiguracji:
Możesz umieścić go w globalnej konfiguracji Apache (więc jest włączony dla wszystkich vhostów), na przykład w
/etc/apache2/conf.d/php5-fpm.conf
(ten plik nie istnieje, więc musisz go utworzyć), lub możesz umieścić go w każdym vhostie, który powinien używać PHP-FPM.Wybieram globalną trasę, więc:
wklej powyższy blok kodu i zapisz, wyjdź. Ten nowy plik zostanie automatycznie załadowany przez domyślną konfigurację Apache, która ładuje wszystkie pliki w
/etc/apache2/conf.d/
katalogu.uruchom ponownie Apache:
Teraz utwórz następujący plik PHP w katalogu głównym dokumentu
/var/www
:Dodaj:
wyjście bezpieczeństwa.
Teraz nazywamy ten plik w przeglądarce (np.
http://your-server-ip/info.php
)W górnej części interfejsu API serwera powinieneś zobaczyć
FPM/FastCGI
.Sukces!
Aby uzyskać więcej informacji, takich jak sposób zmiany PHP-FPM, aby używał gniazda unix zamiast domyślnego portu TCP lub jak skonfigurować to dla indywidualnych hostów wirtualnych zamiast wszystkich, zobacz samouczek źródłowy połączony u góry.
źródło
Require all granted
rzecz jest wymagana tylko od Apache 2.4. Jeśli wstawię go do pliku konfiguracyjnego z Apache 2.2, to się nie powiedzie.W Ubuntu 14.04 po wykonaniu kroków przyjętej odpowiedzi, edytuj /etc/apache2/conf-available/php5-fpm.conf
Następnie wykonaj
źródło
Jeśli ktoś robi to na Ubuntu 16.04 i obniżył wersję z php 7 do php 5.6 (Ondrej), musisz wymienić niektóre linie (w oparciu o odpowiedź JDawgga):
sudo apt-get install libapache2-mod-fastcgi php5-fpm do:
sudo a2dismod php5 mpm_prefork to:
sudo nano /etc/apache2/conf-available/php5-fpm.conf do:
Proces instalacji php5.6-fpm już utworzył plik, więc nie trzeba go tworzyć. Jednak usunąłem cały istniejący tekst z tego pliku, ponieważ był przeznaczony dla mod_php5.
Zmieniłem ścieżkę z /var/run/php5-fpm.sock na /var/run/php/php5.6-fpm.sock, gdy plik się tam znajdował.
sudo a2enconf php5-fpm do:
sudo service apache2 restart && sudo service php5-fpm restart to:
Mam nadzieję, że pomoże to innym początkującym, takim jak ja :)
źródło