Ako nainštalovať a nakonfigurovať Nginx s PHP-FPM na CentOS 8
Tento návod existuje pre tieto verzie OS
- CentOS 8
- CentOS 7.6
- CentOS 7
- CentOS 6.4
- CentOS 6.3
- CentOS 6.2
Na tejto stránke
- Predpoklady
- Začíname
- Nainštalujte webový server Nginx
- Nainštalujte PHP a PHP-FPM
- Vytvorte indexovú stránku pre Nginx
- Nakonfigurujte Nginx pomocou PHP-FPM
- Otestujte Nginx s podporou PHP-FPM
- Záver
Nginx je bezplatný, open-source a jeden z najvýkonnejších webových serverov na svete. Používa sa najmä pre weby s vysokou záťažou a návštevnosťou. Nginx je známy svojou stabilitou, jednoduchou konfiguráciou a nízkou spotrebou zdrojov. Nginx môžete použiť ako webový server a reverzný proxy.
FPM je skratka pre FastCGI Process Manager je alternatívna implementácia PHP FastCGI PHP a používa sa pre webové stránky s vysokou návštevnosťou. Bežne sa používa s webovým serverom na obsluhu stránok PHP. PHP-FPM využíva menej pamäte a CPU v porovnaní s akýmkoľvek iným spôsobom spúšťania PHP. PHP-FPM je rýchlejší ako tradičné metódy založené na CGI pre prostredia PHP s viacerými používateľmi. PHP-FPM tiež umožňuje spustiť viacero verzií PHP súčasne.
Tento tutoriál nás naučí, ako nainštalovať Nginx s podporou PHP-FPM v CentOS 8.
Predpoklady
- Server so systémom CentOS 8.
- Na vašom serveri je nakonfigurované heslo používateľa root.
Začíname
V predvolenom nastavení je SELinux povolený na serveri CentOS 8. Preto ho budete musieť najskôr vypnúť.
Môžete to urobiť úpravou súboru /etc/selinux/config:
nano /etc/selinux/config
Vykonajte nasledujúce zmeny:
SELINUX=disabled
Uložte a zatvorte súbor. Potom reštartujte server, aby ste použili zmeny.
Nainštalujte webový server Nginx
Najprv nainštalujte webový server Nginx pomocou nasledujúceho príkazu:
yum install nginx -y
Po nainštalovaní Nginx spustite službu Nginx a povoľte jej spustenie pri zavádzaní pomocou nasledujúceho príkazu:
systemctl start nginx
systemctl enable nginx
Po dokončení môžete prejsť na ďalší krok.
Nainštalujte PHP a PHP-FPM
Ďalej nainštalujte PHP a PHP-FPM spustením nasledujúceho príkazu:
yum install php php-cli php-common php-fpm -y
Po nainštalovaní všetkých balíkov spustite službu PHP-FPM a povoľte jej spustenie po reštarte systému:
systemctl start php-fpm
systemctl enable php-fpm
Stav služby PHP-FPM môžete skontrolovať aj pomocou nasledujúceho príkazu:
systemctl status php-fpm
Mali by ste dostať nasledujúci výstup:
? php-fpm.service - The PHP FastCGI Process Manager
Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; disabled; vendor preset: disabled)
Active: active (running) since Thu 2019-10-17 05:39:11 EDT; 4min 40s ago
Main PID: 1475 (php-fpm)
Status: "Processes active: 0, idle: 5, Requests: 0, slow: 0, Traffic: 0req/sec"
Tasks: 6 (limit: 5060)
Memory: 28.5M
CGroup: /system.slice/php-fpm.service
??1475 php-fpm: master process (/etc/php-fpm.conf)
??1478 php-fpm: pool www
??1479 php-fpm: pool www
??1480 php-fpm: pool www
??1481 php-fpm: pool www
??1482 php-fpm: pool www
Oct 17 05:39:10 centos8 systemd[1]: Starting The PHP FastCGI Process Manager...
Oct 17 05:39:11 centos8 systemd[1]: Started The PHP FastCGI Process Manager.
Vytvorte indexovú stránku pre Nginx
Ďalej budete musieť vytvoriť vzorovú stránku info.php, aby ste otestovali, či Nginx používa PHP-FPM alebo nie.
Môžete vytvoriť súbor info.php v predvolenom koreňovom adresári dokumentu Nginx, ako je uvedené nižšie:
nano /var/www/html/info.php
Pridajte nasledujúce riadky:
<?php
phpinfo();
?>
Po dokončení uložte a zatvorte súbor.
Ďalej zmeňte vlastníctvo súboru info.php na nginx:
chown -R nginx: /var/www/html/info.php/
Nakonfigurujte Nginx pomocou PHP-FPM
Ďalej budete musieť vytvoriť konfiguračný súbor virtuálneho hostiteľa Nginx a povoliť podporu PHP-FPM.
Môžete ho vytvoriť pomocou nasledujúceho príkazu:
nano /etc/nginx/conf.d/example.conf
Pridajte nasledujúce riadky:
server {
listen 80;
server_name example.com;
root /var/www/html/;
index info.php;
access_log /var/log/nginx/example.com.access.log;
error_log /var/log/nginx/example.com.error.log;
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
expires max;
log_not_found off;
}
}
Uložte a zatvorte súbor. Potom otestujte Nginx na akúkoľvek chybu syntaxe pomocou nasledujúceho príkazu:
nginx -t
Ďalej povoľte súbor virtuálneho hostiteľa Nginx a reštartujte službu Nginx, aby ste použili konfiguráciu:
systemctl restart nginx
Otestujte Nginx s podporou PHP-FPM
Teraz otvorte webový prehliadač a zadajte adresu URL http://example.com. Budete presmerovaní na nasledujúcu stránku:
Na stránke vyššie by ste mali vidieť, že PHP-FPM je načítaný webovým serverom Nginx.
Záver
Gratulujem! úspešne ste nainštalovali Nginx s podporou PHP-FPM na server CentOS 8. Teraz môžete použiť PHP-FPM na hosťovanie viacerých webových stránok, ktoré používajú rôzne verzie PHP.