Jak nainstalovat zásobník Nginx, MySQL a PHP (FEMP) na FreeBSD 12.0

Zásobník FEMP, který je srovnatelný se zásobníkem LEMP v Linuxu, je kolekce softwaru s otevřeným zdrojovým kódem, který se obvykle instaluje společně, aby umožnil serveru FreeBSD hostovat dynamické webové stránky a webové aplikace. FEMP je zkratka, která znamená FreeBSD, Nginx, MySQL a PHP.

V této příručce nasadíme prvky zásobníku FEMP na instanci FreeBSD 12.0 Vultr pomocí pkgsprávce balíčků FreeBSD.

Požadavky

Než začnete s tímto průvodcem, budete potřebovat následující:

  • FreeBSD 12.0 VPS.
  • Uživatel s právy root nebo sudouživatel pro provádění změn konfigurace.
  • Doporučuje se základní znalost systému FreeBSD a rozhraní příkazového řádku.

Než začnete

Zkontrolujte verzi FreeBSD.

uname -ro # FreeBSD 12.0-RELEASE-p6

Ujistěte se, že váš systém FreeBSD je aktuální.

freebsd-update fetch install pkg update && pkg upgrade -y

Nainstalujte potřebné balíčky.

pkg install -y sudo vim bash curl

Vytvořte nový uživatelský účet s preferovaným uživatelským jménem. používáme johndoe.

adduser # Username: johndoe # Full name: John Doe # Uid (Leave empty for default): <Enter> # Login group [johndoe]: <Enter> # Login group is johndoe. Invite johndoe into other groups? []: wheel # Login class [default]: <Enter> # Shell (sh csh tcsh nologin) [sh]: bash # Home directory [/home/johndoe]: <Enter> # Home directory permissions (Leave empty for default): <Enter> # Use password-based authentication? [yes]: <Enter> # Use an empty password? (yes/no) [no]: <Enter> # Use a random password? (yes/no) [no]: <Enter> # Enter password: your_secure_password # Enter password again: your_secure_password # Lock out the account after creation? [no]: <Enter> # OK? (yes/no): yes # Add another user? (yes/no): no # Goodbye!

Spusťte visudopříkaz a odkomentujte %wheel ALL=(ALL) ALLřádek, aby členové wheelskupiny mohli provést jakýkoli příkaz.

visudo # Uncomment by removing hash (#) sign # %wheel ALL=(ALL) ALL

Nyní přepněte na nově vytvořeného uživatele pomocí su:

su - johndoe

POZNÁMKA: Nahraďte johndoesvým uživatelským jménem.

Nastavte časové pásmo:

sudo tzsetup

Instalace hlavní řady Nginx

Nginx můžete nainstalovat pomocí správce balíčků FreeBSD, pkg. Správce balíčků vám umožňuje bez námahy nainstalovat většinu softwaru z úložiště spravovaného FreeBSD. Více o tom, jak používat, sepkg můžete dozvědět zde .

Chcete-li nainstalovat nejnovější hlavní řadu Nginx, zadejte následující příkaz:

sudo pkg install -y nginx-devel

Zkontrolujte verzi:

nginx -v # nginx version: nginx/1.17.1

Tento příkaz nainstaluje nejnovější verzi hlavní řady, kterou lze spolehlivě použít na produkčním serveru. Pokud chcete nainstalovat nejnovější stabilní verzi, použijte nginxbalíček namísto nginx-devel.

Nyní povolte a spusťte Nginx:

sudo sysrc nginx_enable=yes sudo service nginx start

Chcete-li zkontrolovat, zda se Nginx spustil, můžete spustit následující příkaz:

sudo service nginx status

V důsledku toho uvidíte něco podobného následujícímu:

# Output nginx is running as pid 17607.

Můžete ověřit, že Nginx byl nainstalován a funguje bez chyb tím, že navštívíte veřejnou IP adresu vašeho serveru ve vašem webovém prohlížeči. Přejděte na your_server_IP. Uvidíte výchozí "Vítejte v nginx!" strana.

Instalace MySQL

Opět můžete využít pkgk získání a instalaci softwaru.

Nainstalujte MySQL pomocí pkg:

sudo pkg install -y mysql80-client mysql80-server

Zkontrolujte verzi:

mysql --version # mysql Ver 8.0.16 for FreeBSD12.0 on amd64 (Source distribution)

Nyní povolte a spusťte MySQL:

