Postavite NGINX, PHP-FPM i MariaDB na Debian 8

Postavite NGINX, PHP-FPM i MariaDB na Debian 8

Ovaj vodič će vam pokazati kako ispravno instalirati i konfigurirati "alternativni" LAMP stog na Debian 8 koristeći NGINX, PHP Fast Process Manager i MariaDB.

NGINX

NGINX je "prvo obrnuti proxy, a drugi web poslužitelj". To je popularna i rastuća alternativa Apacheu, koja nudi veću fleksibilnost i bolje performanse u mnogim slučajevima. U ovom vodiču koristit ćemo ga kao naš web poslužitelj.

Pokrenite svoj omiljeni SSH klijent i prijavite se na svoj poslužitelj. Za korisnike Windowsa, "PuTTY" je besplatan i lagan SSH klijent. Korisnici Linuxa i Maca mogu koristiti terminal koji je standardno uključen uz njihov operativni sustav. Za ovaj vodič, pretpostavit ćemo da ste prijavljeni na svoj poslužitelj kao "root" korisnik.

Za početak, samo provjerimo je li sve ažurirano. Upišite sljedeće da biste provjerili ima li i zatim instalirali ažuriranja.

apt-get update && apt-get upgrade

Mi ćemo uređivati ​​naše konfiguracijske datoteke u vim. Vim nije instaliran prema zadanim postavkama, pa hajde da ga instaliramo!

apt-get install vim

Sada je vrijeme da instalirate NGINX. Htjet ćemo instalirati najnoviju verziju NGINX-a iz službenog NGINX Debian repozitorija.

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

Sada moramo malo podesiti NGINX konfiguraciju. Idite do direktorija konfiguracije.

cd /etc/nginx

Brza vim lekcija

Koristite tipke sa strelicama za kretanje po tekstualnom dokumentu. Za početak uređivanja pritisnite gumb "umetni" na tipkovnici. Ako vaša tipkovnica nema gumb za umetanje, pritisnite tipku "i". Pri dnu vim-a primijetit ćete da sada piše "INSERT". Način umetanja omogućit će vam brisanje putem backspacea ili umetanje novih znakova upisivanjem.

Otvorimo naše nginx.confi prošetamo okolo:

vi nginx.conf

Promijenimo zadanog korisnika, provjerimo broj radnih procesa i isključimo zapisnik pristupa.

Smjernice "user" i "worker_processes" su pri vrhu. Isprobajte vrijednosti u nastavku:

Note that you'll want to set "worker_processes" to the number of CPU cores available on your server. In this example, we have 1, which is the NGINX default.

user www-data;
worker_processes 1;

Također ćemo htjeti onemogućiti zapisnik pristupa, radi poboljšanja I/O performansi. Krećite se prema dolje pomoću tipki sa strelicama dok ne pronađete "access_log". Izmijenite ga na sljedeće:

access_log off;

I na kraju, postavit ćemo "client_max_body_size" tako da odgovara nekim promjenama u PHP-u kasnije. Sačuvajmo nevolje i učinimo to sada. Dodajte odmah ispod "access_log":

client_max_body_size 12m;

Kada završite s uređivanjem, pritisnite "Esc" na tipkovnici. Vim više neće reći "INSERT" prema dnu datoteke.

Da biste spremili naše promjene i zatvorili vim, pritisnite sljedeći slijed tipki:

SHIFT :(colon)
wq
Press "Enter"

Gornji vim kung fu će zapisati vaše promjene na disk i izaći iz vim-a, vraćajući vas natrag u bash shell.

Sada moramo napraviti konfiguraciju specifičnu za web lokaciju za naš primjer! Također ćemo izbrisati druge primjere konfiguracija. Pokušajte sljedeće:

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

Napravit ćemo kratko i jednostavno www.confna temelju zadane NGINX konfiguracije, ali s nekoliko podešavanja. Pritisnite insert i možete kopirati/zalijepiti donji primjer.

Don't forget to edit the "root" directive to point to the root directory of your website, and "server_name" to correspond to your domain.

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;
    }
}

