Settu upp NGINX, PHP-FPM og MariaDB á Debian 8

Þessi handbók mun sýna þér hvernig á að setja upp og stilla „val“ LAMP-stafla á Debian 8 rétt með því að nota NGINX, PHP Fast Process Manager og MariaDB.

NGINX

NGINX er „reverse proxy first, web server second“. Það er vinsæll og vaxandi valkostur við Apache, sem býður upp á meiri sveigjanleika og betri frammistöðu í mörgum tilfellum. Í þessari kennslu munum við nota það sem vefþjóninn okkar.

Kveiktu á uppáhalds SSH biðlaranum þínum og skráðu þig inn á netþjóninn þinn. Fyrir Windows notendur er „PuTTY“ ókeypis og léttur SSH viðskiptavinur. Linux og Mac notendur geta notað flugstöðina sem fylgir sjálfgefið stýrikerfi þeirra. Fyrir þessa kennslu munum við gera ráð fyrir að þú sért skráður inn á netþjóninn þinn sem „rót“ notandi.

Til að byrja með skulum við bara ganga úr skugga um að allt sé uppfært. Sláðu inn eftirfarandi til að leita að og setja síðan upp uppfærslur.

apt-get update && apt-get upgrade

Við munum breyta stillingarskrám okkar í vim. Vim er ekki sjálfgefið uppsett, svo við skulum setja það upp!

apt-get install vim

Nú er kominn tími til að setja upp NGINX. Við viljum setja upp nýjustu útgáfuna af NGINX frá opinberu NGINX Debian geymslunni.

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

Nú þurfum við að fínstilla NGINX uppsetninguna. Farðu í stillingarskrána.

cd /etc/nginx

Fljótleg vim kennslustund

Notaðu örvatakkana til að fletta í textaskjalinu. Til að byrja að gera breytingar, ýttu á "insert" hnappinn á lyklaborðinu þínu. Ef lyklaborðið þitt er ekki með innsetningarhnapp, ýttu síðan á "i" takkann. Neðst á vim muntu taka eftir því að nú stendur "INSERT". Insert mode gerir þér kleift að eyða með backspace eða setja inn nýja stafi með því að slá þá inn.

Við skulum opna okkar nginx.confog pæla í:

vi nginx.conf

Við skulum breyta sjálfgefnum notanda, athuga fjölda starfsmannaferla og slökkva á aðgangsskránni.

Tilskipanirnar „notandi“ og „starfsferli“ eru nálægt toppnum. Prófaðu gildin hér að neðan:

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;

Við viljum líka slökkva á aðgangsskránni til að bæta I/O árangur. Farðu niður með örvatökkunum þar til þú finnur "access_log". Breyttu því í eftirfarandi:

access_log off;

Og að lokum munum við stilla „client_max_body_size“ til að samsvara nokkrum breytingum sem gerðar eru á PHP síðar. Við skulum bjarga vandræðunum og gera það núna. Bættu við rétt fyrir neðan "access_log":

client_max_body_size 12m;

Þegar þú hefur lokið við að breyta skaltu ýta á "Esc" á lyklaborðinu þínu. Vim mun ekki lengur segja „INSERT“ neðst á skránni.

Til að vista breytingar okkar og hætta vim, ýttu á eftirfarandi lyklaröð:

SHIFT :(colon)
wq
Press "Enter"

Ofangreind vim kung fu mun skrifa breytingarnar þínar á diskinn og hætta vim og sleppa þér aftur í bash skelina.

Nú þurfum við að búa til staðbundna uppsetningu fyrir dæmið okkar! Við munum einnig eyða hinum dæmistillingunum. Prófaðu eftirfarandi:

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

Við munum gera stutta og einfalda www.confbyggða lauslega á sjálfgefnum NGINX stillingum, en með nokkrum klipum. Ýttu á Insert og þú getur copy/pastet dæmið hér að neðan.

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

Nú erum við búin með NGINX stillingarhlutann í þessari kennslu. Við endurræsum NGINX eftir smá stund, rétt eftir að við höfum sett upp PHP.

PHP-FPM

PHP-FPM er PHP Fast Process Manager. Það er nauðsynlegt þegar NGINX er notað, því ólíkt Apache keyrir NGINX ekki PHP sem einingu. Þetta var gert til að minnka minnisfótspor NGINX. Manstu eftir þeim hluta um að NGINX sé öfugt umboð fyrst og fremst? Hér er þar sem það kemur við sögu; PHP beiðnir sem sendar eru til NGINX eru færðar til PHP-FPM til að gera þungar lyftingar.