sudo sysrc mysql_enable=yes sudo service mysql-server start

Chcete-li zkontrolovat, zda se MySQL spustilo, můžete spustit následující příkaz:

sudo service mysql-server status

Uvidíte něco podobného následujícímu:

# Output mysql is running as pid 19066.

Jako správný postup byste měli spustit mysql_secure_installationbezpečnostní skript, který odstraní některá nezabezpečená výchozí nastavení a mírně omezí přístup k vašemu databázovému systému.

sudo mysql_secure_installation

Budete požádáni o nastavení hesla a poté budou následovat další otázky. Zadejte silné heslo a poté u zbývajících otázek stisknutím ENTERvyberte výchozí nastavení.

Instalace PHP 7.3

Chcete-li nainstalovat PHP 7.3pomocí pkg, spusťte tento příkaz:

sudo pkg install -y php73

Zkontrolujte verzi.

php --version # PHP 7.3.7 (cli) (built: Jul 18 2019 01:14:37) ( NTS ) # Copyright (c) 1997-2018 The PHP Group # Zend Engine v3.3.7, Copyright (c) 1998-2018 Zend Technologies

Měkký odkaz php.ini-productionna php.ini.

sudo ln -s /usr/local/etc/php.ini-production /usr/local/etc/php.ini

Nyní povolte a spusťte PHP-FPM:

sudo sysrc php_fpm_enable=yes sudo service php-fpm start

Chcete-li zkontrolovat, zda se PHP-FPM spustilo, můžete spustit následující příkaz:

sudo service php-fpm status

V důsledku toho uvidíte něco podobného:

# Output php_fpm is running as pid 23005.

Instalace modulů PHP (volitelné)

Pro vylepšení funkčnosti PHP můžete volitelně nainstalovat některé další moduly.

Chcete-li zobrazit aktuálně zkompilované moduly PHP, můžete spustit toto:

php -m # [PHP Modules] # Core # date # libxml # mysqlnd # pcre # Reflection # SPL # standard # [Zend Modules]

Chcete-li vyhledat dostupné moduly PHP, můžete použít tento příkaz:

pkg search ^php73-*

Výsledkem budou většinou moduly PHP 7.3, které si můžete nainstalovat:

# Output # php73-7.3.7 PHP Scripting Language # php73-Ice37-3.7.2 Modern alternative to object middleware such as CORBA/COM/DCOM/COM+ # php73-aphpbreakdown-2.2.2 Code-Analyzer for PHP for Compatibility Check-UP # php73-aphpunit-1.8 Testing framework for unit tests # php73-bcmath-7.3.7 The bcmath shared extension for php # php73-brotli-0.7.0 Brotli extension for PHP # php73-bsdconv-11.5.0 PHP wrapper for bsdconv # php73-bz2-7.3.7 The bz2 shared extension for php # php73-calendar-7.3.7 The calendar shared extension for php # php73-composer-1.8.6 Dependency Manager for PHP # php73-ctype-7.3.7 The ctype shared extension for php # php73-curl-7.3.7 The curl shared extension for php # . . .

Pokud se po prozkoumání rozhodnete, že potřebujete nainstalovat balíček, můžete tak učinit pomocí pkg installpříkazu. Většina webových aplikací v PHP bude vyžadovat další moduly, takže je dobré vědět, jak je hledat.

Konfigurace Nginx pro použití modulu PHP

Před použitím PHP musíte nakonfigurovat, aby fungovalo s Nginx.

Spusťte sudo vim /usr/local/etc/nginx/test.confa naplňte soubor následujícím obsahem:

server { listen 80; server_name SERVER_IP; # Replace with your IP or hostname root /usr/local/www/nginx-dist; index index.php index.html index.htm; location / { try_files $uri $uri/ =404; } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }

Uložte soubor a ukončete s :+ W+Q

Nyní musíme zahrnout test.confdo hlavního nginx.confsouboru. Hlavní konfigurační soubor pro Nginx žije pod /usr/local/etc/nginxas nginx.conf.

Spuštěním sudo vim /usr/local/etc/nginx/nginx.confotevřete hlavní konfigurační soubor ve Vimu a přidejte do http {}bloku následující řádek .

include test.conf;

Test konfigurace Nginx:

sudo nginx -t

Protože jste provedli změny konfigurace v Nginx, musíte službu znovu načíst, aby je bylo možné použít. V opačném případě bude Nginx stále fungovat s dřívější konfigurací.

sudo service nginx reload

Testování PHP zpracování

Chcete-li otestovat, zda je váš systém správně nakonfigurován pro PHP, můžete vytvořit velmi základní PHP skript. Tomuto skriptu budete říkat info.php. Ve výchozím nastavení rootje nastavena hodnota /usr/local/www/nginx-dist. info.phpSoubor můžete vytvořit pod tímto umístěním:

sudo vim /usr/local/www/nginx-dist/info.php

Přidejte tento kód do tohoto souboru:

<?php phpinfo(); ?>

Přejděte na http://your_server_IP/ìnfo.phpa uvidíte následující stránku:

Jak nainstalovat zásobník Nginx, MySQL a PHP (FEMP) na FreeBSD 12.0

Po instalaci a nastavení byste měli info.phpsoubor odstranit, abyste předešli prozrazení informací o serveru veřejnosti.

sudo rm /usr/local/www/nginx-dist/info.php

Závěr

Gratulujeme, úspěšně jste nainstalovali FEMP stack do vašeho FreeBSD 12.0 VPS. Nyní máte více možností, co dělat dál. Nainstalovali jste platformu, která vám umožní nainstalovat většinu druhů webů a webového softwaru.

Zanechat komentář

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Umělá inteligence není v budoucnosti, je zde přímo v současnosti V tomto blogu si přečtěte, jak aplikace umělé inteligence ovlivnily různé sektory.

Útoky DDOS: Stručný přehled

Útoky DDOS: Stručný přehled

Jste také obětí DDOS útoků a nemáte jasno v metodách prevence? Chcete-li vyřešit své dotazy, přečtěte si tento článek.

Přemýšleli jste někdy, jak hackeři vydělávají peníze?

Přemýšleli jste někdy, jak hackeři vydělávají peníze?

Možná jste slyšeli, že hackeři vydělávají spoustu peněz, ale napadlo vás někdy, jak takové peníze vydělávají? Pojďme diskutovat.

Revoluční vynálezy od Googlu, které vám usnadní život.

Revoluční vynálezy od Googlu, které vám usnadní život.

Chcete vidět revoluční vynálezy Google a jak tyto vynálezy změnily život každého dnešního člověka? Pak si přečtěte na blogu a podívejte se na vynálezy od Googlu.

Friday Essential: Co se stalo s auty řízenými umělou inteligencí?

Friday Essential: Co se stalo s auty řízenými umělou inteligencí?

Koncept aut s vlastním pohonem, která vyrazí na silnice s pomocí umělé inteligence, je snem, který už nějakou dobu máme. Ale přes několik slibů nejsou nikde vidět. Přečtěte si tento blog a dozvíte se více…

Technologická singularita: vzdálená budoucnost lidské civilizace?

Technologická singularita: vzdálená budoucnost lidské civilizace?

Jak se věda vyvíjí rychlým tempem a přebírá mnoho našeho úsilí, stoupá také riziko, že se vystavíme nevysvětlitelné singularitě. Přečtěte si, co pro nás může znamenat singularita.

Funkcionality vrstev referenční architektury velkých dat

Funkcionality vrstev referenční architektury velkých dat

Přečtěte si blog, abyste co nejjednodušším způsobem poznali různé vrstvy v architektuře velkých dat a jejich funkce.

Evoluce ukládání dat – Infografika

Evoluce ukládání dat – Infografika

Způsoby ukládání dat se mohou vyvíjet od narození dat. Tento blog se zabývá vývojem ukládání dat na základě infografiky.

6 úžasných výhod toho, že máme v životě zařízení pro chytrou domácnost

6 úžasných výhod toho, že máme v životě zařízení pro chytrou domácnost

V tomto digitálním světě se chytrá domácí zařízení stala klíčovou součástí života. Zde je několik úžasných výhod chytrých domácích zařízení o tom, jak náš život stojí za to žít a zjednodušit jej.

Aktualizace doplňku macOS Catalina 10.15.4 způsobuje více problémů než řešení

Aktualizace doplňku macOS Catalina 10.15.4 způsobuje více problémů než řešení

Apple nedávno vydal doplňkovou aktualizaci macOS Catalina 10.15.4, která opravuje problémy, ale zdá se, že aktualizace způsobuje další problémy, které vedou k zablokování počítačů mac. Přečtěte si tento článek a dozvíte se více