Sada smo gotovi s odjeljkom o NGINX konfiguraciji ovog vodiča. Ponovo ćemo pokrenuti NGINX za malo, odmah nakon što instaliramo PHP.

PHP-FPM

PHP-FPM je PHP upravitelj brzih procesa. To je potrebno kada koristite NGINX, jer za razliku od Apachea, NGINX ne pokreće PHP kao modul. To je učinjeno kako bi se smanjio memorijski otisak NGINX-a. Sjećate li se onog dijela o tome da je NGINX prije svega obrnuti proxy? Evo gdje to dolazi u igru; PHP zahtjevi poslani NGINX-u se šalju PHP-FPM-u kako bi obavio težak posao.

Idemo instalirati PHP-FPM.

apt-get install php5-fpm php5-mysqlnd

Note that depending on what your PHP scripts require, you may have to install other PHP modules not included by default. Popular ones are php5-gd and php5-mcrypt. You can install these with the following command.

apt-get install php5-module_name_here

Sada kada smo instalirali PHP-FPM, htjet ćemo napraviti nekoliko brzih izmjena kako bismo poboljšali sigurnost i funkcionalnost.

cd /etc/php5/fpm
vi php.ini

Vrijeme je za još jednu brzu vim lekciju! php.iniDatoteka je apsolutno ogroman. Traženje nekoliko ključnih vrijednosti trajat će cijeli dan. Pa pošto znamo što tražimo, potražit ćemo. Upišite sljedeće:

/upload_max_filesize

Ovo je prema zadanim postavkama postavljeno na 2 megabajta. Ako želite dopustiti korisnicima da učitavaju datoteke u vaše PHP aplikacije veće od 2 megabajta, morat ćete to promijeniti. 10M je vjerojatno sigurna oklada za sada, ali veće vrijednosti su također prihvatljive. Ova postavka će se razlikovati od konfiguracije. Radi tutoriala:

upload_max_filesize = 10M

Još jedan očigledan sigurnosni propust. Pomaknite se još malo prema dolje ili pretražite. Moramo okrenuti "allow_url_fopen" na "Off". To će spriječiti PHP da pokreće PHP datoteke koje se nalaze na DALJINU, inače poznate kao RFI (Remote File Inclusion). Mnogi serveri su hakirani na ovaj način.

allow_url_fopen = Off

A budući da smo promijenili "upload_max_filesize", sada moramo promijeniti "post_max_size". Ova bi vrijednost trebala biti malo veća od "upload_max_filesize", jer moramo uzeti u obzir dodatne troškove povezane s našim zahtjevima koje obrađuje PHP.

Pretražimo još jednom s "/post_max_size".

post_max_size = 12M

Note that you'll have to go back to your NGINX configuration and edit "client_max_body_size" if you decide to go with larger values than these examples for your PHP file sizes.

To je otprilike to za sada. Uvjerite se da niste u načinu uređivanja pritiskom na "Esc". Spremite i izađite iz vim.

SHIFT :(colon)
wq
Press 'Enter'

Postavljanje PHP-FPM-a je završeno.

MariaDB

Čak iu svijetu koji se kontinuirano kreće prema NoSQL-u ili MongoDB-u, nekima od nas je još lakše držati se MySQL-a. To se posebno odnosi na mnoge web aplikacije. Srećom, sada postoji niz "dolaznih" zamjena za Oracle MySQL. Debian 8 sada uključuje uvijek popularni MariaDB. MariaDB je fork Oracle MySQL baziran na verziji 5.5. MariaDB, za sve namjere i svrhe, ovo naziva MariaDB 10. Smatra se POTPUNOM zamjenom za Oracle MySQL. Zamislite to kao MySQL u srcu, bez Oracle brenda i nekih novih značajki.

apt-get install mariadb-server

VAŽNO: Apsolutno, pozitivno, morate odabrati jaku root lozinku za MariaDB. Spremite ga negdje na sigurno. Morat ćete ga unijeti dvaput tijekom instalacije MariaDB-a.

