GNU/Linux >> Znalost Linux >  >> Cent OS

Nainstalujte Nginx + Php FPM + APC na CentOS 6.4

Server LEMP

Na lemp serveru běží Nginx webový server spolu s Php a Mysql nebo MariaDB na Linuxu Systém. Nginx je stále populárnější díky své lehké konstrukci a schopnosti zvládnout velké množství provozu optimálním způsobem. Mariadb je náhradou za mysql, protože mysql již není příliš zdarma. V tomto tutoriálu nastavíme Nginx s Php FPM na CentOS. Pokyny k instalaci MariaDB budou uvedeny v jiném příspěvku.

CentOS je velmi populární operační systém pro linuxové webové servery. CentOS (Community Enterprise Operating System) je založen na RHEL (RedHat Enterprice Linux) a je s ním 100% binárně kompatibilní. Pro nás to jednoduše znamená, že je podobný rhel v jeho práci a prostředí a že máme k dispozici praktický příkaz yum pro snadnou instalaci softwaru z repozitářů. V tomto příkladu budeme pracovat na CentOS 6.4, což je v době tohoto příspěvku nejnovější verze.

Nainstalujte Nginx

Prvním krokem je instalace webového serveru Nginx. Nginx není k dispozici ve výchozích repozitářích CentOS, ale nginx poskytuje úložiště specifická pro centos pro snadné použití.

Přidejte úložiště nginx

Vytvoříme soubor úložiště v adresáři /etc/yum.repos.d

$ nano /etc/yum.repos.d/nginx.repo

Nyní otevřete soubor a přidejte následující řádky. Tyto pokyny poskytuje přímo Nginx.

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1

Uložit a zavřít. Nyní lze nainstalovat nginx.

$ yum install nginx

Výše uvedené stáhne a nainstaluje webový server nginx a připraví jej k použití.
Po dokončení instalace je čas provést nějakou kontrolu. Nejprve použijte příkaz service ke kontrole stavu nginx.

[[email protected] ~]# service nginx status
nginx is stopped

Výše uvedené ukazuje, že služba nginx existuje, ale je zastavena. Dále zkontrolujte konfiguraci pomocí možnosti t pomocí příkazu nginx.

[[email protected] ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Výše uvedený příkaz říká, že konfigurace je v pořádku a vše je nastaveno ke spuštění. A co je nejdůležitější, také říká umístění konfiguračního souboru nginx. Pro vytváření virtuálních hostitelů/více domén je důležité vytvořit samostatné konfigurační soubory pro každého hostitele. Konfigurace virtuálních hostitelů jsou umístěny v /etc/nginx/conf.d/

OK, nyní spustíme server nginx.

[[email protected] conf.d]# service nginx start
Starting nginx:                                            [  OK  ]

Nyní je nginx v provozu. Najděte IP adresu serveru nginx pomocí ifconfig a připojte se k této IP z prohlížeče a otestujte ji.

http://192.168.1.4/

Možná budete muset otevřít port 80 na serveru centos, pokud ještě není otevřený. Podívejte se na tento návod, jak otevřít http port na centos. Jakmile se otevře, IP adresa serveru nginx by měla načíst stránku s obsahem, jako je tento

Welcome to nginx!

If you see this page, the nginx web server is successfully installed and working. Further configuration is required.

For online documentation and support please refer to nginx.org.
Commercial support is available at nginx.com.

Thank you for using nginx.

Vytvoření virtuálního hostitele

Virtuální hostitelé nebo „bloky serveru“, jak je nazývá nginx, umožňují nginx obsluhovat více hostitelů na základě jména. Například může hostit abc.com a cde.com společně. Vše, co potřebuje, je konfigurační soubor pro každého hostitele obsahující specifická nastavení hostitele, jako je kořenový adresář atd.

Adresář /etc/nginx/conf.d/ obsahuje konfigurační soubor default.conf, který obsahuje nastavení pro virtuálního hostitele, který bude fungovat přes http://localhost/

Zkontrolujte soubor a zobrazí umístění webových souborů, které se nazývá kořen.

location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }

Náš webový soubor (.html, .php a vše ostatní) by měl být vložen do /usr/share/nginx/html adresář.

Chcete-li vytvořit více virtuálních hostitelů, jednoduše zkopírujte soubor default.conf a upravte kořenovou cestu a nastavení názvu_serveru tak, aby odpovídalo nastavení vaší domény/hostitele.

$ cp /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/mysite.conf

Nyní upravte soubor mysite.conf a nakonfigurujte nastavení, jako je kořenový adresář a název_serveru.
Poté otestujte konfiguraci nginx a restartujte server. Tím by se měl vytvořit nový virtuální hostitel.

Oprávnění souborů

Při nastavování kořenového adresáře pro webové soubory je třeba zajistit, aby soubory a všechny nadřazené adresáře byly čitelné pro "skupinu" a "ostatní" v systému. Například oprávnění 0755. Nginx by nebyl schopen číst soubory, pokud by nadřazené adresáře nebyly čitelné.

Pokud se například rozhodnete umístit webové soubory do následujícího adresáře

/home/joe/public_html

