V tomto tutoriálu vám ukážeme, jak nainstalovat LEMP na CentOS 7. Pro ty z vás, kteří nevěděli, LEMP softwarový stack je skupina open-source softwaru, který je obvykle se instalují společně, aby umožnily serveru hostovat dynamické webové stránky a webové aplikace. Tento termín je ve skutečnosti zkratka, která představuje operační systém Linux s webovým serverem Nginx (který nahrazuje komponentu Apache zásobníku LAMP). Data webu jsou uložena v databázi MySQL (pomocí MariaDB) a dynamický obsah zpracovává PHP.
Tento článek předpokládá, že máte alespoň základní znalosti Linuxu, víte, jak používat shell, a co je nejdůležitější, hostujete své stránky na vlastním VPS. Instalace je poměrně jednoduchá. ukáže vám krok za krokem instalaci LEMP (Linux, Nginx, MariaDB a PHP) na server CentOS 7.
Nainstalujte LEMP na CentOS 7
Krok 1. Nejprve se ujistěte, že jsou všechny balíčky aktuální.
yum -y update
Krok 2. Instalace a konfigurace NGINX v CentOS 7.
Nginx zatím není dostupný v oficiálních repozitářích CentOS 7, takže musíme přidat/instalovat úložiště Nginx yum zadáním příkazu níže:
rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm yum install nginx
Spusťte Nginx a přidejte jej, aby se automaticky spustil při startu vašeho systému pomocí:
systemctl restart nginx systemctl enable nginx
Můžete ověřit, že Nginx skutečně běží, když otevřete svůj oblíbený webový prohlížeč a zadáte URL http://adresa-vašeho-serveru, pokud je nainstalována, pak uvidíte toto:
Krok 3. Nakonfigurujte webový server Nginx.
Řekněme, že máte doménu mydomain.com a rádi byste ji používali k hostování webové aplikace založené na PHP v /var/www/mydomain.com
jako WordPress, Joomla. Chcete-li nastavit požadavky na obsluhu Nginx pro mydomain.com a obsluhovat skripty PHP v /var/www/mydomain.com, museli byste vytvořit blok serveru v /etc/nginx/conf.d/mydomain.com.conf
který by vypadal asi takto:
### nano /etc/nginx/conf.d/mydomain.com.conf server { server_name mydomain.com; listen 80; root /var/www/mydomain.com; access_log /var/log/nginx/mydomain.com-access.log; error_log /var/log/nginx/mydomain.com-error.log; index index.php; location / { try_files $uri $uri/ /index.php?$args; } location ~* \.(jpg|jpeg|gif|css|png|js|ico|html)$ { access_log off; expires max; } location ~ /\.ht { deny all; } location ~ \.php { try_files $uri = 404; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include /etc/nginx/fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } }
Otestujte a znovu spusťte Nginx pomocí:
nginx -t systemctl restart nginx
Krok 4. Instalace a konfigurace PHP na CentOS 7.
Nainstalujte PHP na CentOS 7 pomocí následujícího příkazu pro zahájení instalace:
yum install php-fpm php-mysql php-mcrypt
Možná budete chtít nainstalovat některá další rozšíření PHP vyžadovaná vašimi aplikacemi. Níže je uveden seznam dostupných modulů PHP:
php-bcmath : A module for PHP applications for using the bcmath library php-cli : Command-line interface for PHP php-common : Common files for PHP php-dba : A database abstraction layer module for PHP applications php-devel : Files needed for building PHP extensions php-embedded : PHP library for embedding in applications php-enchant : Enchant spelling extension for PHP applications php-fpm : PHP FastCGI Process Manager php-gd : A module for PHP applications for using the gd graphics library php-intl : Internationalization extension for PHP applications php-ldap : A module for PHP applications that use LDAP php-mbstring : A module for PHP applications which need multi-byte string handling php-mysql : A module for PHP applications that use MySQL databases php-mysqlnd : A module for PHP applications that use MySQL databases php-odbc : A module for PHP applications that use ODBC databases php-pdo : A database access abstraction module for PHP applications php-pear.noarch : PHP Extension and Application Repository framework php-pecl-memcache : Extension to work with the Memcached caching daemon php-pgsql : A PostgreSQL database module for PHP php-process : Modules for PHP script using system process interfaces php-pspell : A module for PHP applications for using pspell interfaces php-recode : A module for PHP applications for using the recode library php-snmp : A module for PHP applications that query SNMP-managed devices php-soap : A module for PHP applications that use the SOAP protocol php-xml : A module for PHP applications which use XML php-xmlrpc : A module for PHP applications which use the XML-RPC protocol
Restartujte Nginx, aby se všechny změny projevily:
systemctl restart nginx systemctl restart php-fpm systemctl enable php-fpm
Chcete-li otestovat PHP, vytvořte testovací soubor s názvem info.php s níže uvedeným obsahem. Uložte soubor a poté jej vyhledejte, abyste zjistili, zda PHP funguje:
nano /var/www/html/info.php
<?php phpinfo(); ?>
Krok 5. Instalace a konfigurace MariaDB na CentOS 7.
Nainstalujte MariaDB pomocí následujícího příkazu pro zahájení instalace:
yum install mariadb mariadb-server mysql
Poté jej přidejte do spuštění systému a spusťte server MariaDB pomocí následujících příkazů:
systemctl restart mariadb systemctl status mariadb systemctl enable mariadb
Ve výchozím nastavení není MariaDB zesílena. MariaDB můžete zabezpečit pomocí skriptu mysql_secure_installation. Měli byste si pozorně přečíst a pod každým krokem, který nastaví heslo uživatele root, odstranit anonymní uživatelům zakázat vzdálené přihlášení root a odebrat testovací databázi a přístup k zabezpečené MySQL:
mysql_secure_installation
Pro přihlášení do MariaDB použijte následující příkaz (všimněte si, že jde o stejný příkaz, který byste použili k přihlášení do databáze MySQL):
mysql -u root -p
Krok 6. Nakonfigurujte IPTables nebo firewally.
firewall-cmd --permanent --zone=public --add-service=http firewall-cmd --permanent --zone=public --add-service=https firewall-cmd --reload
Blahopřejeme! Úspěšně jste nainstalovali zásobník LEMP. Děkujeme, že jste použili tento návod k instalaci LEMP (Linux Nginx, MariaDB a PHP) v systému CentOS 7. Další nápovědu nebo užitečné informace vám poskytneme doporučujeme vám zkontrolovat oficiální weby Nginx, MariaDB a PHP.