Подесите НГИНКС, ПХП-ФПМ и МариаДБ на Дебиан 8

Овај водич ће вам показати како да правилно инсталирате и конфигуришете „алтернативни“ ЛАМП стек на Дебиан 8 користећи НГИНКС, ПХП Фаст Процесс Манагер и МариаДБ.

НГИНКС

НГИНКС је „прво обрнути прокси, а други веб сервер“. То је популарна и растућа алтернатива Апацхе-у, која нуди већу флексибилност и боље перформансе у многим случајевима. У овом водичу ћемо га користити као наш веб сервер.

Покрените свој омиљени ССХ клијент и пријавите се на свој сервер. За кориснике Виндовс-а, „ПуТТИ“ је бесплатан и лаган ССХ клијент. Корисници Линук-а и Мац-а могу да користе терминал који је подразумевано укључен у њихов оперативни систем. За овај водич, претпоставићемо да сте пријављени на свој сервер као "роот" корисник.

За почетак, хајде да се уверимо да је све ажурирано. Унесите следеће да бисте проверили да ли постоје и затим инсталирали ажурирања.

apt-get update && apt-get upgrade

Ми ћемо уређивати наше конфигурационе датотеке у вим-у. Вим није подразумевано инсталиран, па хајде да га инсталирамо!

apt-get install vim

Сада је време да инсталирате НГИНКС. Желећемо да инсталирамо најновију верзију НГИНКС-а из званичног НГИНКС Дебиан репозиторија.

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

Сада морамо мало да подесимо НГИНКС конфигурацију. Идите до директоријума конфигурације.

cd /etc/nginx

Брза вим лекција

Користите тастере са стрелицама да се крећете по текстуалном документу. Да бисте почели да уносите измене, притисните дугме „убаци“ на тастатури. Ако ваша тастатура нема дугме за уметање, притисните тастер "и". При дну вим-а приметићете да сада пише „ИНСЕРТ“. Режим уметања ће вам омогућити да избришете помоћу бацкспаце-а или убаците нове знакове тако што ћете их укуцати.

Хајде да отворимо наше nginx.confи прошетамо около:

vi nginx.conf

Хајде да променимо подразумеваног корисника, проверимо број радних процеса и искључимо евиденцију приступа.

Директиве "усер" и "воркер_процессес" су при врху. Испробајте вредности испод:

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;

Такође ћемо желети да онемогућимо евиденцију приступа, ради побољшања И/О перформанси. Крећите се надоле помоћу тастера са стрелицама док не пронађете „аццесс_лог“. Измените га на следеће:

access_log off;

И на крају, подесићемо „цлиент_мак_боди_сизе“ да одговара неким променама у ПХП-у касније. Хајде да сачувамо невоље и урадимо то сада. Додајте одмах испод „аццесс_лог“:

client_max_body_size 12m;

Када завршите са уређивањем, притисните „Есц“ на тастатури. Вим више неће рећи „ИНСЕРТ“ при дну датотеке.

Да бисте сачували наше промене и затворили вим, притисните следећу секвенцу тастера:

SHIFT :(colon)
wq
Press "Enter"

Горњи вим кунг фу ће записати ваше измене на диск и изаћи из вим-а, враћајући вас назад у басх схелл.

Сада морамо да направимо конфигурацију специфичну за сајт за наш пример! Такође ћемо избрисати друге примере конфигурација. Покушајте следеће:

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

Направићемо кратко и једноставно www.confна основу подразумеване НГИНКС конфигурације, али са неколико подешавања. Притисните инсерт и можете копирати/налепити пример испод.

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

Сада смо завршили са одељком за НГИНКС конфигурацију овог упутства. Поново ћемо покренути НГИНКС за мало, одмах након што инсталирамо ПХП.

ПХП-ФПМ

ПХП-ФПМ је ПХП менаџер брзих процеса. Неопходан је када користите НГИНКС, јер за разлику од Апацхе-а, НГИНКС не покреће ПХП као модул. Ово је урађено да би се смањио меморијски отисак НГИНКС-а. Сећате се оног дела о томе да је НГИНКС пре свега обрнути прокси? Ево где то долази у игру; ПХП захтеви послати НГИНКС-у се шаљу ПХП-ФПМ-у да би обавио тежак посао.

Хајде да инсталирамо ПХП-ФПМ.

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

Сада када смо инсталирали ПХП-ФПМ, желећемо да направимо неколико брзих измена како бисмо побољшали безбедност и функционалност.

cd /etc/php5/fpm
vi php.ini

Време је за још једну брзу вим лекцију! php.iniДатотека је апсолутно огроман. Тражење неколико кључних вредности ће трајати цео дан. Па пошто знамо шта тражимо, потражићемо. Откуцајте следеће:

/upload_max_filesize

Ово је подразумевано подешено на 2 мегабајта. Ако желите да дозволите корисницима да отпремају датотеке у ваше ПХП апликације ��еће од 2 мегабајта, мораћете ово да промените. 10М је вероватно сигурна опклада за сада, али веће вредности су такође прихватљиве. Ово подешавање ће се разликовати у зависности од конфигурације. Ради туторијала:

upload_max_filesize = 10M

Још једна очигледна безбедносна грешка. Померите се мало даље или претражите. Морамо да подесимо „аллов_урл_фопен“ на „Искључено“. Ово ће спречити ПХП да покреће ПХП датотеке хостоване ДАЉИНО, иначе познате као РФИ (Ремоте Филе Инцлусион). Многи сервери су хаковани на овај начин.

allow_url_fopen = Off

