Kako instalirati Nginx 1.15, MariaDB 10 i PHP 7 na CentOS 7
U ovom ćemo članku objasniti kako instalirati LEMP stog (Linux, Nginx, MariaDB, PHP) zajedno s PHP-FPM na RHEL/CentOS 7/6 i Fedora 26-29 poslužitelje pomoću dnf upravitelja paketa.
Tijekom postupka instalirat ćemo i omogućiti spremišta Epel, Remi, Nginx i MariaDB kako bismo mogli instalirati najnovije verzije ovih paketa.
Korak 1: Instaliranje EPEL-a i Remi spremišta
EPEL (Extra Packages for Enterprise Linux) je spremište temeljeno na zajednici i nudi dodatne softverske pakete za Linux distribucije zasnovane na RHEL-u.
Remi je spremište u kojem možete pronaći najnovije verzije PHP stoga (s puno značajki) za instalaciju u Fedora i Enterprise Linux distribucijama.
# yum update && yum install epel-release # rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm ------ For RHEL 7 Only ------ # subscription-manager repos --enable=rhel-7-server-optional-rpms
# yum update && yum install epel-release # rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm ------ For RHEL 6 Only ------ # subscription-manager repos --enable=rhel-6-server-optional-rpms
# rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-29.rpm [On Fedora 29] # rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-28.rpm [On Fedora 28] # rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-27.rpm [On Fedora 27] # rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-26.rpm [On Fedora 26] # rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-25.rpm [On Fedora 25] # rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-24.rpm [On Fedora 24]
Korak 2: Instaliranje Nginx i MariaDB spremišta
Spremište Nginx potrebno je samo u RHEL i CentOS distribucijama. Stvorite datoteku nazvanu /etc/yum.repos.d/nginx.repo i dodajte joj sljedeće retke.
[nginx] name=nginx repo baseurl=http://nginx.org/packages/rhel/$releasever/$basearch/ gpgcheck=0 enabled=1
[nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=0 enabled=1
Da biste omogućili spremište MariaDB, stvorite datoteku s imenom /etc/yum.repos.d/mariadb.repo sa sljedećim sadržajem:
[mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.1/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1
Korak 4: Instaliranje Ngnixa i MariaDB
Nginx (Engine X) je otvoreni izvor, robustan, lagan i vrlo učinkovit web poslužitelj, obrnuti proxy server i također proxy poslužitelj pošte za HTTP, SMTP, POP3 i IMAP protokole. Za dodatne pojedinosti posjetite http://wiki.nginx.org/Overview.
MariaDB je račvanje dobro poznatog MySQL-a, jednog od najpopularnijih sustava upravljanja relacijskim bazama podataka (RDBMS). Potpuno ga je razvila zajednica i kao takav namjerava ostati FOSS i kompatibilan s GPL-om.
Da biste instalirali Ngnix i MariaDB, pokrenite sljedeće naredbe.
----------- Installing on RHEL/CentOS 7/6 ----------- # yum --enablerepo=remi install nginx MariaDB-client MariaDB-server php php-common php-fpm ----------- Installing on Fedora ----------- # dnf --enablerepo=remi install nginx MariaDB-client MariaDB-server php php-common php-fpm
Korak 3: Instalacija PHP-a pomoću Remi spremišta
PHP (Hypertext Preprocessor) je besplatni skriptni jezik na strani poslužitelja s otvorenim kodom koji je najprikladniji za web razvoj. Može se koristiti za izradu dinamičkih web stranica za web mjesto i najčešće se nalazi na * nix poslužiteljima. Jedna od prednosti PHP-a je što se lako može proširiti korištenjem širokog spektra modula.
Da biste instalirali PHP, prvo morate omogućiti Remi spremište instaliranjem yum-utils
, zbirke korisnih programa za upravljanje yum spremištima i paketima.
# yum install yum-utils
Jednom instalirani, možete koristiti yum-config-manager koji pruža yum-utils
da biste omogućili Remi spremište kao zadani repozitorij za instaliranje različitih PHP verzija, kao što je prikazano.
Na primjer, da biste instalirali verziju PHP 7.x, upotrijebite sljedeću naredbu.
------------- On CentOS & RHEL ------------- # yum-config-manager --enable remi-php70 && yum install php [Install PHP 7.0] # yum-config-manager --enable remi-php71 && yum install php [Install PHP 7.1] # yum-config-manager --enable remi-php72 && yum install php [Install PHP 7.2] # yum-config-manager --enable remi-php73 && yum install php [Install PHP 7.3] ------------- On Fedora ------------- # dnf --enablerepo=remi install php70 [Install PHP 7.0] # dnf --enablerepo=remi install php71 [Install PHP 7.1] # dnf --enablerepo=remi install php72 [Install PHP 7.2] # dnf --enablerepo=remi install php73 [Install PHP 7.3]
Dalje, instalirat ćemo sve sljedeće PHP module.
------ On RHEL/CentOS 7/6 ------ # yum --enablerepo=remi install php-mysqlnd php-pgsql php-fpm php-pecl-mongo php-pdo php-pecl-memcache php-pecl-memcached php-gd php-xml php-mbstring php-mcrypt php-pecl-apcu php-cli php-pear ------ On Fedora ------ # dnf --enablerepo=remi install php-mysqlnd php-pgsql php-fpm php-pecl-mongo php-pdo php-pecl-memcache php-pecl-memcached php-gd php-xml php-mbstring php-mcrypt php-pecl-apcu php-cli php-pear
Korak 6: Zaustavljanje i onemogućavanje usluge Apache
Prema zadanim postavkama Apache i Nginx slušaju na istom priključku (TCP 80). Iz tog razloga, ako je Apache instaliran na vašem poslužitelju, morate ga zaustaviti i onemogućiti/maskirati (jača inačica onemogućavanja koja povezuje uslugu na/dev/null) kako biste koristili Nginx ili ga možete ukloniti ako više ga ne planirate koristiti.
# systemctl stop httpd # systemctl disable httpd or # systemctl mask httpd
Korak 7: Pokretanje/zaustavljanje Nginxa, MariaDB i PHP-FPM
----------- Enable Nginx, MariaDB and PHP-FPM on Boot ----------- # systemctl enable nginx # systemctl enable mariadb # systemctl enable php-fpm ----------- Start Nginx, MariaDB and PHP-FPM ----------- # systemctl start nginx # systemctl start mariadb # systemctl start php-fpm
Korak 8: Konfiguriranje Nginxa i PHP-FPM-a
Stvorimo sada strukturu direktorija za vaše web mjesto (virtualni host ili blok poslužitelja kako se naziva u Nginxu) u/srv/www /. U ovom ćemo primjeru koristiti linux-console.net
, ali slobodno odaberite drugu domenu i glavni direktorij ako želite.
# mkdir -p /srv/www/tecmint/public_html # mkdir /srv/www/tecmint/logs # chown -R nginx:nginx /srv/www/tecmint
Korak 9: Konfiguriranje direktorija Nginx virtualnih hostova
Kao što znate, sposobnost pokretanja nekoliko web lokacija s istog stroja jedna je od prepoznatljivih značajki glavnih web poslužitelja. Krenimo sada s izradom direktorija za pohranu naših blokova poslužitelja (poznatih kao virtualni hostovi u Apacheu) u/etc/nginx.
# mkdir /etc/nginx/sites-available # mkdir /etc/nginx/sites-enabled
Sljedeći redak koda, koji se mora umetnuti prije zatvaranja http bloka u /etc/nginx/nginx.conf, osigurat će uzimanje u obzir konfiguracijskih datoteka unutar direktorija/etc/nginx/sites koji imaju omogućen rad dok je Nginx pokrenut :
## Load virtual host conf files. ## include /etc/nginx/sites-enabled/*;
Da biste stvorili blok poslužitelja za linux-console.net
, dodajte sljedeće retke koda u/etc/nginx/sites-available/tecmint (ova će se datoteka stvoriti kada unesete puni put za pokretanje željenog uređivač teksta). Ovo je osnovna konfiguracijska datoteka virtualnog hosta.
server { listen 80 default; server_name tecmint; access_log /srv/www/tecmint/logs/access.log; error_log /srv/www/tecmint/logs/error.log; root /srv/www/tecmint/public_html; location ~* \.php$ { fastcgi_index index.php; fastcgi_pass 127.0.0.1:9000; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; } }
Proces "aktiviranja" virtualnog hosta sastoji se od stvaranja simboličke veze iz definicije virtualnog hosta tecmint
na/etc/nginx/sites-enabled.
# ln -s /etc/nginx/sites-available/tecmint /etc/nginx/sites-enabled/tecmint
Da bismo zapravo primijenili promjene koje smo radili, sada moramo ponovno pokrenuti Nginx. Prije nego što to učinite, korisno je provjeriti konfiguracijske datoteke na sintaksne pogreške:
# nginx -t # systemctl restart nginx # systemctl status nginx
Da biste pristupili novostvorenom virtualnom hostu, morate dodati sljedeći redak u/etc/hosts kao osnovnu metodu razlučivanja imena domene.
192.168.0.18 linux-console.net linux-console.net
Korak 10: Testiranje Nginxa, MySQL-a, PHP-a i PHP-FPM-a
Držimo se klasičnog načina testiranja PHP-a. Stvorite datoteku pod nazivom test.php
u/srv/www/tecmint/public_html/i dodajte joj sljedeće retke koda.
Funkcija phpinfo()
prikazuje mnoštvo informacija o trenutnoj instalaciji PHP-a:
<?php phpinfo(); ?>
Sada usmjerite web preglednik na http://tecmint/test.php
i provjerite prisutnost instaliranih modula i dodatnog softvera:
Čestitamo! Sada imate radnu instalaciju LEMP stoga. Ako nešto nije krenulo prema očekivanjima, slobodno nas kontaktirajte pomoću obrasca u nastavku. Pitanja i prijedlozi su također dobrodošli.