V tomto tutoriálu vám ukážeme, jak nainstalovat LEMP na CentOS 6. 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 v 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 6.
Nainstalujte LEMP na CentOS 6
Krok 1. Nejprve musíte ve svém systému povolit úložiště EPEL a ujistit se, že všechny balíčky jsou aktuální.
## RHEL/CentOS 6 64-Bit ## wget http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm rpm -ivh epel-release-6-8.noarch.rpm
## RHEL/CentOS 6 32-Bit ## wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm rpm -ivh epel-release-6-8.noarch.rpm
Krok 2. Instalace Nginx.
Budeme instalovat Nginx s yum pomocí následujícího příkazu:
yum update yum install nginx
Spusťte Nginx a přidejte jej, aby se automaticky spustil při startu vašeho systému pomocí:
service nginx start chkconfig nginx on
Můžete si ověřit, že Nginx opravdu běží, když otevřete svůj oblíbený webový prohlížeč a zadáte URL http://adresa-vašeho-serveru a musíte otevřít port 80 pro zpřístupnění vašeho webového serveru:
/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT /etc/rc.d/init.d/iptables save

Krok 3. Konfigurace Nginx a výchozího virtuálního hostitele.
Nakonec musíme nakonfigurovat naše virtuální hostitele Nginx. Konfigurace je mnohem jednodušší než konfigurace Apache. Podívejte se na konfiguraci níže, je mírně odlišná od naší výchozí konfiguraci, ale změny vysvětlím níže:
nano /etc/nginx/conf.d/default.conf
# The default server # server { listen 80; server_name mydomain.com; location / { root /var/www/html; index index.php index.html index.htm; } error_page 404 /404.html; location = /404.html { root /usr/share/nginx/html; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.php$ { root /var/www/html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
Krok 4. Instalace MySQL.
Pro zahájení instalace nainstalujte MySQL pomocí následujícího příkazu:
yum install mysql mysql-server
Poté jej přidejte do startu systému a spusťte server MySQL pomocí následujících příkazů:
chkconfig --levels 235 mysqld on service mysqld start
Ve výchozím nastavení není MySQL zpevněno. MySQL 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
Chcete-li se přihlásit do MySQL, 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 5. Instalace PHP.
Nakonec spusťte níže uvedené příkazy a nainstalujte PHP spolu s dalšími užitečnými moduly:
yum install php php-common php-fpm php-mysql
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 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 => Human Language and Character Encoding Support php-gd => A module for PHP applications using the gd graphics library php-imap => A module for PHP applications that use IMAP 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-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-apc => APC cache optimizing PHP intermediate code php-pecl-memcache => Extension to work with the Memcached caching daemon php-pgsql => A PostgreSQL database module for PHP php-process => Modules for PHP scripts using system process interfaces php-pspell => A module for PHP applications using pspell interfaces php-recode => A module for PHP applications 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-tidy => Standard PHP module provides tidy library support php-xml => A module for PHP applications which use XML php-xmlrpc => A module for PHP applications which use the XML-RPC protocol php-zts => Thread-safe PHP interpreter for use with the Apache HTTP Server
Konfigurace PHP-FPM:
nano /etc/php-fpm.d/www.conf
Nahraďte hodnoty uživatele a skupiny Nginx, jak je uvedeno níže:
; Unix user/group of processes ; Note: The user is mandatory. If the group is not set, the default user's group ; will be used. ; RPM: apache Choosed to be able to access some dir as httpd user = nginx ; RPM: Keep a group allowed to write in log dir. group = nginx
Restartujte Nginx, aby se všechny změny projevily:
service nginx restart service php-fpm restart
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(); ?>
Blahopřejeme! Úspěšně jste nainstalovali zásobník LEMP. Děkujeme, že jste použili tento návod k instalaci LAMP (Linux Nginx, MariaDB a PHP) na systém CentOS 6. Další pomoc nebo užitečné informace vám poskytneme doporučujeme zkontrolovat oficiální weby Nginx, MySQL a PHP.