Skonfiguruj NGINX, PHP-FPM i MariaDB na Debianie 8

Ten przewodnik pokaże, jak poprawnie zainstalować i skonfigurować „alternatywny” stos LAMP na Debianie 8 przy użyciu NGINX, PHP Fast Process Manager i MariaDB.

NGINX

NGINX to „najpierw proxy odwrotne, a serwer WWW drugie”. Jest popularną i rosnącą alternatywą dla Apache, oferując większą elastyczność i lepszą wydajność w wielu przypadkach. W tym samouczku będziemy go używać jako naszego serwera internetowego.

Uruchom swojego ulubionego klienta SSH i zaloguj się na swój serwer. Dla użytkowników systemu Windows „PuTTY” to darmowy i lekki klient SSH. Użytkownicy systemów Linux i Mac mogą korzystać z terminala domyślnie dołączonego do systemu operacyjnego. W tym samouczku założymy, że jesteś zalogowany na serwerze jako użytkownik „root”.

Na początek upewnijmy się, że wszystko jest aktualne. Wpisz następujące informacje, aby sprawdzić, a następnie zainstalować aktualizacje.

apt-get update && apt-get upgrade

Będziemy edytować nasze pliki konfiguracyjne w vimie. Vim nie jest domyślnie instalowany, więc zainstalujmy go!

apt-get install vim

Teraz nadszedł czas, aby zainstalować NGINX. Będziemy chcieli zainstalować najnowszą wersję NGINX z oficjalnego repozytorium NGINX Debian.

wget http://nginx.org/keys/nginx_signing.key
apt-key add nginx_signing.key
echo 'deb http://nginx.org/packages/debian/ jessie nginx' >> /etc/apt/sources.list
echo 'deb-src http://nginx.org/packages/debian/ jessie nginx' >> /etc/apt/sources.list
apt-get update && apt-get install nginx

Teraz musimy trochę ulepszyć konfigurację NGINX. Przejdź do katalogu konfiguracji.

cd /etc/nginx

Szybka lekcja vima

Użyj klawiszy strzałek, aby poruszać się po dokumencie tekstowym. Aby rozpocząć edycję, naciśnij przycisk „wstaw” na klawiaturze. Jeśli klawiatura nie ma przycisku wstawiania, naciśnij klawisz „i”. W dolnej części vima zauważysz, że teraz mówi „WSTAW”. Tryb wstawiania umożliwia usuwanie za pomocą backspace lub wstawianie nowych znaków przez ich wpisanie.

Otwórzmy nasze nginx.confi zajmijmy się:

vi nginx.conf

Zmieńmy domyślnego użytkownika, sprawdź liczbę procesów roboczych i wyłącz dziennik dostępu.

Dyrektywy „user” i „worker_processes” znajdują się u góry. Wypróbuj poniższe wartości:

Pamiętaj, że będziesz chciał ustawić „process_processes” na liczbę rdzeni procesora dostępnych na twoim serwerze. W tym przykładzie mamy 1, który jest domyślną wartością NGINX.

user www-data;
worker_processes 1;

Będziemy również chcieli wyłączyć dziennik dostępu, aby poprawić wydajność operacji we / wy. Poruszaj się w dół za pomocą klawiszy strzałek, aż znajdziesz „access_log”. Zmodyfikuj go w następujący sposób:

access_log off;

Na koniec ustawimy „client_max_body_size”, aby odpowiadał niektórym zmianom dokonanym później w PHP. Oszczędzajmy kłopot i zróbmy to teraz. Dodaj tuż poniżej „access_log”:

client_max_body_size 12m;

Po zakończeniu edycji naciśnij klawisz „Esc” na klawiaturze. Vim nie będzie już mówił „WSTAW” na dole pliku.

Aby zapisać nasze zmiany i wyjść z vima, naciśnij następującą sekwencję klawiszy:

SHIFT :(colon)
wq
Press "Enter"

Powyższy vim kung fu zapisze twoje zmiany na dysku i zamknie vima, upuszczając cię z powrotem do powłoki bash.

Teraz musimy wykonać konfigurację specyficzną dla witryny dla naszego przykładu! Usuniemy również inne przykładowe konfiguracje. Spróbuj wykonać następujące czynności:

cd conf.d
rm example_ssl.conf default.conf
vi my_site.conf

