Nginx je bezplatný, open-source, vysoce výkonný HTTP server. Nginx je známý svou stabilitou, bohatou sadou funkcí, jednoduchou konfigurací a nízkou spotřebou zdrojů.
Tento tutoriál vám ukáže, jak nainstalovat Nginx na CentOS 7 / RHEL 7 s podporou PHP (prostřednictvím PHP-FPM) a podporou MariaDB.
PHP-FPM je alternativní implementace PHP FastCGI a má některé další funkce užitečné pro weby jakékoli velikosti, zejména pro rušnější weby).
Nainstalovat Linux
Zde je článek o instalaci CentOS 7 / RHEL 7 krok za krokem.
Nyní máte Linux a další je nainstalovat na něj Apache, MySQL a PHP. Pojďme nainstalovat jeden po druhém.
První věc, kterou musíte udělat, je přihlásit se jako uživatel root nebo přepnout na uživatele root.
$ su
Nainstalujte Nginx
Nainstalujte si úložiště Nginx rpm a stáhněte si Nginx z oficiálních stránek.
### CentOS 7 ### rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm ### RHEL 7 ### rpm -Uvh http://nginx.org/packages/rhel/7/noarch/RPMS/nginx-release-rhel-7-0.el7.ngx.noarch.rpm
Nainstalujte Nginx pomocí následujícího příkazu.
yum -y install nginx
Po instalaci spusťte službu Nginx.
systemctl start nginx
Firewall
Spuštěním následujících příkazů v terminálu povolíte požadavky HTTP přes bránu firewall.
firewall-cmd --permanent --add-service=http firewall-cmd --reload
SELinux
Pokud se v protokolech Nginx objeví nějaká chyba SELinuxu, zde je návod na nastavení zásad SELinux pro Nginx.
Jinak dočasně deaktivujte SELinux pomocí následujícího příkazu pro aktuální relaci.
setenforce 0
Doporučujeme SELinux trvale zakázat.
Test Nginx
Otevřete webový prohlížeč a navštivte následující URL.
http://vaše-ip-adresaMěli byste vidět následující stránku. Tato stránka potvrzuje, že Ngnix je úspěšně nainstalován na serveru.
Výchozí kořen dokumentu nginx na CentOS 7 je /usr/share/nginx/html/. Konfigurační soubory se nacházejí v adresáři /etc/nginx.
Automatické spuštění služby Nginx při spuštění systému.
systemctl enable nginx
Nainstalujte MariaDB
CentOS 7 / RHEL 7 nabízí MariaDB v5.5 ze základního úložiště OS, které je o něco starší a brzy bude EOL. Můžete zvážit instalaci MariaDB v10.x nebo MySQL 8.x pro váš LEMP stack.Nejprve nainstalujeme MariaDB zadáním následujícího příkazu.
yum -y install mariadb mariadb-server
Spusťte server MariaDB pomocí následujícího příkazu.
systemctl start mariadb
Povolte automatické spouštění MariaDB během spouštění systému.
systemctl enable mariadb
Po dokončení instalace musíte MariaDB zabezpečit pomocí příkazu mysql_secure_installation. Pro správu databází přes webový prohlížeč si můžete nainstalovat phpMyAdmin.
Nainstalujte PHP
PHP v5.4 (konec podpory)
Verze PHP (v5.4) dostupná v základním úložišti CentOS je již u konce podpory.
PHP v7.3
Remi, úložiště třetí strany, které nabízí aktuální verzi PHP (v7.3). Chcete-li povolit úložiště Remi, nainstalujte balíček automatické konfigurace úložiště Remi.
yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
Nainstalujte PHP přes PHP-FPM (PHP-FPM (FastCGI Process Manager) pomocí příkazu YUM.
yum install -y --enablerepo=remi-php73 php php-fpm php-mysqlnd php-cli
Upravte soubor /etc/php-fpm.d/www.conf,
vi /etc/php-fpm.d/www.conf
Ověřte, zda PHP-FPM naslouchá na portu 9000.
listen = 127.0.0.1:9000
Ujistěte se, že následující hodnoty jsou opatřeny komentářem OSN.
[.More.] pm.min_spare_servers = 5 [.More.] pm.max_spare_servers = 35 [.More.]
Test LEMP Stack
Vytvořit virtuálního hostitele
Pojďme vytvořit virtuálního hostitele založeného na názvu na serveru Nginx pro následující podrobnosti.
Název serveru :server.itzgeek.local
Kořenový adresář dokumentu :/usr/share/nginx/html/itzgeek.local
Vytvořte konfigurační soubor s názvem virtual.conf a upravte /etc/nginx/conf.d/virtual.conf.
vi /etc/nginx/conf.d/virtual.conf
Přidejte následující obsah.
server { server_name server.itzgeek.local; root /usr/share/nginx/html/itzgeek.local; location / { index index.html index.htm index.php; } location ~ \.php$ { include /etc/nginx/fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html/itzgeek.local$fastcgi_script_name; } }
Vytvořte položku hostitele pro vaši doménu (server.itzgeek.local) v souboru /etc/hosts.
vi /etc/hosts
Přidejte záznam hostitele jako níže.
127.0.0.1 localhost.localdomain localhost server.itzgeek.local
Vytvořte kořenový adresář dokumentu.
mkdir /usr/share/nginx/html/itzgeek.local
Test virtuálního hostitele
Pro testování PHP umístěte jeden soubor PHP do kořenového adresáře dokumentu vytvořeného virtuálního hostitele. Do terminálu zkopírujte/vložte následující řádek:
echo "<?php phpinfo(); ?>" > /usr/share/nginx/html/itzgeek.local/index.php
Restartujte služby a povolte automatické spouštění.
systemctl restart nginx systemctl restart php-fpm systemctl enable php-fpm
Nyní otevřete webový prohlížeč a do adresního řádku zadejte svou doménu:
http://server.itzgeek.localStránka bude vypadat takto:
Z výše uvedeného snímku obrazovky PHP funguje a funguje přes FPM/FastCGI, jak je znázorněno na řádku Server API.
Pokud se posunete dále dolů, uvidíte informace o podpoře MariaDB.
Závěr
To je vše. Úspěšně jste nastavili LEMP stack na CentOS 7 / RHEL 7. Navíc si můžete nainstalovat phpMyAdmin na CentOS 7 pro správu databází MariaDB / MySQL prostřednictvím webového prohlížeče.