Nastavite NGINX, PHP-FPM in MariaDB na Debian 8

Nastavite NGINX, PHP-FPM in MariaDB na Debian 8

Ta priročnik vam bo pokazal, kako pravilno namestiti in konfigurirati "alternativni" sklad LAMP v Debian 8 z uporabo NGINX, PHP Fast Process Manager in MariaDB.

NGINX

NGINX je "prvi povratni proxy, drugi spletni strežnik". Je priljubljena in rastoča alternativa Apacheju, ki v mnogih primerih ponuja večjo prilagodljivost in boljšo zmogljivost. V tej vadnici ga bomo uporabljali kot naš spletni strežnik.

Zaženite svojega najljubšega odjemalca SSH in se prijavite v strežnik. Za uporabnike sistema Windows je "PuTTY" brezplačen in lahek odjemalec SSH. Uporabniki Linuxa in Maca lahko uporabljajo terminal, ki je privzeto vključen v njihov operacijski sistem. Za to vadnico bomo domnevali, da ste v strežnik prijavljeni kot "root" uporabnik.

Za začetek se prepričajmo, da je vse posodobljeno. Vnesite naslednje, da preverite in nato namestite posodobitve.

apt-get update && apt-get upgrade

Svoje konfiguracijske datoteke bomo urejali v vim. Vim ni privzeto nameščen, zato ga namestimo!

apt-get install vim

Zdaj je čas za namestitev NGINX. Namestiti bomo želeli najnovejšo različico NGINX iz uradnega skladišča 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

Zdaj moramo nekoliko prilagoditi konfiguracijo NGINX. Pomaknite se do konfiguracijskega imenika.

cd /etc/nginx

Hitra lekcija vim

Za krmarjenje po besedilnem dokumentu uporabite puščične tipke. Če želite začeti urejati, pritisnite gumb "vstavi" na tipkovnici. Če vaša tipkovnica nima gumba za vstavljanje, pritisnite tipko "i". Proti dnu vim-a boste opazili, da zdaj piše "INSERT". Način vstavljanja vam bo omogočil brisanje prek vračalke ali vstavljanje novih znakov tako, da jih vnesete.

Odprimo nginx.confin pobrskajmo naokoli:

vi nginx.conf

Spremenimo privzetega uporabnika, preverimo število delovnih procesov in izklopimo dnevnik dostopa.

Direktivi "user" in "worker_processes" sta blizu vrha. Preizkusite spodnje vrednosti:

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;

Prav tako bomo želeli onemogočiti dnevnik dostopa, da bi izboljšali zmogljivost V/I. S puščičnimi tipkami se pomikajte navzdol, dokler ne najdete "access_log". Spremenite ga na naslednje:

access_log off;

In nazadnje, nastavili bomo "client_max_body_size" tako, da bo ustrezal nekaterim kasnejšim spremembam PHP. Prihranimo težave in to storimo zdaj. Dodajte tik pod "access_log":

client_max_body_size 12m;

Ko končate z urejanjem, pritisnite "Esc" na tipkovnici. Vim ne bo več rekel "INSERT" proti dnu datoteke.

Če želite shraniti naše spremembe in zapreti vim, pritisnite naslednje zaporedje tipk:

SHIFT :(colon)
wq
Press "Enter"

Zgornji vim kung fu bo vaše spremembe zapisal na disk in zapustil vim ter vas spustil nazaj v bash lupino.

Zdaj moramo za naš primer narediti konfiguracijo, specifično za spletno mesto! Izbrisali bomo tudi druge primere konfiguracij. Poskusite naslednje:

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

Naredili bomo kratko in preprosto www.confna podlagi privzete konfiguracije NGINX, vendar z nekaj popravki. Pritisnite vstavi in ​​lahko kopirate/prilepite spodnji primer.

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

Zdaj smo končali z razdelkom o konfiguraciji NGINX te vadnice. NGINX bomo ponovno zagnali čez nekaj časa, takoj po namestitvi PHP.

PHP-FPM

PHP-FPM je upravitelj hitrih procesov PHP. To je potrebno pri uporabi NGINX, ker za razliko od Apache NGINX ne izvaja PHP kot modula. To je bilo storjeno za zmanjšanje pomnilniškega odtisa NGINX. Se spomnite tistega dela o tem, da je NGINX predvsem povratni proxy? Tukaj to pride v poštev; Zahteve PHP, poslane v NGINX, se pošljejo PHP-FPM, da opravi težko delo.

Namestimo 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

Zdaj, ko imamo nameščen PHP-FPM, bomo želeli narediti nekaj hitrih sprememb za izboljšanje varnosti in funkcionalnosti.

cd /etc/php5/fpm
vi php.ini

