Како инсталирати Нгинк на Убунту 20.04 ЛТС

Потпуни водич корак по корак за инсталирање и подешавање Нгинк веб сервера на Убунту 20.04 систему

Нгинк је опен-соурце и популаран реверзни прокси веб сервер доступан на више платформи. Софтвер је развио Игор Сисоев као решење за Ц10К проблем и први пут објављен 2004. Ц10К проблем је проблем истовременог руковања десет хиљада клијената што није било нимало лако почетком 2000-их.

У овом водичу ћемо погледати како да инсталирате и подесите Нгинк на Убунту 20.04 ЛТС.

Предуслови

Систем са инсталираним Убунту 20.04 и а судо корисник. Поред тога, не морате да имате ниједан други веб сервер као што је Апацхе који ради на порту 80 или 443.

Инсталирање Нгинк-а

Нгинк је доступан у Убунту 20.04 спремишту и погодан менаџер пакета се може користити за његову инсталацију. Дакле, да бисте инсталирали Нгинк, отворите терминал користећи цтрл+алт+т и покрените:

судо апт упдате && судо апт инсталл нгинк

Инсталација ће се ускоро завршити и Нгинк демон ће се аутоматски покренути у позадини. Дакле, да бисте проверили статус Нгинк-а, покрените:

судо системцтл статус нгинк

Након што покренете горњу команду, требало би да добијете Нгинк статус као активан (у току) зелено као што се види испод.

Конфигурисање Убунту заштитног зида (УФВ)

Подразумевано, одлазни портови ХТТП (80) и ХТТПС (443) су затворени на Убунту 20.04. Поред тога, подразумевани заштитни зид демон уфв је онемогућен јер су сви портови затворени.

Дакле, да бисте приступили Нгинк серверу са других система, мораћете да омогућите уфв и исправно га подесите да омогући саобраћај на порту 80 и 443. Пре него што омогућите уфв, знајте да ако Нгинк подешавате на удаљеном серверу, прво ажурирајте уфв правила дозволити ссх покретањем:

судо уфв дозволи ссх

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

Након омогућавања ссх приступ, можете омогућити уфв фиревалл демон покретањем:

судо уфв енабле

Сада морате да промените правила заштитног зида да бисте дозволили ХТТП и ХТТПС портове како би Нгинк могао да опслужује веб саобраћај. Да бисте променили правила, покрените:

судо уфв дозволи 'Нгинк Фулл'

Нгинк Фулл омогућава и ХТТП и ХТТПС портове за долазни и одлазни саобраћај са свих ИП адреса.

Након тога, проверите да ли су правила правилно додата уфв заштитни зид покретањем команде:

судо уфв статус

Горња команда ће дати правила која смо додали уфв фиревалл даемон.

Повезивање са Нгинк сервером

Сада када смо инсталирали Нгинк и конфигурисали уфв да бисте дозволили долазни ХТТП и ХТТПС веб саобраћај, требало би да будете у могућности да приступите Нгинк серверу користећи ИП адресу сервера.

Ако не знате ИП адресу сервера, користите наредбу испод да бисте је лако преузели.

ип аддр схов етх0 | греп инет | авк '{ принт $2; }' | сед 'с/\/.*$//'

Када добијете ИП адресу, налепите је у прегледач и притисните ентер.

//иоур-сервер-ип

Ако је све било исправно конфигурисано, требало би да видите веб страницу „Добро дошли у нгинк!“.

Нгинк датотеке и директорији

Сада када имамо инсталиран и покренут Нгинк на вашем серверу. Дозволите нам да погледамо неке од важних Нгинк датотека и директоријума које ћете морати да користите да бисте конфигурисали своју веб локацију/веб апликацију.

Садржај веб сервера

Можете да конфигуришете било коју локацију коју желите да буде ваш основни директоријум за ваш серверски блок. Нгинк-ов подразумевани ХТМЛ директно је /вар/ввв/хтмл, ту се налази страница „добродошли“ којој смо раније приступили.

Друге локације које се обично користе као основни директоријум за домене укључују:

  • /кућа//
  • /вар/ввв/хтмл/
  • /опт/

Нгинк конфигурационе датотеке

Све Нгинк конфигурационе датотеке се налазе у /етц/нгинк именик. Хајде да погледамо неке од важних датотека које су нам потребне да бисмо поставили основни домен.

  • /етц/нгинк/нгинк.цонф: Ова датотека садржи сву конфигурацију потребну за покретање Нгинк-а.
  • /етц/нгинк/ситес-аваилабле/: Овај директоријум има све серверске блок конфигурације домена, али тренутно нису омогућени/примењени и стога нису доступни клијентима.
  • /етц/нгинк/ситес-енаблед/: Овај директоријум садржи тренутно активне/омогућене домене којима приступају клијенти. Да бисмо омогућили домен, морамо да повежемо конфигурациону датотеку домена са сајтови-доступни до сите-енаблед именик.
  • /етц/нгинк/сниппетс/: У овом директоријуму можемо да складиштимо сегменте конфигурације које се могу поново користити. Штеди много времена у производном окружењу због чињенице да може учинити сегменте/блокове конфигурације вишекратним.