Popravimo malo MariaDB konfiguraciju. Onemogućit ćemo MariaDB slušanje putem mrežnog sučelja. Umjesto toga, kao i kod ranije PHP-FPM-a, zadržat ćemo se samo na UNIX utičnici. Većina PHP aplikacija trebala bi podržavati povezivanje s poslužiteljem baze podataka putem UNIX utičnice umjesto lokalnog sučelja povratne petlje.

cd /etc/mysql
vi my.cnf

Potražite "bind-address = 127.0.0.1". Komentirajte taj redak. Iznad ili ispod nje dodajte "skip-networking".

#bind-address = 127.0.0.1
skip-networking

Završili smo s MariaDB! Na kraju ćete možda htjeti prilagoditi svoju MariaDB konfiguraciju ovisno o tome hoćete li prvenstveno koristiti MyISAM ili InnoDB mehanizme za pohranu, ali i o broju CPU jezgri i RAM-a koji su dostupni vašem poslužitelju. Zadane postavke će nas u međuvremenu pokrenuti.

Ponovo pokrenimo svaku od usluga za koje su konfiguracijske datoteke izmijenjene u ovom vodiču.

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

To je to – svi smo gotovi. U ovom trenutku imate potpuno funkcionalan LNMP (LEMP) poslužitelj na mreži!

Ovaj vodič trebao je poslužiti kao opće pravilo za početak rada s gore navedenim uslugama uz minimalno podešavanje. Za dodatne informacije pročitajte dokumentaciju za gore navedene pakete. Iako bi ovaj primjer postavljanja trebao dobro funkcionirati "iz kutije", prilagodbe se mogu, a najvjerojatnije će i trebati, učiniti kako bi bolje odgovarale vašim potrebama.

Preporučena područja za istraživanje:

  • Korištenje i modificiranje NGINX-ove kontrole predmemorije.
  • PHP-FPM "statične", "dinamičke" ili "na zahtjev" postavke upravitelja zadataka.
  • Ugađanje performansi MariaDB-a kako biste maksimalno iskoristili svoj poslužitelj baze podataka.

Postavite Cacti na Debian Jessie

Postavite Cacti na Debian Jessie

Uvod Cacti je alat otvorenog koda za praćenje i crtanje koji se u potpunosti temelji na RRD podacima. Putem Cactusa možete pratiti gotovo sve vrste uređaja

Postavite iRedMail na Debian Wheezy

Postavite iRedMail na Debian Wheezy

Korištenje drugog sustava? Ovaj vodič će vam pokazati kako instalirati grupni softver iRedMail na novu instalaciju Debian Wheezyja. Trebali biste koristiti servis

Kako postaviti nenadzirane nadogradnje na Debianu 9 (protežu)

Kako postaviti nenadzirane nadogradnje na Debianu 9 (protežu)

Korištenje drugog sustava? Ako kupite Debian poslužitelj, uvijek biste trebali imati najnovije sigurnosne zakrpe i ažuriranja, bez obzira spavate li ili ne

Postavite svoj vlastiti DNS poslužitelj na Debian/Ubuntu

Postavite svoj vlastiti DNS poslužitelj na Debian/Ubuntu

Ovaj vodič objašnjava kako postaviti DNS poslužitelj pomoću Bind9 na Debianu ili Ubuntu. U cijelom članku u skladu s tim zamijenite your-domain-name.com. Na th

Prevedite i instalirajte Nginx s modulom PageSpeed ​​na Debian 8

Prevedite i instalirajte Nginx s modulom PageSpeed ​​na Debian 8

U ovom članku ćemo vidjeti kako sastaviti i instalirati Nginx mainline iz službenih izvora Nginxa s modulom PageSpeed, koji vam omogućuje da

Kako instalirati Kanboard na Debian 9

Kako instalirati Kanboard na Debian 9

Korištenje drugog sustava? Uvod Kanboard je besplatni softver za upravljanje projektima otvorenog koda koji je dizajniran za olakšavanje i vizualizaciju

Kako instalirati Giteu na Debian 9