Čas je za še eno hitro lekcijo vim! php.iniDatoteka je absolutno ogromen. Iskanje nekaj ključnih vrednosti bo trajalo ves dan. Torej, ker vemo, kaj iščemo, bomo poiskali. Vnesite naslednje:

/upload_max_filesize

To je privzeto nastavljeno na 2 megabajta. Če želite uporabnikom omogočiti nalaganje datotek v vaše PHP aplikacije, večje od 2 megabajtov, boste morali to spremeniti. 10M je za zdaj verjetno varna stava, vendar so sprejemljive tudi višje vrednosti. Ta nastavitev se razlikuje glede na konfiguracijo. Zaradi vadnice:

upload_max_filesize = 10M

Še ena očitna varnostna napaka. Pomaknite se še malo navzdol ali poiščite. "allow_url_fopen" moramo spremeniti na "Off". To bo preprečilo, da bi PHP zagnal datoteke PHP, ki gostujejo na daljavo, sicer znane kot RFI (oddaljena vključitev datotek). Številni strežniki so vdrti na ta način.

allow_url_fopen = Off

In ker smo spremenili "upload_max_filesize", moramo zdaj spremeniti "post_max_size". Ta vrednost bi morala biti malo večja od "upload_max_filesize", ker moramo upoštevati obremenitve, povezane z našimi zahtevami, ki jih obdela PHP.

Iščimo še enkrat z "/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.

Toliko zaenkrat. Prepričajte se, da niste v načinu za urejanje, tako da pritisnete "Esc". Shranite in zaprite vim.

SHIFT :(colon)
wq
Press 'Enter'

Nastavitev PHP-FPM je končana.

MariaDB

Tudi v svetu, ki se nenehno premika proti NoSQL ali MongoDB, se nekaterim še vedno lažje držimo MySQL. To še posebej velja za številne spletne aplikacije. Na srečo zdaj obstajajo številne "vstopne" zamenjave za Oracle MySQL. Debian 8 zdaj vključuje vedno priljubljeno MariaDB. MariaDB je fork Oracle MySQL, ki temelji na različici 5.5. MariaDB za vse namene imenuje to MariaDB 10. Šteje se za POPOLNO zamenjavo za Oracle MySQL. Pomislite na to kot na MySQL po srcu, brez blagovne znamke Oracle in nekaterih novih funkcij.

apt-get install mariadb-server

POMEMBNO: Vsekakor morate izbrati močno root geslo za MariaDB. Shranite ga nekam na varno. Med namestitvijo MariaDB ga boste morali vnesti dvakrat.

Malo popravimo konfiguracijo MariaDB. Poslušanje MariaDB bomo onemogočili prek omrežnega vmesnika. Namesto tega se bomo, kot prej pri PHP-FPM, držali samo vtičnice UNIX. Večina aplikacij PHP bi morala podpirati povezavo s strežnikom baze podatkov prek vtičnice UNIX namesto lokalnega vmesnika za povratno zanko.

cd /etc/mysql
vi my.cnf

Poiščite "bind-address = 127.0.0.1". Komentirajte to vrstico. Nad ali pod njo dodajte "skip-networking".

#bind-address = 127.0.0.1
skip-networking

Končali smo z MariaDB! Sčasoma boste morda želeli prilagoditi svojo konfiguracijo MariaDB glede na to, ali boste uporabljali predvsem pomnilniške motorje MyISAM ali InnoDB, pa tudi glede na število jeder CPU in RAM-a, ki so na voljo vašemu strežniku. Privzete nastavitve nas bodo medtem spravile v pogon.

Znova zaženimo vsako od storitev, za katere so bile v tej vadnici spremenjene konfiguracijske datoteke.

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

To je to – vsi smo končali. Na tej točki imate na spletu popolnoma delujoč strežnik LNMP (LEMP)!

Ta vodnik naj bi služil kot splošno pravilo za začetek z zgornjimi storitvami z minimalnimi nastavitvami. Za dodatne informacije preberite dokumentacijo za zgornje pakete. Čeprav bi ta primer namestitve moral dobro delovati "iz škatle", lahko prilagoditve in najverjetneje jih bo treba izvesti tako, da bolje ustrezajo vašim potrebam.

Priporočena področja za raziskovanje:

  • Uporaba in spreminjanje nadzora predpomnilnika NGINX.
  • PHP-FPM "statične", "dinamične" ali "ondemand" nastavitve upravitelja opravil.
  • Nastavitev zmogljivosti MariaDB, da kar najbolje izkoristite svoj strežnik baz podatkov.

Kako nastaviti nenadzorovane nadgradnje na Debian 9 (raztegni)

Kako nastaviti nenadzorovane nadgradnje na Debian 9 (raztegni)

Uporaba drugega sistema? Če kupite strežnik Debian, morate vedno imeti najnovejše varnostne popravke in posodobitve, ne glede na to, ali spite ali ne