Stworzymy krótki i prosty, www.confoparty na domyślnej konfiguracji NGINX, ale z kilkoma poprawkami. Naciśnij insert i możesz skopiować / wkleić poniższy przykład.

Nie zapomnij edytować dyrektywy „root”, aby wskazywała katalog główny swojej witryny, a „server_name” odpowiadać Twojej domenie.

server {
    listen 80;

    root /path/to/your/website;
    index index.php index.html index.htm;

    server_name mydomainname.com www.mydomainname.com;

    location / {
            try_files $uri $uri/ /index.php;
    }

    location ~ \.php$ {
            try_files $uri =404;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
            fastcgi_pass unix:/var/run/php5-fpm.sock;
    }
}

Teraz skończyliśmy z sekcją konfiguracji NGINX tego samouczka. Ponownie zrestartujemy NGINX, zaraz po zainstalowaniu PHP.

PHP-FPM

PHP-FPM to menedżer szybkich procesów PHP. Jest to wymagane podczas korzystania z NGINX, ponieważ w przeciwieństwie do Apache, NGINX nie obsługuje PHP jako modułu. Dokonano tego, aby zmniejszyć zużycie pamięci przez NGINX. Pamiętasz tę część o tym, że NGINX jest przede wszystkim odwrotnym proxy? Oto, co wchodzi w grę; Żądania PHP wysyłane do NGINX są przekazywane do PHP-FPM w celu wykonania ciężkich zadań.

Zainstalujmy PHP-FPM.

apt-get install php5-fpm php5-mysqlnd

Pamiętaj, że w zależności od wymagań skryptów PHP może być konieczne zainstalowanie innych modułów PHP, które nie są domyślnie dołączone. Popularne są php5-gdi php5-mcrypt. Możesz je zainstalować za pomocą następującego polecenia.

apt-get install php5-module_name_here

Teraz, gdy mamy zainstalowany PHP-FPM, będziemy chcieli dokonać kilku szybkich zmian w celu zwiększenia bezpieczeństwa i funkcjonalności.

cd /etc/php5/fpm
vi php.ini

Czas na kolejną szybką lekcję vima! php.iniPlik jest absolutnie ogromny. Poszukiwanie kilku kluczowych wartości zajmie cały dzień. Ponieważ wiemy, czego szukamy, przeszukamy. Wpisz następujące polecenie:

/upload_max_filesize

Domyślnie jest to ustawione na 2 megabajty. Jeśli chcesz zezwolić użytkownikom na przesyłanie plików do aplikacji PHP większych niż 2 megabajty, musisz to zmienić. 10M jest prawdopodobnie bezpiecznym zakładem na razie, ale wyższe wartości są również dopuszczalne. To ustawienie będzie się różnić w zależności od konfiguracji. Na potrzeby samouczka:

upload_max_filesize = 10M

Jeszcze jedna rażąca wada bezpieczeństwa. Przewiń w dół trochę dalej lub wyszukaj. Musimy ustawić opcję „allow_url_fopen” na „Off”. Zapobiegnie to uruchamianiu plików PHP hostowanych ZDALNIE, zwanych także RFI (Remote File Inclusion). W ten sposób zhakowano wiele serwerów.

allow_url_fopen = Off

A ponieważ zmieniliśmy „upload_max_filesize”, musimy teraz zmienić „post_max_size”. Ta wartość powinna być nieco większa niż „upload_max_filesize”, ponieważ musimy wziąć pod uwagę narzut związany z naszymi żądaniami przetwarzanymi przez PHP.

Szukajmy jeszcze raz za pomocą „/ post_max_size”.

post_max_size = 12M

Pamiętaj, że musisz wrócić do konfiguracji NGINX i edytować „client_max_body_size”, jeśli zdecydujesz się na wartości większe niż te przykłady dla swoich plików PHP.

Na razie tyle. Upewnij się, że nie jesteś w trybie edycji, naciskając „Esc”. Zapisz i zamknij vim.

SHIFT :(colon)
wq
Press 'Enter'

Konfiguracja PHP-FPM jest zakończona.

MariaDB

