Raspberry pi Nginx php5
NGINX: споделя файловете на уеб сайта от локалната директория в интернет. Върши същата работа като Apache2, но има статии и бенчмаркове, където показват и обясняват неговото по високо бързодействие от Apache2. Идеално е както за натоварени така и за малки сървъри и е доста “лек” като процес на действие а Apache2 по-тромаво, затова съм се спрял на него.
PHP5-FPM: FPM (FastCGI Process Manager) е алтернативно PHP FastCGI изпълнение при обработката/смилането на PHP кода на сайта (например WordPress или Joomla) с допълнителни функции които са полезни за натоварени сайтове. При обикновения PHP, когато потребител зареди сайта, PHP процеса се включва, минава през процесора и се зарежда в RAM-та, където обработва PHP кода. Докато PHP-FPM е постоянно включен/работещ процес (daemon), който е постоянно тече през процесора и стои натоварен в RAM-та в изчакване на заявката за обработка на PHP кода на сайта. Затова и обработва кода по-бързо от обикновеното PHP понеже е постоянно включен дори и без заявки, докато нормалното PHP чака заявка, че да се включи след това като процес.
PHP-APC: APC (Alternative PHP Cache) това е алтернативен PHP фреймуорк, който кешира в споделената памет за кратко време вече обработен PHP код и в случай че последно заредената PHP страница от заявка получи нова такава, то не се налага обработването на кода отново за кратък интервал от време а направо се изпраща вече готово заредения/смлян код. Това оптимизира бързината на PHP страницата/сайта допълнително и спестява процесорни и дискови ресурси. PHP-APC е бил използван от Facebook през 2014 което е спомогнало за функционалността на сайта натоварен от множеството потребители в пъти повече.
Varnish – Varnish е HTTP ускорител, за разлика от PHP-APC (който кешира динамичните елементи на сайта) – Varnish е съсредоточен върху кеширането на статичните елементи в сайта, така една и съща заявка няма да бъде изпълнявана отново и отново а просто заявена веднъж – следващият път ще бъде предоставена директно от споделената памет, която всички знаем, че има по-добро бързодействие от диска/картата.
Та това беше накратко за комбинацията от софтуер, който ще използваме за Уеб Сървър на Берито.
Нека да започнем със същинската част.
- Инсталация на софтуера.
За да инсталираме целия тоя софтуер накуп изпълняваме следната команда:
- Настройка на Nginx.
Като за начало отваряте nginx.conf намиращ се в /etc/nginx/ с любимия ви текстов редактор, моя е nano:
Намирате следния ред:
След което замените index.nginx-debian.html (или да го премахнете и добавите) index.php накрая.
Трябва да изглежда така:
След което намирате следните редове:
и точно след тях добавяте тези по-долу
а крайния резултат трябва да изглежда така:
За да тестваме конфигурацията ще трябва да изтрием всичко от /var/www/html и да направим index.php файл със съдържание .
- Настройка на Varnish:
Отваряте /lib/systemd/system/varnish.service
и редактирате порта на който да листва Varnish от 6081 на 80, който е по подразбиране за уеб като цяло
да изглежда така
Активирате промените да влязат в сила
След което спирате Nginx, който вече листва на порт 80 за да не стане конфликт при стартирането на Varnish
отваряте файла /etc/nginx/sites-enabled/default
и редактирате следните два реда
на
след което пускате Varnish и Nginx отново. Последно редактирате
И накрая нагласяте Nginx, Varnish и PHP-FPM да стартират при зареждането на системата автоматично всеки път:
За да проверите дали Varnish функционира, може да направите това през конзолата като изпълнете:
Ако нямате curl пакет, може да го инсталирате лесно със
И все пак ако не запали от първия път, рестартирайте Varnish със
Инсталиране на MySQL и PhpMyAdmin
Стартиране на инсталацията:
По време на инсталацията ще бъдете подканени да въведете root парола за MySQL два пъти.
След което ще бъдете подканени да въведете отново два пъти паролата за root на MySQL, но този път за конфигурацията на PhpMyAdmin.
На въпроса:
Не избирате нищо, просто си продължавате нататък.
След като завърши инсталацията стартирате MySQL и го настройвате да се пуска при всяко зареждане на системата с Nginx, Php-Fpm и Varnish:
Това е!