Nastavite svoj DNS strežnik na Debian/Ubuntu

Nastavite svoj DNS strežnik na Debian/Ubuntu

Ta vadnica pojasnjuje, kako nastaviti strežnik DNS z uporabo Bind9 v Debianu ali Ubuntuju. V celotnem članku ustrezno nadomestite your-domain-name.com. Ob th

Prevedite in namestite Nginx z modulom PageSpeed ​​na Debian 8

Prevedite in namestite Nginx z modulom PageSpeed ​​na Debian 8

V tem članku bomo videli, kako prevesti in namestiti Nginx mainline iz uradnih virov Nginxa z modulom PageSpeed, ki vam omogoča

Kako namestiti Kanboard na Debian 9

Kako namestiti Kanboard na Debian 9

Uporaba drugega sistema? Uvod Kanboard je brezplačen in odprtokodni program za vodenje projektov, ki je zasnovan za olajšanje in vizualizacijo

Kako namestiti Giteo na Debian 9

Kako namestiti Giteo na Debian 9

Uporaba drugega sistema? Gitea je alternativni odprtokodni sistem za nadzor različic, ki ga poganja Git. Gitea je napisana v Golangu in je

Namesti Lynis na Debian 8

Namesti Lynis na Debian 8

Uvod Lynis je brezplačno, odprtokodno orodje za revizijo sistema, ki ga uporabljajo številni sistemski skrbniki za preverjanje integritete in utrjevanje svojih sistemov. jaz

Kako namestiti Thelia 2.3 na Debian 9

Kako namestiti Thelia 2.3 na Debian 9

Uporaba drugega sistema? Thelia je odprtokodno orodje za ustvarjanje spletnih strani e-poslovanja in upravljanje spletnih vsebin, napisanih v PHP. Izvorna koda Thelia i

Ustvarjanje omrežja strežnikov Minecraft z BungeeCord na Debian 8, Debian 9 ali CentOS 7

Ustvarjanje omrežja strežnikov Minecraft z BungeeCord na Debian 8, Debian 9 ali CentOS 7

Kaj potrebujete Vultr VPS z vsaj 1 GB RAM-a. SSH dostop (z root/administrativnimi pravicami). 1. korak: Namestitev BungeeCord Najprej najprej

Kako namestiti Golang 1.8.3 na CentOS 7, Ubuntu 16.04 in Debian 9

Kako namestiti Golang 1.8.3 na CentOS 7, Ubuntu 16.04 in Debian 9

Golang je programski jezik, ki ga je razvil Google. Zahvaljujoč svoji vsestranskosti, preprostosti in zanesljivosti je Golang postal eden najbolj priljubljenih

Ponastavite korensko geslo MySQL na Debian/Ubuntu

Ponastavite korensko geslo MySQL na Debian/Ubuntu

Če ste pozabili korensko geslo MySQL, ga lahko ponastavite tako, da sledite korakom v tem članku. Postopek je precej preprost in deluje na njih

Nastavitev Counter Strike: Source v Debianu

Nastavitev Counter Strike: Source v Debianu

V tem priročniku bomo postavili strežnik iger Counter Strike: Source na Debian 7. Ti ukazi so bili preizkušeni v Debianu 7, vendar bi morali delovati tudi o

Kako namestiti Unturned 2.2.5 na Debian 8

Kako namestiti Unturned 2.2.5 na Debian 8

V tem priročniku se boste naučili, kako nastaviti strežnik Unturned 2.2.5 na Vultr VPS z Debianom 8. Opomba: To je urejena različica Unturned, ki ne

Kako namestiti Cachet na Debian 8

Kako namestiti Cachet na Debian 8

V tej vadnici se boste naučili, kako namestiti Cachet v Debian 8. Cachet je zmogljiv odprtokodni sistem strani s stanjem. Namestitev Ta vadnica se nadaljuje

Samodejno varnostno kopirajte več baz podatkov MySQL ali MariaDB

Samodejno varnostno kopirajte več baz podatkov MySQL ali MariaDB

Uvod V tem zapisu si oglejte, kako varnostno kopirati več baz podatkov MySQL ali MariaDB, ki se nahajajo na istem računalniku z uporabo bash skripta po meri.

Nastavitev Chroota v Debianu

Nastavitev Chroota v Debianu

Ta članek vas bo naučil, kako nastaviti chroot jail v Debianu. Predvidevam, da uporabljate Debian 7.x. Če uporabljate Debian 6 ali 8, bo to morda delovalo, bu

How to Install Reader Self 3.5 RSS Reader on a Debian 9 LAMP VPS

How to Install Reader Self 3.5 RSS Reader on a Debian 9 LAMP VPS

Using a Different System? Reader Self 3.5 is a simple and flexible, free and open source, self-hosted RSS reader and Google Reader alternative. Reader Sel

