Podstawowa konfiguracja PHP 7 i Nginx na Ubuntu 16.04 Linux

Podstawowa konfiguracja PHP 7 i Nginx na Ubuntu 16.04 Linux

Nginx szybko wyprzedza Apache jako ulubiony serwer WWW. W przypadku aplikacji internetowych wbudowanych w języki takie jak Rails i Python jest to praktycznie wszechobecne, ale nieco wolniejsze jest złapać w świecie PHP. Jednym z powodów jest to, jak łatwo PHP i Apache idą razem. Jednak PHP i Nginx mogą współpracować prawie tak łatwo, a wraz z uwalnianiem PHP 7 połączenie dwóch może być dość szybką opcją.

Pakiety

Pierwsza rzecz. Zaktualizuj Ubuntu i uzyskaj pakiety Nginx i PHP.

# sudo apt-get aktualizacja && sudo apt-get -y aktualizację # sudo apt-get -y instaluj nginx php7.0 php7.0-fpm

Po zakończeniu instalacji wszystkie pakiety powinny być na miejscu i faktycznie działać. Aby upewnić się, że tak jest, możesz sprawdzić, czy zarówno Nginx, jak i usługi PHP-FPM działają w Systemd.

# sudo Systemctl Status Nginx # sudo Systemctl Status Php7.0-fpm

Jeśli SystemD potwierdza, że ​​obie usługi są uruchomione, serwer powinien być faktycznie w górę i powinieneś być w stanie zobaczyć stronę domyślną Nginx, nawigując Lokalny Gospodarz W przeglądarce.

Konfiguracja

Oczywiście, że nie jest to prawie gotowe, aby faktycznie hostować cokolwiek. Potrzebna jest pewna konfiguracja, aby wskazać Nginx na pewnej faktycznej treści i poprawić bezpieczeństwo. Katalog główny dla plików konfiguracyjnych Nginx znajduje się pod adresem /etc/nginx. Na szczęście istnieją już domyślnie z Ubuntu, które znacznie ułatwiają proces konfiguracji.

Nginx.conf

Głównym plik konfiguracyjnym dla Nginx jest nginx.conf. Otwórz go w edytorze tekstu wyboru. Będzie to wymagało uprawnień korzeniowych, więc edytor tekstowy, taki jak VIM, prawdopodobnie będzie najlepszy. Domyślna konfiguracja jest w większości w porządku. Są oczywiście rzeczy, które można zrobić, aby poprawić szybkość i bezpieczeństwo systemu, ale większość z nich wykracza poza zakres tego podstawowego samouczka. Jeśli chcesz poprawić wydajność, skomentowane opcje GZIP pomogą w kompresji i mogą przyspieszyć. Po stronie bezpieczeństwa dodanie następujących trzech linii pomoże zapobiec złośliwej aktywności.

add_header x-frame-options samorigin; add_header x-content-type-options nosniff; add_header x-xss-ochrona „1; tryb = block”;


Konfiguracja witryny

Po dodaniu linii zapisz i wyjdź. Istnieją dwa foldery w korzeniu Nginx, Witryny-dostępne I witryny z obsługą. Witryny-dostępne przechowuje konfiguracje witryny. witryny z obsługą zawiera symLinks do plików konfiguracyjnych w Witryny-dostępne. W ten sposób witryny umożliwiające i wyłączanie witryn jest tak proste, jak tworzenie i usuwanie symlinów.

Korzystając z edytora tekstu, utwórz plik pod adresem /etc/nginx/witryny-dostępny/twój. Ten plik będzie zawierał dowolną konfigurację specyficzną dla witryny dla nowej strony internetowej PHP 7. Poniższy przykład zawiera awarię w komentarzach o tym, co robi każda linia. To dość podstawowa konfiguracja, ale wykonanie zadania.

 serwer #nginx powinien słuchać w porcie 80 w celu uzyskania żądań do twojego.com posłuchaj 80; Server_name Yoursite.com; #Create Dostęp i dzienniki błędów w/var/log/nginx access_log/var/log/nginx/youtee.access_log main; ERROR_LOG/var/log/nginx/youtee.Informacje o błędzie_log; #Nginx powinien spojrzeć w/var/www/yoursite dla witryny root/var/www/relaite/; #Strona główna Twojej witryny to plik o nazwie indeks.Indeks indeksu PHP.php; #Określa, że ​​Nginx szuka .Lokalizacja plików PHP ~ \.php $ #if plik nie jest znaleziony, 404 try_files $ uri = 404; #Include Nginx konfiguracja fastcgi obejmuje/etc/nginx/fastcgi.conf; #Manage FastCGI Process Manager w tej lokalizacji FastCGI_PASS UNIX:/RUN/PHP/PHP7.0-fpm.skarpetka;  

Po utworzeniu tego pliku zapisz go i przejdź do witryny z obsługą informator. Stamtąd utwórz symbol z powrotem, aby właśnie utworzyć pliki.

# cd/etc/nginx/witryny # sudo ln -s/etc/nginx/witryny-dostępny/twój

Php.bezpieczeństwo INI

Bezpieczeństwo jest ruchomym celem i nie można wyprzedzić każdego możliwego zagrożenia, ale zawsze dobrym pomysłem jest zamknięcie każdej nowej instalacji serwera jak najwięcej. Istnieje kilka prostych poprawek, które można wprowadzić do php.ini plik konfiguracyjny, który pomoże zabezpieczyć PHP. Z edytorem tekstu otwórz /etc/php/7.0/fpm/php.ini. To jest ogromny plik. Znowu vim lub coś z funkcją wyszukiwania jest prawdopodobnie najlepsze.

Pierwsze znajdź disable_functions i dodaj phpinfo, system, poczta, exec do końca ciągów, które już tam są. Następnie znajdź plik_uploads i ustaw to Wyłączony. Następnie znajdź SQL.tryb bezpieczeństwa i zmień to NA. Wreszcie, znajdź Zezwolić_url_fopen i ustaw to Wyłączony. Przed zamknięciem pliku dodaj jeszcze jedną wiersz do końca.

Register_Globals = Off

Kiedy to wszystko jest zrobione, zapisz i zamknij. Uruchom ponownie serwer i powinien być gotowy do pracy.

# sudo systemctl restart php7.0-fpm # sudo systemctl restart nginx

Gdzie dalej

Jak siedzi, serwer Ubuntu powinien być w stanie uruchomić większość stron PHP. Wszelkie pliki PHP umieszczone w /var/www/relaite będzie uruchamiany przez serwer. Będzie szukał indeks.php plik pierwszy, a strona internetowa może tam rozgałęzić formularz. Oczywiście jest o wiele więcej, co można zrobić, aby skonfigurować PHP i Nginx dla prędkości, bezpieczeństwa i prawie każdej sytuacji szczególnej, ale teraz masz silny punkt wyjścia.

Powiązane samouczki Linux:

  • Wprowadzenie do automatyzacji, narzędzi i technik Linuksa
  • Rzeczy do zainstalowania na Ubuntu 20.04
  • Mastering Bash Script Loops
  • Jak ulepszyć Ubuntu z 22.04 do 22.10
  • Ubuntu 20.04 WordPress z instalacją Apache
  • Ubuntu 20.04 Przewodnik
  • Rzeczy do zrobienia po zainstalowaniu Ubuntu 20.04 Focal Fossa Linux
  • Mint 20: Lepsze niż Ubuntu i Microsoft Windows?
  • Jak często musisz ponownie uruchomić serwer Linux?
  • Jak uaktualnić Ubuntu do 22.04 LTS JAMMY MOLLYOUSH