Сервер Логс

Нгинк евидентира догађаје/активности и складишти их у лог фајловима у /вар/лог/нгинк именик. Нгинк евидентира активности у овим датотекама:

  • /вар/лог/нгинк/аццесс.лог: Ова датотека евидентира клијенте који су приступили Нгинк серверу. Детаљи укључују ИП адресу клијента, време и датум, претраживач који се користи за приступ серверу и ОС.
  • /вар/лог/нгинк/еррор.лог: Ова датотека бележи грешке на које је Нгинк сервер наишао током рада.

Дакле, у овом одељку, укратко смо погледали неке од важних Нгинк датотека и директоријума који су довољни за почетак.

Подешавање блокова сервера

Сада када имамо основна знања о Нгинк датотекама и серверу, спремни смо да поставимо сопствени блок сервера. Блокови сервера су слични Апацхе виртуелним хостовима.

Погледаћемо како да креирамо блок сервера и да демонстрирамо да ћемо га користити екампле.цом као домен у процесу стварања.

💡 Замените екампле.цом са именом вашег домена.

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

судо мкдир -п /вар/ввв/екампле.цом/хтмл

Тхе -п опција ће креирати све потребне родитељске директоријуме. То јест, створиће екампле.цом родитељски директоријум за хтмл ако не постоји.

Промените власништво над директоријумом помоћу $УСЕР променљива окружења:

судо цховн -Р $УСЕР:$УСЕР /вар/ввв/екампле.цом/хтмл

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

нано /вар/ввв/екампле.цом/хтмл/индек.хтмл

Налепите следећи садржај у датотеку коју смо управо креирали на серверу.

  Добродошли на екампле.цом! 

Ио! Пример.цом је доступан!

Притисните цтрл+о да напише и сачува индек.хтмл датотеку, а затим притисните цтрл+к да изађете нано уредник.

Сада коначно можемо да пређемо на креирање блока сервера, тако да Нгинк може да служи индек.хтмл када неки корисник оде на екампле.цом. Дакле, да бисмо креирали блок сервера, морамо да направимо конфигурациону датотеку под називом екампле.цом ин сајтови-доступни именик. Да бисмо то урадили, користимо нано и покрећемо:

судо нано /етц/нгинк/ситес-аваилабле/екампле.цом

Затим откуцајте или копирајте/налепите следећу конфигурацију. Затим притисните цтрл+о и унесите да бисте написали и сачували. Слично, притисните цтрл+к да затворите нано едитор.

сервер { листен 80; слушај [::]:80; сервер_наме екампле.цом ввв.екампле.цом; роот /вар/ввв/екампле-домаин.цом/хтмл; индек индек.хтмл; локација / { три_филес $ури $ури/ =404; } }

Горња конфигурација је слична подразумеваној конфигурацији блока сервера, променили смо корен изјаву да укаже на наш нови основни директоријум и променио је име_сервера на име нашег домена. Док локација{} изјава служи као наредба за хватање грешке ако датотеке нису пронађене и приказује грешку 404 клијенту.

Затим можемо омогућити блок нашег сервера тако да ће Нгинк служити екампле.цом веб странице. Да бисмо омогућили наш серверски блок, потребно је да креирамо симболичку везу екампле.цом фајл из сајтови-доступни до сите-енаблед именик. Да бисте то урадили, покрените:

судо лн -с /етц/нгинк/ситес-аваилабле/екампле.цом /етц/нгинк/ситес-енаблед

Веза ће бити креирана у сите-енаблед именик и сада екампле.цом треба омогућити. Сада имамо два блока сервера омогућена на нашем Нгинк серверу који ће одговорити на захтев на основу слушај и север_наме директиве сачуване у екампле.цом конфигурација блока сервера.

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

судо нгинк -т

Сада коначно поново покрените Нгинк да бисте применили промене тако што ћете покренути следећу команду:

судо системцтл рестарт нгинк

Нгинк ће сада почети да служи вашем блоку сервера, можете ићи на //иоур-домаин-наме и видите своју веб страницу уживо.

Белешка: Да би горњи одељак функционисао, мораћете да подесите сопствени домен и замените га екампле.цом са сопственим именом домена. Такође, мораћете да конфигуришете ДНС за ваш домен да указује на ИП адресу вашег Нгинк сервера.

Да закључимо, погледали смо како да инсталирамо Нгинк, конфигуришемо уфв да омогући даљински приступ Нгинк серверу, повезан са Нгинк-ом на даљину, упознао се са неким основним Нгинк датотекама и директоријумима и научио како да подеси блок сервера.

Да бисте сазнали и сазнали више о Нгинк-у, можда ћете желети да видите Нгинк вики.