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

Jak nainstalovat Nginx s PHP a MySQL (LEMP Stack) na CentOS 7

Nginx (vyslovováno jako „engine x“) 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 ukazuje, jak můžete nainstalovat Nginx na server CentOS 7 s podporou PHP (prostřednictvím PHP-FPM) a podporou MySQL (Mariadb).

1 předběžná poznámka

V tomto tutoriálu používám název hostitele server1.example.com s IP adresou 192.168.1.105. Tato nastavení se pro vás mohou lišit, takže je v případě potřeby musíte nahradit.

2 Povolení dalších úložišť

Nginx není dostupný z oficiálních úložišť CentOS, takže k jeho instalaci zahrnujeme úložiště projektu Nginx:

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

3 Instalace MySQL

Nejprve nainstalujeme Mariadb. Mariadb je bezplatný fork MySQL. Spusťte tento příkaz v shellu:

yum nainstalovat mariadb mariadb-server net-tools

Poté vytvoříme spouštěcí odkazy systému pro MySQL (takže se MySQL spustí automaticky při každém spuštění systému) a spustíme server MySQL:

systemctl povolit mariadb.service
systemctl spustit mariadb.service

Nyní zkontrolujte, zda je síť povolena. Spustit

netstat -tap | grep mysql

Mělo by to ukazovat něco takového:

[[e-mail chráněný] ~]# netstat -tap | grep mysql
tcp 0 0 0.0.0.0:mysql 0.0.0.0:* LISTEN 10623/mysqld 

Spustit

mysql_secure_installation

pro nastavení hesla pro uživatele root (jinak má kdokoli přístup k vaší databázi MySQL!):

[[email protected] ~]# mysql_secure_installation
/usr/bin/mysql_secure_installation:řádek 379:find_mysql_client:příkaz nenalezen
POZNÁMKA:SPUŠTĚNÍ VŠECH ČÁSTÍ TOHOTO SKRITTU DOPORUČUJEME PRO VŠECHNY SERVERY, KTERÉ SE POUŽÍVAJÍ ve výrobě! ČTĚTE PROSÍM POZORNĚ KAŽDÝ KROK!
Abychom se mohli přihlásit do MariaDB a zabezpečit ji, budeme potřebovat aktuální
heslo uživatele root. Pokud jste právě nainstalovali MariaDB a
ještě jste nenastavili heslo uživatele root, bude heslo prázdné,
měli byste zde stisknout enter.
Zadejte aktuální heslo pro root (zadejte žádné):
OK, úspěšně použité heslo, pokračujeme...
Nastavení hesla uživatele root zajistí, že se nikdo nemůže přihlásit k uživateli MariaDB
root bez řádné autorizace.
Nastavit heslo root? [A/N] <-- ZADEJTE
Nové heslo:<-- heslo vaše rootsql
Znovu zadejte nové heslo:<-- heslo vášrootsql
Heslo bylo úspěšně aktualizováno!
Opětovné načítání tabulek oprávnění. .
... Úspěch!
Ve výchozím nastavení má instalace MariaDB anonymního uživatele, který umožňuje komukoli
přihlásit se do MariaDB, aniž by pro něj musel
vytvářet uživatelský účet. Toto je určeno pouze pro testování a aby instalace
byla o něco plynulejší. Než se přesunete do
produkčního prostředí, měli byste je odstranit.
Odebrat anonymní uživatele? [A/N] <-- ENTER
... Úspěch!
Normálně by měl mít root povoleno připojení pouze z 'localhost'. To
zajišťuje, že někdo nemůže uhodnout heslo root ze sítě.
Zakázat vzdálené přihlášení root? [A/N] <-- ENTER
... Úspěch!
Ve výchozím nastavení přichází MariaDB s databází s názvem 'test', ke které má 
přístup každý. Toto je také určeno pouze pro testování a mělo by být odstraněno
před přesunem do produkčního prostředí.
Odebrat testovací databázi a získat k ní přístup? [A/N] <-- ENTER
- Rušení testovací databáze...
... Úspěch!
- Odebírání oprávnění pro testovací databázi...
... Úspěch !
Opětovné načtení tabulek oprávnění zajistí, že všechny dosud provedené změny
se okamžitě projeví.
Obnovit nyní tabulky oprávnění? [A/N] <-- ENTER
... Úspěch!
Probíhá úklid...
Vše hotovo! Pokud jste provedli všechny výše uvedené kroky, vaše
instalace MariaDB by nyní měla být zabezpečená.
Děkujeme, že používáte MariaDB!
[[email protected] ~]#

[[email protected] ~]# mysql_secure_installation

4 Instalace Nginx

Nginx je dostupný jako balíček z nginx.org, který můžeme nainstalovat následovně:

yum nainstalovat nginx

Poté vytvoříme spouštěcí odkazy systému pro nginx a spustíme jej:

systemctl povolit nginx.service
systemctl spustit nginx.service

Existuje šance, že se zobrazí chyba, jako je port 80, který se již používá, chybová zpráva bude vypadat takto

[[e-mail chráněný] ~Spuštění # služby nginx
Spouštění nginx:nginx:[emerg] bind() to 0.0.0.0:80 se nezdařilo (98:Adresa se již používá)
nginx:[emerg] bind() na 0.0.0.0:80 se nezdařilo (98:adresa se již používá)
nginx:[emerg] bind() na 0.0.0.0:80 selhala (98:adresa se již používá)
nginx:[emerg] bind() na 0.0.0.0:80 se nezdařilo (98:adresa se již používá)
nginx:[emerg] bind() na 0.0.0.0:80 se nezdařila (98:adresa je již zadaná use)
nginx:[emerg] se stále nepodařilo bind()
                                                                      [SELHLA]
] ~[e-mailem chráněno #

Pak to znamená, že existuje šance, že tam běží služba apache. Zastavte službu a dále spusťte službu pro NGINX následovně

systemctl stop httpd.service
yum remove httpd
systemctl deaktivovat httpd.service
systemctl povolit nginx.service
systemctl spustit nginx.service

A otevřete http a https porty ve firewallu

firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload

Výsledný výstup na shellu bude vypadat takto:

[[chráněno e-mailem] ~]# cmd brány firewall --permanent --zone=public --add-service=http
úspěch
[[chráněn e-mailem] ~]# cmd brány firewall - -permanent --zone=public --add-service=https
úspěch
[[chráněno e-mailem] ~]# firewall-cmd --reload
úspěch
[[chráněno e-mailem ] ~]#

Zadejte do prohlížeče IP adresu nebo název hostitele svého webového serveru (např. http://192.168.1.105) a měla by se zobrazit uvítací stránka nginx:


Cent OS
  1. Jak nainstalovat LEMP Stack (Nginx, MySQL, PHP v7) na CentOS 7

  2. Jak nainstalovat Nextcloud s Nginx a PHP 7.3 na CentOS 8

  3. Jak nainstalovat Linux, Nginx, MariaDB, PHP (LEMP Stack) v CentOS 7 / RHEL 7

  1. Jak nainstalovat ownCloud 9.1 s Nginx a MariaDB na CentOS 7

  2. Jak nainstalovat WordPress s HHVM a Nginx na CentOS 7

  3. Jak nainstalovat OwnCloud 8 s Nginx a MariaDB na CentOS 7

  1. Jak nainstalovat Lighttpd s PHP-FPM a MariaDB na CentOS 7

  2. Jak nainstalovat Apache, PHP 7.1 a MySQL na CentOS 7.3 (LAMP)

  3. Jak nainstalovat Pimcore s Nginx na CentOS 7