Kako instalirati Giteu na Debian 9

Korištenje drugog sustava? Gitea je alternativni sustav za kontrolu verzija otvorenog koda s vlastitim hostom koji pokreće Git. Gitea je napisana na Golangu i jest

Instalirajte Lynis na Debian 8

Instalirajte Lynis na Debian 8

Uvod Lynis je besplatan alat za reviziju sustava otvorenog koda koji koriste mnogi administratori sustava za provjeru integriteta i jačanje svojih sustava. ja

Kako instalirati Thelia 2.3 na Debian 9

Kako instalirati Thelia 2.3 na Debian 9

Korištenje drugog sustava? Thelia je alat otvorenog koda za izradu web stranica e-poslovanja i upravljanje online sadržajem napisanim u PHP-u. Thelia izvorni kod i

Stvaranje mreže Minecraft poslužitelja s BungeeCord na Debian 8, Debian 9 ili CentOS 7

Stvaranje mreže Minecraft poslužitelja s BungeeCord na Debian 8, Debian 9 ili CentOS 7

Što vam treba Vultr VPS s najmanje 1 GB RAM-a. SSH pristup (s root/administrativnim privilegijama). Korak 1: Instalacija BungeeCord-a Najprije

Kako instalirati Golang 1.8.3 na CentOS 7, Ubuntu 16.04 i Debian 9

Kako instalirati Golang 1.8.3 na CentOS 7, Ubuntu 16.04 i Debian 9

Golang je programski jezik koji je razvio Google. Zahvaljujući svojoj svestranosti, jednostavnosti i pouzdanosti, Golang je postao jedan od najpopularnijih

Poništite MySQL root lozinku na Debian/Ubuntu

Poništite MySQL root lozinku na Debian/Ubuntu

Ako ste zaboravili svoju MySQL root lozinku, možete je poništiti slijedeći korake u ovom članku. Proces je prilično jednostavan i radi na njima

Stvaranje mrežnih dijeljenja pomoću Sambe na Debianu

Stvaranje mrežnih dijeljenja pomoću Sambe na Debianu

Ponekad moramo dijeliti datoteke koje Windows klijenti moraju vidjeti. Budući da sustavi temeljeni na Fuse-u rade samo na Linuxu, dobro je da se predstavimo

Postavljanje Counter Strike: Source na Debianu

Postavljanje Counter Strike: Source na Debianu

U ovom vodiču postavljat ćemo poslužitelj igre Counter Strike: Source na Debianu 7. Ove su naredbe testirane na Debianu 7, ali bi također trebale raditi o

Kako instalirati Unturned 2.2.5 na Debian 8

Kako instalirati Unturned 2.2.5 na Debian 8

U ovom vodiču naučit ćete kako postaviti Unturned 2.2.5 poslužitelj na Vultr VPS s Debianom 8. Napomena: Ovo je uređena verzija Unturneda koja ne

Kako instalirati Cachet na Debian 8

Kako instalirati Cachet na Debian 8

U ovom vodiču naučit ćete kako instalirati Cachet na Debian 8. Cachet je moćan sustav statusnih stranica otvorenog koda. Instalacija Ovaj vodič je u tijeku

Automatski sigurnosno kopirajte više MySQL ili MariaDB baza podataka

Automatski sigurnosno kopirajte više MySQL ili MariaDB baza podataka

Uvod U ovom tekstu dobro prođite kroz kako napraviti sigurnosnu kopiju više MySQL ili MariaDB baza podataka koje se nalaze na istom stroju koristeći prilagođenu bash skriptu

Postavljanje Chroot-a na Debian

Postavljanje Chroot-a na Debian

Ovaj članak će vas naučiti kako postaviti chroot zatvor na Debianu. Pretpostavljam da koristite Debian 7.x. Ako koristite Debian 6 ili 8, ovo bi moglo raditi, bu

Kako instalirati Reader Self 3.5 RSS Reader na Debian 9 LAMP VPS

Kako instalirati Reader Self 3.5 RSS Reader na Debian 9 LAMP VPS