Við skulum setja upp 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

Nú þegar við höfum fengið PHP-FPM uppsett, viljum við gera nokkrar fljótlegar breytingar til að auka öryggi og virkni.

cd /etc/php5/fpm
vi php.ini

Kominn tími á aðra fljótlega vim kennslu! The php.iniskrá er alveg gríðarstór. Að leita að nokkrum lykilgildum mun taka allan daginn. Svo þar sem við vitum að hverju við erum að leita að, munum við leita. Sláðu inn eftirfarandi:

/upload_max_filesize

Þetta er sjálfgefið stillt á 2 megabæti. Ef þú vilt leyfa notendum að hlaða upp skrám í PHP forritin þín sem eru stærri en 2 megabæti þarftu að breyta þessu. 10M er líklega öruggt veðmál í bili, en hærri gildi eru líka ásættanleg. Þessi stilling mun vera mismunandi eftir stillingum. Fyrir sakir kennslu:

upload_max_filesize = 10M

Enn einn áberandi öryggisgallinn. Skrunaðu aðeins lengra niður eða leitaðu. Við þurfum að breyta „allow_url_fopen“ í „Slökkt“. Þetta kemur í veg fyrir að PHP keyri PHP skrár sem hýstar eru Fjarlægt, annars þekktar sem RFI (Remote File Inclusion). Margir netþjónar eru hakkaðir á þennan hátt.

allow_url_fopen = Off

Og vegna þess að við breyttum „upload_max_filesize“ verðum við núna að breyta „post_max_size“. Þetta gildi ætti að vera aðeins stærra en "upload_max_filesize", vegna þess að við verðum að taka tillit til kostnaðar sem tengist beiðnum okkar sem PHP vinnur úr.

Leitum enn einu sinni með "/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.

Það er um það bil í bili. Gakktu úr skugga um að þú sért ekki í breytingaham með því að ýta á "Esc". Vista og hætta vim.

SHIFT :(colon)
wq
Press 'Enter'

PHP-FPM uppsetningu er lokið.

MariaDB

Jafnvel í heimi sem stefnir stöðugt í átt að NoSQL eða MongoDB, finnst sumum okkar samt auðveldara að halda okkur við MySQL. Þetta á sérstaklega við um mörg vefforrit. Sem betur fer er nú til fjöldi „drop-in“ í staðinn fyrir Oracle MySQL. Debian 8 inniheldur nú hinn sívinsæla MariaDB. MariaDB er gaffal af Oracle MySQL byggt á útgáfu 5.5. MariaDB, hvað sem öðru líður, kallar þetta MariaDB 10. Það er talið FULLT skipti fyrir Oracle MySQL. Hugsaðu um það sem MySQL í hjartanu, án Oracle vörumerkisins og nokkra nýja eiginleika.

apt-get install mariadb-server

MIKILVÆGT: Þú þarft örugglega að velja sterkt rót lykilorð fyrir MariaDB. Vistaðu það einhvers staðar á öruggan hátt. Þú þarft að slá það inn tvisvar meðan á MariaDB uppsetningu stendur.

Við skulum fínstilla MariaDB stillinguna örlítið. Við ætlum að slökkva á MariaDB hlustun í gegnum netviðmótið. Í staðinn, eins og með PHP-FPM áðan, höldum við okkur aðeins við UNIX fals. Flest PHP forrit ættu að styðja tengingu við gagnagrunnsþjóninn í gegnum UNIX fals í stað heimtaugarviðmótsins.

cd /etc/mysql
vi my.cnf

Leitaðu að "binding-address = 127.0.0.1". Athugaðu línuna. Fyrir ofan eða neðan er bætt við „skip-networking“.

#bind-address = 127.0.0.1
skip-networking

Við erum búin með MariaDB! Að lokum gætirðu viljað fínstilla MariaDB stillingarnar þínar eftir því hvort þú notar fyrst og fremst MyISAM eða InnoDB geymsluvélarnar, en einnig fyrir fjölda CPU kjarna og vinnsluminni sem er tiltækt fyrir netþjóninn þinn. Vanskilin munu koma okkur í gang á meðan.

Við skulum endurræsa hverja þjónustu sem stillingarskrám var breytt fyrir í þessari kennslu.

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