Pak zajistěte, aby byly domovské i joe adresáře čitelné pro skupinu a ostatní. Jinak, i když jsou webové soubory čitelné pro ostatní, ale ne nadřazený adresář joe, pak by nginx nebyl schopen číst soubory a chybový protokol by obsahoval zprávy jako je tato

open() "/home/joe/public_html/index.html" failed (13: Permission denied)

Nainstalujte PHP a FPM

Nyní, když je nginx server v provozu, dalším úkolem je nainstalovat php interpret, aby nginx mohl zpracovávat soubory .php.

Vzhledem k tomu, že php-fpm je již součástí úložiště CentOS, nemusíme vytvářet další položku repo, jako je ta, kterou jsme vytvořili pro balíček nginx. K instalaci php-fpm tedy stačí použít příkaz yum.

$ yum install php-fpm

Možná budete chtít použít volbu "-C", pokud nechcete, aby yum aktualizoval data úložiště před instalací balíčků.

Nyní zkontrolujte stav služby php-fpm

# service php-fpm status
php-fpm is stopped

Pak to spusťte

# service php-fpm start
Starting php-fpm:                                          [  OK  ]
[[email protected] ~]#

Nyní je čas vytvořit php skript a otestovat jej. Adresář webových souborů je /usr/share/nginx/html
Vytvořte tedy soubor v tomto adresáři.

# nano /usr/share/nginx/html/phpinfo.php

Poté do něj tento obsah přidáme.

<?php 
phpinfo();

Nyní je čas otevřít soubor prostřednictvím našeho prohlížeče.

http://192.168.1.4/phpinfo.php

NE, zatím to nebude fungovat, protože jsme nenakonfigurovali nginx pro spouštění php skriptů.

Nakonfigurujte Nginx pro spuštění php

Nginx již přichází s výchozí konfigurací pro použití php fpm. Otevřete soubor /etc/nginx/conf.d/default.conf a odkomentujte následující řádky.

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
	root           /usr/share/nginx/html;
	fastcgi_pass   127.0.0.1:9000;
	fastcgi_index  index.php;
	fastcgi_param  SCRIPT_FILENAME   $document_root$fastcgi_script_name;
	include        fastcgi_params;
}

SCRIPT_FILENAME je velmi důležitý a musí ukazovat na správné umístění, jinak by se vám stále zobrazovalo „Soubor nenalezen“. chyba.

Uložte soubor a zavřete jej. Nyní otestujte svou novou konfiguraci nginx.

# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[[email protected] ~]#

Konfigurace je v pořádku. Nyní restartujte nginx, aby se nová konfigurace projevila.

# service nginx restart
Stopping nginx:                                            [  OK  ]
Starting nginx:                                            [  OK  ]
[[email protected] ~]#

Hotovo. Nyní otevřete php skript ve svém prohlížeči a měl by okamžitě fungovat.

http://192.168.1.4/phpinfo.php

Instalovat APC

APC je alternativní php cache, která umožňuje php ukládat do mezipaměti uživatelská data i operační kód. Díky tomu je provádění php rychlejší než obvykle. Balíček pro APC je k dispozici v samotném základním úložišti, takže nepotřebujeme konfigurovat žádná další úložiště.

Okamžitě jej nainstalujte pomocí yum.

# yum install php-pecl-apc

Nyní restartujte php-fpm pro apc pro aktivaci

# service php-fpm restart
Stopping php-fpm:                                          [  OK  ]
Starting php-fpm:                                          [  OK  ]
[[email protected] php.d]#

Konfigurační soubor pro apc se nachází na následující cestě.

/etc/php.d/apc.ini

Stejná cesta je také zmíněna ve výstupu funkce phpinfo(), pokud chcete ověřit.
Sekce Konfigurace na stránce phpinfo.php by měla mít sekci pro apc, která ukazuje hodnoty různých direktiv apc. Všechny tyto direktivy lze konfigurovat v souboru apc.ini.

Poznámky

1. Při konfiguraci virtuálních hostitelů může test konfigurace nginx selhat s chybou jako je tato

# nginx -t
nginx: [emerg] could not build the server_names_hash, you should increase server_names_hash_bucket_size: 32
nginx: configuration file /etc/nginx/nginx.conf test failed

Chcete-li tuto chybu opravit, otevřete hlavní konfigurační soubor nginx umístěný na /etc/nginx/nginx.conf a přidejte následující řádek do bloku http.

server_names_hash_bucket_size 64;

Tím se zvětší velikost segmentu hash a chyba se opraví.


Cent OS
  1. Nainstalujte PHP 7.4 na CentOS 8

  2. Jak nainstalovat PHP 5.6 na CentOS 7

  3. Jak nainstalovat PHP 8 na CentOS 7

  1. Jak nainstalovat nebo upgradovat na PHP 7 na CentOS 7 Linux Server

  2. Nainstalujte MySQL Server 5.6 v CentOS

  3. Jak nainstalovat PHP 5.5 na CentOS

  1. Jak nainstalovat PHP 7, 7.2 a 7.3 na CentOS 7

  2. Jak nainstalovat PHP 7.3 na CentOS 8

  3. Nainstalujte PHP Server Monitor na CentOS 7 Linux VPS