И пошто смо променили „уплоад_мак_филесизе“, сада морамо да променимо „пост_мак_сизе“. Ова вредност би требало да буде мало већа од „уплоад_мак_филесизе“, јер морамо да узмемо у обзир додатне трошкове повезане са нашим захтевима које обрађује ПХП.

Хајде да претражимо још једном са „/пост_мак_сизе“.

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.

То је то за сада. Уверите се да нисте у режиму за уређивање притиском на „Есц“. Сачувајте и изађите из вим.

SHIFT :(colon)
wq
Press 'Enter'

Подешавање ПХП-ФПМ-а је завршено.

МариаДБ

Чак и у свету који се непрестано креће ка НоСКЛ-у или МонгоДБ-у, некима од нас је и даље лакше да се држе МиСКЛ-а. Ово посебно важи за многе веб апликације. На срећу, сада постоји велики број „допадних“ замена за Орацле МиСКЛ. Дебиан 8 сада укључује увек популарни МариаДБ. МариаДБ је форк Орацле МиСКЛ базиран на верзији 5.5. МариаДБ, за све намере и сврхе, ово назива МариаДБ 10. Сматра се ПОТПУНОМ заменом за Орацле МиСКЛ. Замислите то као МиСКЛ у срцу, без Орацле брендирања и неких нових функција.

apt-get install mariadb-server

ВАЖНО: Апсолутно, позитивно, морате да изаберете јаку роот лозинку за МариаДБ. Сачувајте га на безбедном месту. Мораћете да га унесете два пута током инсталације МариаДБ-а.

Хајде да мало подесимо МариаДБ конфигурацију. Онемогућићемо МариаДБ слушање преко мрежног интерфејса. Уместо тога, као и раније са ПХП-ФПМ-ом, задржаћемо се само УНИКС утичнице. Већина ПХП апликација треба да подржава повезивање са сервером базе података преко УНИКС утичнице уместо локалног интерфејса повратне петље.

cd /etc/mysql
vi my.cnf

Потражите „бинд-аддресс = 127.0.0.1“. Прокоментаришите ту линију. Изнад или испод њега додајте „скип-нетворкинг“.

#bind-address = 127.0.0.1
skip-networking

Завршили смо са МариаДБ! На крају ћете можда желети да прилагодите своју МариаДБ конфигурацију у зависности од тога да ли ћете првенствено користити МиИСАМ или ИнноДБ машине за складиштење, али и од броја ЦПУ језгара и РАМ-а који су доступни вашем серверу. Подразумеване вредности ће нас у међувремену покренути.

Хајде да поново покренемо сваку од услуга за које су конфигурационе датотеке измењене у овом водичу.

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

То је то - сви смо готови. У овом тренутку, имате потпуно функционалан ЛНМП (ЛЕМП) сервер на мрежи!

Овај водич је требало да послужи као опште правило за почетак рада са горе наведеним услугама уз минимално подешавање. За даље информације прочитајте документацију за горенаведене пакете. Иако би овај пример подешавања требало да добро функционише „из кутије“, прилагођавања могу, а највероватније ће и морати да се изврше како би боље одговарала вашим потребама.

Препоручене области за истраживање:

  • Коришћење и модификовање НГИНКС-ове контроле кеша.
  • ПХП-ФПМ "статична", "динамичка" или "ондеманд" подешавања менаџера задатака.
  • Подешавање перформанси МариаДБ-а да бисте извукли максимум из вашег сервера базе података.

Остави коментар

Успон машина: Примене вештачке интелигенције у стварном свету

Успон машина: Примене вештачке интелигенције у стварном свету

Вештачка интелигенција није у будућности, она је овде управо у садашњости. У овом блогу Прочитајте како су апликације вештачке интелигенције утицале на различите секторе.

ДДОС напади: кратак преглед

ДДОС напади: кратак преглед

Да ли сте и ви жртва ДДОС напада и збуњени сте методама превенције? Прочитајте овај чланак да бисте решили своја питања.

Да ли сте се икада запитали како хакери зарађују новац?

Да ли сте се икада запитали како хакери зарађују новац?

Можда сте чули да хакери зарађују много новца, али да ли сте се икада запитали како зарађују толики новац? Хајде да причамо.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Да ли желите да видите револуционарне изуме Гугла и како су ти изуми променили живот сваког људског бића данас? Затим читајте на блогу да бисте видели Гооглеове изуме.

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Концепт самовозећих аутомобила који путују на путеве уз помоћ вештачке интелигенције је сан који већ неко време имамо. Али упркос неколико обећања, њих нема нигде. Прочитајте овај блог да сазнате више…

Технолошка сингуларност: далека будућност људске цивилизације?

Технолошка сингуларност: далека будућност људске цивилизације?

Како се наука развија великом брзином, преузимајући многе наше напоре, расте и ризик да се подвргнемо необјашњивој сингуларности. Прочитајте шта би сингуларност могла да значи за нас.

Функционалности слојева референтне архитектуре великих података

Функционалности слојева референтне архитектуре великих података

Прочитајте блог да бисте на најједноставнији начин упознали различите слојеве у архитектури великих података и њихове функционалности.

Еволуција складиштења података – Инфографика

Еволуција складиштења података – Инфографика

Методе складиштења података су се развијале можда од рођења података. Овај блог покрива еволуцију складиштења података на основу инфографике.

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

У овом дигиталном свету, паметни кућни уређаји постали су кључни део живота. Ево неколико невероватних предности паметних кућних уређаја о томе како они чине наш живот вредним живљења и једноставнијим.

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Недавно је Аппле издао мацОС Цаталина 10.15.4 додатак за исправку проблема, али изгледа да ажурирање изазива више проблема који доводе до квара Мац машина. Прочитајте овај чланак да бисте сазнали више