Það er það - við erum öll búin. Á þessum tímapunkti ertu með fullvirkan LNMP (LEMP) netþjón á netinu!

Þessi handbók átti að þjóna sem almenn þumalputtaregla til að byrja með ofangreinda þjónustu með lágmarks klipum. Fyrir frekari upplýsingar, lestu skjölin fyrir ofangreinda pakka. Þó að þessi uppsetning dæmi ætti að virka vel „úr kassanum“, getur og verður líklegast að gera breytingar til að henta þínum þörfum betur.

Ráðlögð svæði til að rannsaka:

  • Að nýta og breyta skyndiminnisstýringu NGINX.
  • PHP-FPM „static“, „dynamic“ eða „ondemand“ verkefnastjórastillingar.
  • MariaDB árangursstilling til að fá sem mest út úr gagnagrunnsþjóninum þínum.

Skildu eftir athugasemd

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Gervigreind er ekki í framtíðinni, hún er hér í nútímanum Í þessu bloggi Lestu hvernig gervigreindarforrit hafa haft áhrif á ýmsa geira.

DDOS árásir: Stutt yfirlit

DDOS árásir: Stutt yfirlit

Ertu líka fórnarlamb DDOS árása og ruglaður með forvarnaraðferðirnar? Lestu þessa grein til að leysa spurningar þínar.

Hefur þú einhvern tíma velt því fyrir þér hvernig tölvuþrjótar græða peninga?

Hefur þú einhvern tíma velt því fyrir þér hvernig tölvuþrjótar græða peninga?

Þú gætir hafa heyrt að tölvuþrjótar græða mikið af peningum, en hefur þú einhvern tíma velt því fyrir þér hvernig þeir vinna sér inn svona peninga? við skulum ræða.

Byltingarkenndar uppfinningar frá Google sem munu auðvelda lífi þínu.

Byltingarkenndar uppfinningar frá Google sem munu auðvelda lífi þínu.

Viltu sjá byltingarkenndar uppfinningar frá Google og hvernig þessar uppfinningar breyttu lífi hvers manns í dag? Lestu síðan til að blogga til að sjá uppfinningar frá Google.

Föstudagur Nauðsynlegur: Hvað varð um gervigreindardrifna bíla?

Föstudagur Nauðsynlegur: Hvað varð um gervigreindardrifna bíla?

Hugmyndin um að sjálfkeyrandi bílar fari á göturnar með hjálp gervigreindar er draumur sem við höfum átt um tíma núna. En þrátt fyrir nokkur loforð eru þau hvergi sjáanleg. Lestu þetta blogg til að læra meira…

Tæknileg sérkenni: Fjarlæg framtíð mannlegrar siðmenningar?

Tæknileg sérkenni: Fjarlæg framtíð mannlegrar siðmenningar?

Þar sem vísindin þróast hratt og taka yfir mikið af viðleitni okkar, eykst hættan á því að verða fyrir óútskýranlegri einstæðu. Lestu, hvað sérkenni gæti þýtt fyrir okkur.

Virkni Big Data Reference Architecture Layers

Virkni Big Data Reference Architecture Layers

Lestu bloggið til að þekkja mismunandi lög í Big Data Architecture og virkni þeirra á einfaldasta hátt.

Þróun gagnageymslu – Infographic

Þróun gagnageymslu – Infographic

Geymsluaðferðir gagna hafa verið að þróast gæti verið frá fæðingu gagna. Þetta blogg fjallar um þróun gagnageymslu á grundvelli upplýsingamynda.

6 ótrúlegir kostir þess að hafa snjall heimilistæki í lífi okkar

6 ótrúlegir kostir þess að hafa snjall heimilistæki í lífi okkar

Í þessum stafræna heimi hafa snjallheimilistæki orðið afgerandi hluti af lífi. Hér eru nokkrir ótrúlegir kostir snjallheimatækja um hvernig þau gera líf okkar þess virði að lifa því og einfaldara.

macOS Catalina 10.15.4 viðbót uppfærsla veldur fleiri vandamálum en að leysa

macOS Catalina 10.15.4 viðbót uppfærsla veldur fleiri vandamálum en að leysa

Nýlega gaf Apple út macOS Catalina 10.15.4 viðbótaruppfærslu til að laga vandamál en svo virðist sem uppfærslan sé að valda fleiri vandamálum sem leiða til múrsteins á Mac vélum. Lestu þessa grein til að læra meira