NGINX
Një mësim i shpejtë vim
PHP-FPM
MariaDB
Ky udhëzues do t'ju tregojë se si të instaloni dhe konfiguroni saktë një stack "alternativ" LAMP në Debian 8 duke përdorur NGINX, PHP Fast Process Manager dhe MariaDB.
NGINX
NGINX është një "proxy i kundërt së pari, serveri i uebit së dyti". Është një alternativë popullore dhe në rritje për Apache, duke ofruar fleksibilitet më të madh dhe performancë më të mirë në shumë raste. Në këtë tutorial, ne do ta përdorim atë si serverin tonë të internetit.
Ndizni klientin tuaj të preferuar SSH dhe identifikohuni në serverin tuaj. Për përdoruesit e Windows, "PuTTY" është një klient SSH falas dhe i lehtë. Përdoruesit e Linux dhe Mac mund të përdorin terminalin e përfshirë si parazgjedhje me sistemin e tyre operativ. Për këtë tutorial, ne do të supozojmë se jeni regjistruar në serverin tuaj si përdoruesi "root".
Për fillestarët, le të sigurohemi që gjithçka të jetë e përditësuar. Shkruani sa vijon për të kontrolluar dhe më pas instaloni përditësimet.
apt-get update && apt-get upgrade
Ne do të redaktojmë skedarët tanë të konfigurimit në vim. Vim nuk është i instaluar si parazgjedhje, kështu që le ta instalojmë!
apt-get install vim
Tani është koha për të instaluar NGINX. Ne do të duam të instalojmë versionin më të fundit të NGINX nga depoja zyrtare e 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
Tani duhet të rregullojmë disa konfigurime NGINX. Navigoni te drejtoria e konfigurimit.
cd /etc/nginx
Një mësim i shpejtë vim
Përdorni tastet e shigjetave për të lundruar në dokumentin e tekstit. Për të filluar modifikimet, shtypni butonin "fut" në tastierën tuaj. Nëse tastiera juaj nuk ka një buton insert, atëherë shtypni butonin "i". Në fund të vim-it do të vini re se tani thotë "INSERT". Modaliteti i futjes do t'ju lejojë të fshini përmes "backspace" ose të futni karaktere të reja duke i shtypur ato.
Le të hapim nginx.conf
dhe të vërtitemi:
vi nginx.conf
Le të ndryshojmë përdoruesin e paracaktuar, të kontrollojmë numrin e proceseve të punës dhe të çaktivizojmë regjistrin e aksesit.
Direktivat "user" dhe "worker_processes" janë afër majës. Provoni vlerat e mëposhtme:
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;
Do të duam gjithashtu të çaktivizojmë regjistrin e aksesit, për hir të përmirësimit të performancës I/O. Lundroni poshtë me tastet e shigjetave derisa të gjeni "access_log". Ndryshojeni atë në sa vijon:
access_log off;
Dhe së fundi, ne do të vendosim "client_max_body_size" që të korrespondojë me disa ndryshime të bëra në PHP më vonë. Le të shpëtojmë telashet dhe ta bëjmë tani. Shto pak më poshtë "access_log":
client_max_body_size 12m;
Kur të keni përfunduar redaktimi, shtypni "Esc" në tastierën tuaj. Vim nuk do të thotë më "INSERT" në fund të skedarit.
Për të ruajtur ndryshimet tona dhe për të dalë nga vim, shtypni sekuencën e mëposhtme të tasteve:
SHIFT :(colon)
wq
Press "Enter"
Vim kung fu i mësipërm do të shkruajë ndryshimet tuaja në disk dhe do të dalë nga vim, duke ju hedhur përsëri në guaskën bash.
Tani, ne duhet të bëjmë një konfigurim specifik të faqes për shembullin tonë! Ne gjithashtu do të fshijmë konfigurimet e tjera të shembujve. Provoni sa vijon:
cd conf.d
rm example_ssl.conf default.conf
vi my_site.conf
Ne do të bëjmë një të shkurtër dhe të thjeshtë www.conf
bazuar në konfigurimin e paracaktuar të NGINX, por me disa ndryshime. Shtypni insert dhe mund të kopjoni/ngjisni shembullin e mëposhtëm.
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;
}
}
Tani kemi mbaruar me seksionin e konfigurimit NGINX të këtij tutoriali. Do të rinisim NGINX pas pak, menjëherë pasi të instalojmë PHP.
PHP-FPM
PHP-FPM është Menaxheri i Procesit të Shpejtë PHP. Kërkohet kur përdorni NGINX, sepse ndryshe nga Apache, NGINX nuk ekzekuton PHP si modul. Kjo është bërë për të reduktuar gjurmën e kujtesës së NGINX. E mbani mend atë pjesë rreth NGINX që është një përfaqësues i kundërt para së gjithash? Ja ku hyn në lojë kjo; Kërkesat PHP të dërguara te NGINX ushqehen në PHP-FPM për të bërë ngritje të rënda.
Le të instalojmë 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
Tani që kemi instaluar PHP-FPM, do të duam të bëjmë disa modifikime të shpejta për të përmirësuar sigurinë dhe funksionalitetin.
cd /etc/php5/fpm
vi php.ini
Koha për një tjetër mësim të shpejtë vim! php.ini
Skedë është absolutisht e madhe. Kërkimi i disa vlerave kryesore do të zgjasë gjithë ditën. Pra, duke qenë se ne e dimë se çfarë po kërkojmë, ne do të kërkojmë. Shkruani sa vijon:
/upload_max_filesize
Kjo, si parazgjedhje, është vendosur në 2 megabajt. Nëse dëshironi t'i lejoni përdoruesit të ngarkojnë skedarë në aplikacionet tuaja PHP më të mëdha se 2 megabajt, do t'ju duhet ta ndryshoni këtë. 10 milion është ndoshta një bast i sigurt për momentin, por vlerat më të larta janë gjithashtu të pranueshme. Ky cilësim do të ndryshojë midis konfigurimeve. Për hir të tutorialit:
upload_max_filesize = 10M
Një tjetër e metë e dukshme sigurie. Lëvizni poshtë pak më tej ose kërkoni. Duhet ta kthejmë "allow_url_fopen" në "Off". Kjo do të parandalojë që PHP të ekzekutojë skedarët PHP të strehuar në distancë, i njohur ndryshe si RFI (Përfshirja e skedarëve në distancë). Shumë serverë janë hakuar në këtë mënyrë.
allow_url_fopen = Off
Dhe për shkak se kemi ndryshuar "upload_max_filesize", tani duhet të ndryshojmë "post_max_size". Kjo vlerë duhet të jetë pak më e madhe se "upload_max_filesize", sepse duhet të marrim parasysh shpenzimet e përgjithshme që lidhen me kërkesat tona të përpunuara nga PHP.
Le të kërkojmë edhe një herë 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.
Kaq është për momentin. Sigurohuni që të mos jeni në modalitetin e redaktimit duke shtypur "Esc". Ruani dhe dilni nga vim.
SHIFT :(colon)
wq
Press 'Enter'
Konfigurimi i PHP-FPM ka përfunduar.
MariaDB
Edhe në një botë që lëviz vazhdimisht drejt NoSQL ose MongoDB, disa prej nesh ende e kanë më të lehtë të qëndrojnë vetëm me MySQL. Kjo është veçanërisht e vërtetë për shumë aplikacione në internet. Për fat të mirë, tani ekzistojnë një numër zëvendësimesh "drop-in" për Oracle MySQL. Debian 8 tani përfshin MariaDB gjithnjë e më popullore. MariaDB është një fork i Oracle MySQL bazuar në versionin 5.5. MariaDB, për të gjitha qëllimet dhe qëllimet, e quan këtë MariaDB 10. Konsiderohet si një zëvendësim i PLOTË për Oracle MySQL. Mendoni si MySQL në zemër, pa markën e Oracle dhe disa veçori të reja.
apt-get install mariadb-server
E RËNDËSISHME: Ju absolutisht, pozitivisht, duhet të zgjidhni një fjalëkalim të fortë root për MariaDB. Ruajeni diku të sigurt. Ju do të duhet ta futni atë dy herë gjatë instalimit të MariaDB.
Le të shkulim pak konfigurimin e MariaDB. Ne do të çaktivizojmë dëgjimin e MariaDB përmes ndërfaqes së rrjetit. Në vend të kësaj, si me PHP-FPM më parë, ne do të qëndrojmë vetëm në një fole UNIX. Shumica e aplikacioneve PHP duhet të mbështesin lidhjen me serverin e bazës së të dhënave nëpërmjet një foleje UNIX në vend të ndërfaqes lokale loopback.
cd /etc/mysql
vi my.cnf
Kërkoni "bind-address = 127.0.0.1". Komentoni atë rresht. Mbi ose poshtë saj shtoni "kaloni-networking".
#bind-address = 127.0.0.1
skip-networking
Ne kemi mbaruar me MariaDB! Përfundimisht, mund të dëshironi të ndryshoni konfigurimin tuaj MariaDB në varësi të faktit nëse do të përdorni kryesisht motorët e ruajtjes MyISAM ose InnoDB, por edhe për numrin e bërthamave të CPU dhe RAM-it të disponueshëm për serverin tuaj. Parazgjedhjet do të na vënë në punë në kohë mesatare.
Le të rinisim secilin prej shërbimeve për të cilat skedarët e konfigurimit janë modifikuar në këtë tutorial.
systemctl restart nginx.service
systemctl restart php5-fpm.service
systemctl restart mysql.service
Kjo është ajo - ne kemi mbaruar të gjithë. Në këtë pikë, ju keni një server plotësisht funksional LNMP (LEMP) në internet!
Ky udhëzues do të shërbente si një rregull i përgjithshëm për të filluar me shërbimet e mësipërme me modifikime minimale. Për më shumë informacion, lexoni dokumentacionin për paketat e mësipërme. Ndërsa ky konfigurim shembulli duhet të funksionojë mirë menjëherë "nga kutia", rregullimet mund, dhe ka shumë të ngjarë që do të duhet të bëhen për t'iu përshtatur më mirë nevojave tuaja.
Fushat e rekomanduara për kërkime:
- Përdorimi dhe modifikimi i kontrollit të cache-it të NGINX.
- Cilësimet e menaxherit të detyrave PHP-FPM "statike", "dinamike" ose "me kërkesë".
- Akordimi i performancës MariaDB për të përfituar sa më shumë nga serveri juaj i bazës së të dhënave.