Nawet w świecie stale przechodzącym na NoSQL lub MongoDB, niektórym z nas nadal łatwiej jest trzymać się MySQL. Jest to szczególnie prawdziwe w przypadku wielu aplikacji internetowych. Na szczęście istnieje teraz wiele „zastępczych” zamienników dla Oracle MySQL. Debian 8 zawiera teraz coraz popularniejszą MariaDB. MariaDB to rozwidlenie Oracle MySQL oparte na wersji 5.5. MariaDB, pod każdym względem, nazywa to MariaDB 10. Jest uważany za PEŁNY zamiennik Oracle MySQL. Pomyśl o tym jak o sercu MySQL, bez brandingu Oracle i kilku nowych funkcji.

apt-get install mariadb-server

WAŻNE: Musisz zdecydowanie, pozytywnie, wybrać silne hasło roota dla MariaDB. Zapisz to w bezpiecznym miejscu. Musisz wprowadzić go dwukrotnie podczas instalacji MariaDB.

Poprawmy nieco konfigurację MariaDB. Wyłączymy słuchanie MariaDB przez interfejs sieciowy. Zamiast tego, podobnie jak wcześniej w PHP-FPM, będziemy trzymać się tylko gniazda UNIX. Większość aplikacji PHP powinna obsługiwać łączenie się z serwerem bazy danych przez gniazdo UNIX zamiast lokalnego interfejsu pętli zwrotnej.

cd /etc/mysql
vi my.cnf

Poszukaj „bind-address = 127.0.0.1”. Skomentuj tę linię. Powyżej lub poniżej dodaj „pomiń sieć”.

#bind-address = 127.0.0.1
skip-networking

Skończyliśmy z MariaDB! W końcu możesz chcieć dostosować konfigurację MariaDB w zależności od tego, czy będziesz używać przede wszystkim silników pamięci MyISAM lub InnoDB, ale także od liczby rdzeni procesora i pamięci RAM dostępnych na serwerze. Domyślne ustawienia pozwolą nam uruchomić się w międzyczasie.

Uruchommy ponownie każdą z usług, dla których pliki konfiguracyjne zostały zmodyfikowane w tym samouczku.

systemctl restart nginx.service
systemctl restart php5-fpm.service
systemctl restart mysql.service

To wszystko - wszystko gotowe. W tym momencie masz w pełni funkcjonalny serwer LNMP (LEMP) online!

Ten przewodnik miał służyć jako ogólna zasada przy rozpoczynaniu korzystania z powyższych usług przy minimalnym ulepszaniu. Aby uzyskać więcej informacji, przeczytaj dokumentację powyższych pakietów. Chociaż ta przykładowa konfiguracja powinna działać dobrze „od razu po wyjęciu z pudełka”, można to zrobić, a najprawdopodobniej trzeba będzie dostosować do własnych potrzeb.

Zalecane obszary badań:

  • Wykorzystywanie i modyfikowanie kontroli pamięci podręcznej NGINX.
  • PHP-FPM ustawienia menedżera zadań „statyczne”, „dynamiczne” lub „na żądanie”.
  • Dostrajanie wydajności MariaDB w celu maksymalnego wykorzystania serwera bazy danych.


Leave a Comment

Skonfiguruj udział NFS na Debianie

Skonfiguruj udział NFS na Debianie

NFS to oparty na sieci system plików, który umożliwia komputerom dostęp do plików w sieci komputerowej. Ten przewodnik wyjaśnia, w jaki sposób możesz udostępniać foldery w NF

Jak zaktualizować CentOS 7, Ubuntu 16.04 i Debian 8

Jak zaktualizować CentOS 7, Ubuntu 16.04 i Debian 8

Podczas konfigurowania nowego serwera Linux zaleca się aktualizację jądra systemu i innych pakietów do najnowszej stabilnej wersji. W tym artykule

Korzystanie z widoków MySQL w Debianie 7

Korzystanie z widoków MySQL w Debianie 7

Wprowadzenie MySQL ma świetną funkcję znaną jako widoki. Widoki są przechowywane zapytania. Pomyśl o nich jako o aliasie dla długiego zapytania. W tym przewodniku

Konfigurowanie chroota w Debianie

Konfigurowanie chroota w Debianie

W tym artykule dowiesz się, jak skonfigurować więzienie chroot w Debianie. Zakładam, że używasz Debiana 7.x. Jeśli używasz Debiana 6 lub 8, może to działać, bu

Jak zainstalować PiVPN na Debianie

Jak zainstalować PiVPN na Debianie

