Jak zainstalować Nginx, Mariadb 10, PHP 7 (stos LEMP) w 16.10/16.04

- 1556
- 245
- Maria Piwowarczyk
LEMP Stack to akronim, który reprezentuje grupę pakietów (system OS Linux, serwer WWW Nginx, baza danych MySQL \ Mariadb i język dynamiczny serwera PHP), które są używane do wdrażania dynamicznych aplikacji internetowych i stron internetowych stron internetowych.
Ten samouczek poprowadzi Cię, jak zainstalować stos Lemp z Mariadb 10, PHP 7 I HTTP 2.0 Wsparcie dla Nginx NA Ubuntu 16.10 I Ubuntu 16.04 Edycje serwera/komputerów stacjonarnych.
Wymagania
- Instalacja Ubuntu 16.04 Server Edition [Instrukcje również działają Ubuntu 16.10]
Krok 1: Zainstaluj serwer WWW Nginx
1. Nginx to nowoczesny i wydajny serwer WWW używany do wyświetlania stron internetowych dla odwiedzających w Internecie. Zaczniemy od zainstalowania serwera WWW Nginx z oficjalnych repozytoriów Ubuntu za pomocą wiersza poleceń Apt.
$ sudo apt-get instaluj nginx

2. Następnie wydaj polecenia NetStat i SystemCtl, aby potwierdzić, czy Nginx jest uruchamiany i wiązań na porcie 80.
$ netstat -tlpn

$ sudo systemCtl status nginx.praca

Po potwierdzeniu, że serwer zostanie uruchomiony, możesz otworzyć przeglądarkę i przejść do adresu IP serwera lub rekordu DNS za pomocą protokołu HTTP w celu odwiedzenia domyślnej strony internetowej Nginx.
http: // ip-address

Krok 2: Włącz Nginx HTTP/2.0 protokół
3. HTTP/2.0 protokół, który jest domyślnie budowany w najnowszej wersji Nginx binarie Ubuntu 16.04 Działa tylko w połączeniu z SSL i obiecuje ogromną poprawę prędkości w ładowaniu stron internetowych SSL.
Aby włączyć protokół w Nginx ON Ubuntu 16.04, Najpierw przejdź do plików konfiguracyjnych dostępnych witryn Nginx i zapasuj kopię zapasową domyślnego pliku konfiguracyjnego, wydając poniższe polecenie.
$ cd/etc/nginx/witryny-dostępna/$ sudo mv domyślnie domyślnie.kopia zapasowa

4. Następnie za pomocą edytora tekstu Utwórz nową domyślną stronę z poniższymi instrukcjami:
serwer Słuchaj 443 SSL http2 default_server; Posłuchaj [::]: 443 SSL http2 default_server; root/var/www/html; indeks indeksu.Indeks HTML.Indeks HTM.php; Server_name 192.168.1.13; lokalizacja / try_files $ uri $ uri / = 404; ssl_certificate/etc/nginx/ssl/nginx.crt; SSL_Certificate_Key/etc/nginx/ssl/nginx.klucz; SSL_PROTOCOLS TLSV1 TLSV1.1 TLSV1.2; ssl_prefer_server_ciphers on; SSL_CIPHERS EECDH+CHACHA20: EECDH+AES128: RSA+AES128: EECDH+AES256: RSA+AES256: EECDH+3DES: RSA+3DES:!MD5; ssl_dhparam/etc/nginx/ssl/dhparam.pem; SSL_SESSION_CACHE SHARED: SSL: 20m; ssl_session_timeout 180m; Resolver 8.8.8.8 8.8.4.4; add_header scransport-security „max-ee = 31536000; #includesubdomains” zawsze; Lokalizacja ~ \.php $ obejmują fragmenty/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.0-fpm.skarpetka; Lokalizacja ~ /\.ht odmów wszystkich; serwer Słuchaj 80; Posłuchaj [::]: 80; Server_name 192.168.1.13; return 301 https: // $ server_name $ request_URI;

Powyższy fragment konfiguracji umożliwia użycie HTTP/2.0 dodając HTTP2
parametr wszystkich dyrektyw słuchania SSL.
Ponadto ostatnia część fragmentu zawartego w dyrektywie serwera służy do przekierowania całego ruchu bez SSL do domyślnego hosta SSL/TLS. Wymień także Nazwa serwera
dyrektywa w celu dopasowania własnego adresu IP lub rekordu DNS (najlepiej FQDN).
5. Po zakończeniu edytowania domyślnego pliku konfiguracyjnego Nginx z powyższymi ustawieniami generuj i wyświetl plik certyfikatu SSL i klucz, wykonując poniższe polecenia.
Wypełnij certyfikat własnymi niestandardowymi ustawieniami i zwróć uwagę Nazwa zwyczajowa ustawienie w celu dopasowania rekordu DNS FQDN lub adresu IP serwera, który zostanie użyty do dostępu do strony internetowej.
$ sudo mkdir/etc/nginx/ssl $ sudo openssl req -x509 -nodes -Days 365 -Newkey RSA: 2048 -Keyout/etc/nginx/ssl/nginx.klawisz -ut/etc/nginx/ssl/nginx.crt $ ls/etc/nginx/ssl/

6. Stwórz także silny DH Cypher, który został zmieniony w powyższym pliku konfiguracyjnym SSL_DHPARAM
Wiersz instrukcji, wydając poniższe polecenie:
$ sudo openssl dhparam -out/etc/nginx/ssl/dhparam.PEM 2048

7. Kiedyś Diffie-Hellman Klucz został utworzony, sprawdź, czy plik konfiguracyjny Nginx jest poprawnie zapisany i może być stosowany przez Nginx Web Server i ponownie uruchomić demon, aby odzwierciedlić zmiany, uruchamiając poniższe polecenia.
$ sudo nginx -t $ sudo systemctl restart nginx.praca