Korištenje drugog sustava? Reader Self 3.5 je jednostavan i fleksibilan, besplatan i otvoreni izvor, RSS čitač s vlastitim hostingom i alternativa Google Readeru. Čitateljica Sel

Kako instalirati Backdrop CMS 1.8.0 na Debian 9 LAMP VPS

Kako instalirati Backdrop CMS 1.8.0 na Debian 9 LAMP VPS

Korištenje drugog sustava? Backdrop CMS 1.8.0 je jednostavan i fleksibilan, prilagođen mobilnim uređajima, besplatan i otvoreni sustav za upravljanje sadržajem (CMS) koji nam omogućuje

Uspon strojeva: primjene AI u stvarnom svijetu

Uspon strojeva: primjene AI u stvarnom svijetu

Umjetna inteligencija nije u budućnosti, ovdje je upravo u sadašnjosti. U ovom blogu Pročitajte kako su aplikacije umjetne inteligencije utjecale na različite sektore.

DDOS napadi: kratak pregled

DDOS napadi: kratak pregled

Jeste li i vi žrtva DDOS napada i zbunjeni ste metodama prevencije? Pročitajte ovaj članak kako biste riješili svoje upite.

Jeste li se ikada zapitali kako hakeri zarađuju novac?

Jeste li se ikada zapitali kako hakeri zarađuju novac?

Možda ste čuli da hakeri zarađuju mnogo novca, ali jeste li se ikada zapitali kako zarađuju toliki novac? raspravimo.

Revolucionarni Googleovi izumi koji će vam olakšati život.

Revolucionarni Googleovi izumi koji će vam olakšati život.

Želite li vidjeti revolucionarne izume Googlea i kako su ti izumi promijenili život svakog čovjeka danas? Zatim čitajte na blogu kako biste vidjeli Googleove izume.

Friday Essential: Što se dogodilo s automobilima s umjetnom inteligencijom?

Friday Essential: Što se dogodilo s automobilima s umjetnom inteligencijom?

Koncept samovozećih automobila koji će krenuti na ceste uz pomoć umjetne inteligencije san je koji već neko vrijeme imamo. No, unatoč nekoliko obećanja, nigdje ih nema. Pročitajte ovaj blog kako biste saznali više…

Tehnološka singularnost: daleka budućnost ljudske civilizacije?

Tehnološka singularnost: daleka budućnost ljudske civilizacije?

Kako se znanost razvija velikom brzinom, preuzimajući mnoge naše napore, raste i rizik da se podvrgnemo neobjašnjivoj Singularnosti. Pročitajte što bi za nas mogla značiti singularnost.

Evolucija pohrane podataka – Infografika

Evolucija pohrane podataka – Infografika

Metode pohrane podataka su se razvijale možda od rođenja podataka. Ovaj blog pokriva evoluciju pohrane podataka na temelju infografike.

Funkcionalnosti slojeva referentne arhitekture velikih podataka

Funkcionalnosti slojeva referentne arhitekture velikih podataka

Pročitajte blog kako biste na najjednostavniji način upoznali različite slojeve u arhitekturi velikih podataka i njihove funkcionalnosti.

6 nevjerojatnih prednosti posjedovanja pametnih kućnih uređaja u našim životima

6 nevjerojatnih prednosti posjedovanja pametnih kućnih uređaja u našim životima

U ovom digitalnom svijetu, pametni kućni uređaji postali su ključni dio života. Evo nekoliko nevjerojatnih prednosti pametnih kućnih uređaja o tome kako naš život čine vrijednim življenja i jednostavnijim.

Ažuriranje dodataka macOS Catalina 10.15.4 uzrokuje više problema nego što ih rješava

Ažuriranje dodataka macOS Catalina 10.15.4 uzrokuje više problema nego što ih rješava

Nedavno je Apple izdao macOS Catalina 10.15.4 dodatak ažuriranju kako bi riješio probleme, ali čini se da ažuriranje uzrokuje više problema koji dovode do zalijevanja mac strojeva. Pročitajte ovaj članak da biste saznali više