Wprowadzenie Prostym sposobem na skonfigurowanie serwera VPN na Debianie jest PiVPN. PiVPN to instalator i opakowanie dla OpenVPN. Tworzy proste polecenia dla ciebie

Jak budować Brotli ze źródła na Debianie 9

Jak budować Brotli ze źródła na Debianie 9

Używasz innego systemu? Brotli to nowa metoda kompresji z lepszym współczynnikiem kompresji niż Gzip. Jego kod źródłowy jest publicznie hostowany na Github. Cześć

Zainstaluj Lynis na Debianie 8

Zainstaluj Lynis na Debianie 8

Wprowadzenie Lynis to bezpłatne narzędzie do kontroli systemu typu open source, które jest używane przez wielu administratorów systemu do sprawdzania integralności i ulepszania systemów. ja

Jak zainstalować BlogoText CMS na Debian 9 LAMP VPS

Jak zainstalować BlogoText CMS na Debian 9 LAMP VPS

Używasz innego systemu? BlogoText CMS to prosty i lekki, bezpłatny i otwarty system zarządzania treścią (CMS) oraz minimalistyczny silnik blogów

Jak zainstalować InvoicePlane na Debianie 9

Jak zainstalować InvoicePlane na Debianie 9

Używasz innego systemu? InvoicePlane to darmowa i otwarta aplikacja do fakturowania. Jego kod źródłowy można znaleźć w tym repozytorium Github. Ten przewodnik

Jak zainstalować Backdrop CMS 1.8.0 na Debian 9 LAMP VPS

Jak zainstalować Backdrop CMS 1.8.0 na Debian 9 LAMP VPS

Używasz innego systemu? Tło CMS 1.8.0 to prosty i elastyczny, przyjazny dla urządzeń mobilnych, bezpłatny i otwarty system zarządzania treścią (CMS), który pozwala nam

Zainstaluj Plesk na Debianie 7 (Wheezy)

Zainstaluj Plesk na Debianie 7 (Wheezy)

Używasz innego systemu? Plesk to zastrzeżony panel kontrolny hosta internetowego, który umożliwia użytkownikom administrowanie osobistymi i / lub klienckimi stronami internetowymi, bazami danych

Jak zainstalować BookStack na Debianie 9

Jak zainstalować BookStack na Debianie 9

Używasz innego systemu? BookStack to prosta, hostowana i łatwa w użyciu platforma do organizowania i przechowywania informacji. BookStack jest w pełni darmowy i otwarty

Jak zainstalować Pagekit 1.0 CMS na Debian 9 LAMP VPS

Jak zainstalować Pagekit 1.0 CMS na Debian 9 LAMP VPS

Używasz innego systemu? Pagekit 1.0 CMS to piękny, modułowy, rozszerzalny i lekki, bezpłatny i otwarty system zarządzania treścią (CMS) z

Jak zainstalować Subrion 4.1 CMS na Debian 9 LAMP VPS

Jak zainstalować Subrion 4.1 CMS na Debian 9 LAMP VPS

Używasz innego systemu? Subrion 4.1 CMS to potężny i elastyczny system zarządzania treścią typu open source (CMS), który zapewnia intuicyjny i przejrzysty kontekst

Instalowanie Sponge i Minecraft Forge na Debianie 9

Instalowanie Sponge i Minecraft Forge na Debianie 9

Używasz innego systemu? Sponge to projekt typu open source, który rozszerza możliwości serwerów Minecraft poprzez wtyczki. W połączeniu z modding AP

Lepsze narzędzia monitorowania dla Ubuntu i CentOS

Lepsze narzędzia monitorowania dla Ubuntu i CentOS

Wprowadzenie Systemy Linux są domyślnie dostarczane z narzędziami do monitorowania, takimi jak top, df i du, które pomagają monitorować procesy i miejsce na dysku. Często jednak są

Skonfiguruj Firefox Sync Server na Debian 9 lub Ubuntu 16.04

Skonfiguruj Firefox Sync Server na Debian 9 lub Ubuntu 16.04