Kako namestiti Backdrop CMS 1.8.0 na Debian 9 LAMP VPS

Kako namestiti Backdrop CMS 1.8.0 na Debian 9 LAMP VPS

Uporaba drugega sistema? Backdrop CMS 1.8.0 je preprost in prilagodljiv, mobilnim prijazen, brezplačen in odprtokoden sistem za upravljanje vsebine (CMS), ki nam omogoča

Kako namestiti SteamCMD na vaš VPS

Kako namestiti SteamCMD na vaš VPS

V tej vadnici bomo namestili SteamCMD. SteamCMD lahko uporabite za prenos in namestitev številnih strežnikov za igre Steam, kot je Counter-Strike: Global Offensiv

Nadgradite Python na Debian

Nadgradite Python na Debian

Kot morda veste, se skladišča Debian posodabljajo zelo počasi. V času pisanja sta izdani različici Pythona na 2.7.12 in 3.5.2, vendar v skladišču Debian 8

Kako nastaviti Sambo z blokovnim pomnilnikom v Debianu 9

Kako nastaviti Sambo z blokovnim pomnilnikom v Debianu 9

Samba je odprtokodna rešitev, ki uporabnikom omogoča hitro in varno nastavitev skupne rabe datotek in tiska. V tem članku bom obravnaval, kako nastaviti Samba wit

Vzpon strojev: aplikacije AI v resničnem svetu

Vzpon strojev: aplikacije AI v resničnem svetu

Umetna inteligenca ni v prihodnosti, tukaj je prav v sedanjosti. V tem blogu preberite, kako so aplikacije umetne inteligence vplivale na različne sektorje.

DDOS napadi: kratek pregled

DDOS napadi: kratek pregled

Ste tudi vi žrtev DDOS napadov in ste zmedeni glede načinov preprečevanja? Preberite ta članek, če želite rešiti svoja vprašanja.

Ste se kdaj vprašali, kako hekerji zaslužijo denar?

Ste se kdaj vprašali, kako hekerji zaslužijo denar?

Morda ste že slišali, da hekerji zaslužijo veliko denarja, a ste se kdaj vprašali, kako zaslužijo takšen denar? razpravljajmo.

Revolucionarni Googlovi izumi, ki vam bodo olajšali življenje.

Revolucionarni Googlovi izumi, ki vam bodo olajšali življenje.

Ali želite videti revolucionarne izume Googla in kako so ti izumi danes spremenili življenje vsakega človeka? Nato preberite v blogu in si oglejte Googlove izume.

Friday Essential: Kaj se je zgodilo z avtomobili, ki jih poganja umetna inteligenca?

Friday Essential: Kaj se je zgodilo z avtomobili, ki jih poganja umetna inteligenca?

Koncept samovozečih avtomobilov, ki zapeljejo na ceste s pomočjo umetne inteligence, so sanje, ki jih imamo že nekaj časa. A kljub številnim obljubam jih ni nikjer. Preberite ta blog, če želite izvedeti več…

Tehnološka singularnost: oddaljena prihodnost človeške civilizacije?

Tehnološka singularnost: oddaljena prihodnost človeške civilizacije?

Ker se znanost hitro razvija in prevzame veliko naših prizadevanj, se povečuje tudi tveganje, da se podvržemo nerazložljivi singularnosti. Preberite, kaj bi za nas lahko pomenila singularnost.

Razvoj shranjevanja podatkov – Infografika

Razvoj shranjevanja podatkov – Infografika

Metode shranjevanja podatkov so se lahko razvijale od rojstva podatkov. Ta blog pokriva razvoj shranjevanja podatkov na podlagi infografike.

Funkcionalnosti slojev referenčne arhitekture velikih podatkov

Funkcionalnosti slojev referenčne arhitekture velikih podatkov

Preberite blog, če želite na najpreprostejši način spoznati različne plasti v arhitekturi velikih podatkov in njihove funkcionalnosti.

6 neverjetnih prednosti pametnih naprav za dom v našem življenju

6 neverjetnih prednosti pametnih naprav za dom v našem življenju

V tem digitalno vodenem svetu so pametne naprave za dom postale ključni del življenja. Tukaj je nekaj neverjetnih prednosti pametnih naprav za dom o tem, kako naredijo naše življenje vredno življenja in poenostavijo.

Posodobitev dodatka macOS Catalina 10.15.4 povzroča več težav kot jih rešuje

Posodobitev dodatka macOS Catalina 10.15.4 povzroča več težav kot jih rešuje

Pred kratkim je Apple izdal macOS Catalina 10.15.4 dopolnilno posodobitev za odpravo težav, vendar se zdi, da posodobitev povzroča več težav, ki vodijo do opečenja računalnikov Mac. Preberite ta članek, če želite izvedeti več