8. Aby sprawdzić, czy Nginx używa HTTP/2.0 Protokół Wydaj poniższe polecenie. Obecność H2
Reklamowany protokół potwierdza, że Nginx został pomyślnie skonfigurowany do używania HTTP/2.0 protokół. Wszystkie nowoczesne aktualne przeglądarki powinny domyślnie obsługiwać ten protokół.
$ openssl s_client -Connect LocalHost: 443 -Nextprotoneg "

Krok 3: Zainstaluj interpreter PHP 7
Nginx może być używany z PHP Dynamic Processing Language Interpreter do generowania dynamicznej zawartości sieci za pomocą FastCGI Process Manager uzyskanego przez instalację PHP-FPM Pakiet binarny z oficjalnych repozytoriów Ubuntu.
9. Aby złapać Php7.0 oraz dodatkowe pakiety, które pozwolą PHP komunikować się z serwerem WWW Nginx, poniższe polecenie na konsoli serwera:
$ sudo apt Zainstaluj php7.0 php7.0-fpm

10. Kiedyś Php7.0 Interpreter został pomyślnie zainstalowany na twoim komputerze, uruchom i sprawdź php7.0-fpm Demon, wydając poniższe polecenie:
$ sudo systemctl start php7.0-fpm $ sudo Systemctl Status PHP7.0-fpm

11. Obecny plik konfiguracyjny Nginx jest już skonfigurowany do użycia PHP Fastcgi Menedżer procesów w celu serwowania treści dynamicznej.
Blok serwerowy, który umożliwia Nginx korzystanie z interpretera PHP, jest prezentowany na poniższym fragmencie, więc nie są wymagane dalsze modyfikacje domyślnego pliku konfiguracyjnego Nginx.
Lokalizacja ~ \.php $ obejmują fragmenty/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.0-fpm.skarpetka;
Poniżej znajduje się zrzut ekranu, jakie instrukcje potrzebujesz, aby porzucić i modyfikować to przypadek oryginalnego domyślnego pliku konfiguracyjnego Nginx.

12. Aby przetestować relację serwera WWW z PHP FastCGI Process Manager Utwórz PHP informacje.php
Testuj plik konfiguracji, wydając poniższe polecenie i sprawdź ustawienia, odwiedzając ten plik konfiguracyjny za pomocą poniższego adresu: http: // ip_or domena/info.php
.
$ sudo su -c 'echo "" | tee/var/www/html/info.php '


Sprawdź także, czy HTTP/2.0 Protokół jest reklamowany przez serwer poprzez zlokalizowanie linii $ _Server ['server_protocol']
na zmiennych PHP blokuje ilustrowano na poniższym zrzucie ekranu.

13. Aby zainstalować dodatkowe Php7.0 moduły używają Apt Wyszukaj php7.0
polecenie, aby znaleźć moduł PHP i zainstalować go.
Spróbuj także zainstalować następujące moduły PHP, które mogą się przydać na wypadek, gdybyś planował zainstalować WordPress lub inne CMS.
$ sudo apt Zainstaluj php7.0-mcrypt php7.0-mbstring

14. Aby zarejestrować dodatkowe moduły PHP, po prostu uruchom ponownie PHP-FPM Demon, wydając poniższe polecenie.
$ sudo systemctl restart php7.0-fpm.praca
Krok 4: Zainstaluj bazę danych Mariadb
15. Wreszcie, aby ukończyć nasze LEMP Stos potrzebujemy komponentu bazy danych MariaDB do przechowywania i zarządzania danymi witryn internetowych.
zainstalować Mariadb System zarządzania bazą danych poprzez uruchomienie poniższego polecenia i ponowne uruchomienie PHP-FPM usługa w celu korzystania z modułu MySQL w celu uzyskania dostępu do bazy danych.
$ sudo apt Zainstaluj mariadb-server mariadb-client php7.0-Mysql $ sudo systemctl restart php7.0-fpm.praca

16. Aby zabezpieczyć instalację MariaDB, uruchom skrypt bezpieczeństwa dostarczany przez pakiet binarny od repozytoriów Ubuntu, które zapytają ustawienie hasła root, usuń anonimowe użytkowników, zdalnie wyłączyć login root i usuń testową bazę danych.
Uruchom skrypt, wydając poniższe polecenie i odpowiedz na wszystkie pytania Tak
. Użyj poniższego zrzutu ekranu jako przewodnika.
$ sudo mysql_secure_instalation

17. Aby skonfigurować MariaDB, aby zwykli użytkownicy mogli uzyskać dostęp do bazy danych bez systemu sudo uprawnienia, przejdź do interfejsu wiersza poleceń MySQL z uprawnieniami roota i uruchom poniższe polecenia na interpreter MySQL:
$ sudo mysql mariadb> Użyj mysql; Mariadb> Aktualizacja zestawu użytkownika Plugin = "gdzie user =" root "; mariadb> uprawnienia spłukające; mariadb> exit

Wreszcie zaloguj się do bazy danych Mariadb i uruchom dowolne polecenie bez uprawnień root, wykonując poniższe polecenie:
$ mysql -u root -p -e 'pokaż bazy danych'

To wszystko! Teraz masz LEMP Stack skonfigurowany Ubuntu 16.10 I Ubuntu 16.04 serwer, który pozwala wdrażać złożone dynamiczne aplikacje internetowe, które mogą wchodzić w interakcje z bazami danych.
- « Jak włączyć repozytorium RPMForge w RHEL/CENTOS 7.X/6.X/5.X
- Dowiedz się, jak korzystać z kilku funkcji MySQL i Mariadb - część 2 »