Używasz innego systemu? Firefox Sync to funkcja synchronizacji przeglądarki, która umożliwia udostępnianie danych i preferencji (takich jak zakładki, historia

Jak zainstalować CMS z października 1.0 na Debianie 9 LAMP VPS

Jak zainstalować CMS z października 1.0 na Debianie 9 LAMP VPS

Używasz innego systemu? 1.0 października CMS to prosty i niezawodny, bezpłatny i otwarty system zarządzania treścią (CMS) oparty na platformie Laravel

Jak zainstalować X-Cart 5 na Debianie 10

Jak zainstalować X-Cart 5 na Debianie 10

Używasz innego systemu? X-Cart to niezwykle elastyczna platforma eCommerce typu open source z mnóstwem funkcji i integracji. Kod źródłowy X-Cart jest hostem

Monitoruj status serwera Debian za pomocą Munin

Monitoruj status serwera Debian za pomocą Munin

Munin to narzędzie do monitorowania procesów i zasobów w maszynie oraz prezentuje informacje na wykresach za pośrednictwem interfejsu internetowego. Użyj następujących

Funkcjonalności warstw architektury referencyjnej Big Data

Funkcjonalności warstw architektury referencyjnej Big Data

Przeczytaj blog, aby w najprostszy sposób poznać różne warstwy w architekturze Big Data i ich funkcjonalności.

Rewolucyjne wynalazki Google, które ułatwią Twoje życie.

Rewolucyjne wynalazki Google, które ułatwią Twoje życie.

Chcesz zobaczyć rewolucyjne wynalazki Google i jak te wynalazki zmieniły życie każdego człowieka dzisiaj? Następnie czytaj na blogu, aby zobaczyć wynalazki Google.

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

Pozostań w kontakcie dzięki aplikacji WhatsApp na komputer 24*7

Pozostań w kontakcie dzięki aplikacji WhatsApp na komputer 24*7

Whatsapp w końcu uruchomił aplikację Desktop dla użytkowników komputerów Mac i Windows. Teraz możesz łatwo uzyskać dostęp do Whatsapp z systemu Windows lub Mac. Dostępne dla Windows 8+ i Mac OS 10.9+

5 przykładów, które dowodzą, że energetyka jądrowa nie zawsze jest zła

5 przykładów, które dowodzą, że energetyka jądrowa nie zawsze jest zła

Energia jądrowa jest zawsze pogardzana, nigdy jej nie szanujemy z powodu przeszłych wydarzeń, ale nie zawsze jest zła. Przeczytaj post, aby dowiedzieć się więcej na ten temat.

Friday Essential: Co się stało z samochodami sterowanymi przez sztuczną inteligencję?

Friday Essential: Co się stało z samochodami sterowanymi przez sztuczną inteligencję?

Koncepcja autonomicznych samochodów, które wyjadą na drogi za pomocą sztucznej inteligencji, to marzenie, które mamy już od jakiegoś czasu. Ale pomimo kilku obietnic nigdzie ich nie widać. Przeczytaj ten blog, aby dowiedzieć się więcej…

Czy AI może walczyć z rosnącą liczbą ataków ransomware?

Czy AI może walczyć z rosnącą liczbą ataków ransomware?

Wzrasta liczba ataków ransomware, ale czy sztuczna inteligencja może pomóc w radzeniu sobie z najnowszym wirusem komputerowym? Czy AI jest odpowiedzią? Przeczytaj tutaj, wiedz, że sztuczna inteligencja jest zmorą lub zgubą

5 przydatnych narzędzi sztucznej inteligencji, które uproszczą Twoje życie

5 przydatnych narzędzi sztucznej inteligencji, które uproszczą Twoje życie

Sztuczna inteligencja nie jest dla ludzi nową nazwą. Ponieważ sztuczna inteligencja jest włączona do każdego strumienia, jednym z nich jest opracowywanie narzędzi zwiększających ludzką wydajność i dokładność. Skorzystaj z tych niesamowitych narzędzi uczenia maszynowego i uprość swoje codzienne zadania.

Wgląd w 26 technik analizy Big Data: część 2

Wgląd w 26 technik analizy Big Data: część 2

Zawsze potrzebujemy Big Data Analytics do efektywnego zarządzania danymi. W tym artykule omówiliśmy kilka technik analizy Big Data. Sprawdź ten artykuł.

Ataki DDOS: krótki przegląd

Ataki DDOS: krótki przegląd

Czy jesteś również ofiarą ataków DDOS i nie masz pewności co do metod zapobiegania? Przeczytaj ten artykuł, aby rozwiązać swoje pytania.