Инсталирање чвора
Инсталирање Нгинк-а
Покретање нашег Кеистоне пројекта
Иницијализација наше базе података
Инсталирање ПМ2
Покретање/управљање апликацијом на ПМ2
Подешавање вашег обрнутог проксија
У овом водичу ћемо поставити веб сервер са обрнутим проксијем. ЦМС који ћемо користити је Кеистоне.јс, добро познати оквир веб апликација заснован на Екпресс.јс-у. Обрнути прокси који ћемо користити је Нгинк, који је бесплатни реверзни прокси са отвореним кодом, као и ХТТП сервер. База података коју ћемо користити је МонгоДБ, база података НоСКЛ докумената. Ово ће захтевати да имате подешен домен са записима. Ако немате тај сет, само напред и побрините се за то и вратите се на овај водич.
Инсталирање чвора
Прво ћемо инсталирати Ноде.јс, који је Јавасцрипт интерпретер заснован на Цхроме В8 Јавасцрипт мотору.
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
sudo apt-get install -y build-essential
Инсталирање Нгинк-а
Затим ћемо инсталирати Нгинк, наш обрнути прокси.
sudo apt update
sudo apt install nginx
Ово ће ажурирати листе пакета и инсталирати Нгинк. Када се инсталација заврши, поставићемо наш пројекат чвора.
Покретање нашег Кеистоне пројекта
Креирајте наш пројекат чвора. Да бисте то урадили, једноставно креирајте нову фасциклу.
mkdir website
Затим ћемо креирати нашу package.jsonдатотеку. Да бисте то урадили, једноставно покрените npm initу свом терминалу, попуните поља и одговорите на „ yes“ да потврдите. Када креирате package.jsonдатотеку, ми ћемо инсталирати следеће модуле чвора.
sudo npm install -g generator-keystone
sudo npm install -g yo
Када се заврши са преузимањем, покрените следеће.
yo keystone
Попуните обавезна поља. Тражиће од вас project name, template engine, emailза контролну таблу и тако даље. Ако не знате шта да изаберете, подразумеване вредности ће бити у реду. Након што сте конфигурисали своје кеистоне подешавање, можемо да тестирамо да ли наш сервер ради тако што node keystoneћемо куцати да бисмо покренули апликацију. Подразумевано, ваша апликација ће бити покренута на localhost, на порту 3000. Имајте на уму да ако немате инсталиран МонгоДБ, база података вам неће одмах бити доступна. Можете научити како да га инсталирате касније у водичу.
Ево основног изгледа директоријума за Кеистоне.јс:
/lib - Овде ћете чувати своје прилагођене библиотеке и други код.
/models- Овде ћете чувати моделе базе података ваше апликације. КеистонеЈС користи МонгоДБ као добављач базе података.
/public - Овде ће се чувати ваше статичке датотеке (ЦСС, ЈС, слике и тако даље).
/routes/api - Овде ће се чувати АПИ контролери ваше апликације.
/routes.views - Контролери приказа апликације ће бити ускладиштени овде.
/templates - Овде ће се чувати све датотеке шаблона ваше апликације.
/updates - Овде ће се чувати ваше скрипте за миграцију.
package.json - Ово је ваша нпм конфигурациона датотека коју је генератор генерисао за нас.
keystone.js - Наша главна почетна датотека, покрећемо је када покренемо веб локацију.
Иницијализација наше базе података
Као што је раније поменуто, наша база података коју ћемо користити је МонгоДБ, што је поуздана НоСКЛ, документно оријентисана база података. Ако већ имате инсталиран МонгоДБ, можете прескочити овај одељак. Ако не, ево како да га инсталирате на Убунту 16.04.
Увезите јавни кључ који се користи за монгоДБ пакет.
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
Креирајте датотеку листе која се користи за инсталирање пакета.
echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
Ажурирајте своје листе пакета користећи apt.
sudo apt update
Коначно, инсталирајте МонгоДБ.
sudo apt install mongodb-org -y
Када се ова инсталација заврши, покрените МонгоДБ.
sudo service mongod start
Ово ће покренути МонгоДБ процес на порту 27017.
МонгоДБ ће се користити у целој апликацији и користиће се за чување информација које користимо за наше моделе, на пример Userмодел. Кеистоне га користи као своју базу података по избору и у овом тренутку не можете користити друге добављаче база података.
Инсталирање ПМ2
Сада је време да инсталирате ПМ2 (Процесс Манагер 2.) ПМ2 је менаџер процеса за Ноде.јс апликације, у облику нпм модула. Омогућава вам једноставан начин за управљање апликацијама и њихово покретање у позадини. Пошто је у НПМ-у, све што треба да урадимо да га инсталирамо је да покренемо следеће.
sudo npm install pm2 -g
Ово говори нпм-у да га инсталира глобално, тако да га можемо користити било где у нашем систему.
Покретање/управљање апликацијом на ПМ2
Раније смо покренули нашу веб апликацију са node keystone. Са ПМ2 је мало другачије. Сада покрећемо нашу апликацију чворова са следећим.
pm2 start keystone.js
Ово ће додати нашу ПМ2 апликацију на нашу листу процеса и биће приказана мала кутија тако да можете да видите да је она заиста онлајн. Обратите пажњу на оквир означен idза ваш процес. Држите ово близу, јер ћемо касније много тога спомињати.
Да видите евиденцију ваше апликације.
pm2 logs [id]
На пример, pm2 logs 0ако је ово ваша прва ПМ2 апликација.
Да бисте зауставили своју веб апликацију у било ком тренутку.
pm2 stop [id]
Да потпуно избришете своју апликацију.
pm2 delete [id]
ПМ2 чак има и контролну таблу за надгледање ако желите да видите неке основне статистике за своју апликацију, и можете јој приступити помоћу овога.
pm2 monit
Ово ће показати неке основне информације као што су употреба РАМ-а, коришћење ЦПУ-а и време непрекидног рада.
Одлична карактеристика коју ПМ2 нуди је watching. У суштини, гледање је када ПМ2 аутоматски детектује промене у било којој од датотека у истом директоријуму као и ваша почетна датотека, и аутоматски ће поново покренути вашу апликацију. Да бисте то омогућили, једноставно поново покрените апликацију, али јој додајте заставицу за сат.
pm2 restart [id] --watch
Да бисте онемогућили гледање након што је омогућено, једноставно поново покрените исту команду и гледање ће бити онемогућено.
У овом туторијалу напустићемо гледање.
Подешавање вашег обрнутог проксија
Уверите се да имате инсталиран Нгинк. Ако из неког разлога није, погледајте горе наведене кораке.
Подесите подешавања заштитног зида. На Убунту-у ufwје званични заштитни зид. Подразумевано, везе су блокиране на порту 80. Морамо да додамо изузетак за Нгинк на порту 80, на којем ће наша веб апликација радити.
sudo ufw allow 'Nginx HTTP'
Проверите да ли ваш Нгинк сервер ради.
systemctl status nginx
У Activeодељку, ако видите active (running), онда сте спремни. Ако не, можете покушати да поново покренете услугу.
systemctl restart nginx
Избришите подразумевану Нгинк конфигурациону датотеку.
sudo rm /etc/nginx/sites-available/default
Направите нови и једноставно га назовите node.
sudo nano /etc/nginx/sites-available/node
Налепите следеће у датотеку и замените example.comдоменом своје веб локације.
listen 80;
server_name example.com;
location / {
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_host;
proxy_pass "http://127.0.0.1:3000";
}
}
Имајте на уму да proxy_passозначава ИП адресу на којој наша Кеистоне апликација ради локално, а то је localhostна порту 3000.
listen 80је порт на који желимо да апликација буде усмерена, а то је у овом случају порт 80.
Затим морамо да креирамо симболичку везу или симболичку везу до фасцикле која се зове sites-enabled. Разлика између sites-enabledи sites-availableје у томе sites-enabledшто Нгинк заправо учитава.
sudo ln -s /etc/nginx/sites-available/node /etc/nginx/sites-enabled/node
Сада ће ваша конфигурациона датотека sites-availableбити спремна за употребу и биће учитана са sites-enabled. Да бисте применили конфигурацију тако да ступи на снагу, једноставно поново покрените Нгинк.
sudo systemctl restart nginx
Коначно, поново покрените своју ПМ2 апликацију
pm2 restart [id]
Сада можете да се крећете до свог домена у прегледачу и видећете Welcome to Keystoneекран са панелом на који се можете пријавити.
Ако га видите, онда сте успешно поставили Ноде.јс производни веб сервер. Ако нисте, онда сте можда учинили неки корак погрешно и можда ћете желети да се вратите и пажљиво пратите сваки корак.
Можете сазнати више о Нгинк-у тако што ћете посетити њихову веб локацију .
Надам се да сте уживали у овом туторијалу и надам се да вам је ово помогло да поставите сопствени веб сервер за производњу на вашем Вултр ВПС-у.