Slik installerer du Nginx 1.15, MariaDB 10 og PHP 7 på CentOS 7
I denne artikkelen vil vi forklare hvordan du installerer en LEMP-stack (Linux, Nginx, MariaDB, PHP) sammen med PHP-FPM på RHEL/CentOS 7/6 og Fedora 26-29-servere ved å bruke dnf-pakkebehandling.
I løpet av prosessen vil vi installere og aktivere Epel, Remi, Nginx og MariaDB repositories for å kunne installere de nyeste versjonene av disse pakkene.
Trinn 1: Installere EPEL og Remi Repository
EPEL (Extra Packages for Enterprise Linux) er et fellesskapsbasert depot som tilbyr tilleggsprogramvarepakker for RHEL-baserte Linux-distribusjoner.
Remi er et depot hvor du kan finne de nyeste versjonene av PHP-stakken (full funksjoner) for installasjon i Fedora- og Enterprise Linux-distribusjonene.
# 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]
Trinn 2: Installere Nginx og MariaDB Repositories
Nginx-depotet er bare nødvendig i RHEL- og CentOS-distribusjoner. Lag en fil kalt /etc/yum.repos.d/nginx.repo og legg til følgende linjer.
[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
For å aktivere MariaDB-depotet, lag en fil som heter /etc/yum.repos.d/mariadb.repo med følgende innhold:
[mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.1/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1
Trinn 4: Installere Ngnix og MariaDB
Nginx (Engine X) er åpen kildekode, robust, lett og høy ytelse webserver, omvendt proxy-server og også e-postproxy-server for HTTP-, SMTP-, POP3- og IMAP-protokoller. For ytterligere detaljer, besøk http://wiki.nginx.org/Overview.
MariaDB er en gaffel av det velkjente MySQL, et av verdens mest populære Relational Database Management System (RDBMS). Den er fullstendig utviklet av fellesskapet og som sådan er den ment å forbli FOSS og kompatibel med GPL.
For å installere Ngnix og MariaDB, kjør følgende kommandoer.
----------- 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
Trinn 3: Installere PHP ved å bruke Remi Repository
PHP (Hypertext Preprocessor) er et gratis og åpen kildekode-skriptspråk på serversiden som er best egnet for webutvikling. Den kan brukes til å produsere dynamiske nettsider for et nettsted og finnes oftest på *nix-servere. En av fordelene med PHP er at det lett kan utvides ved bruk av et bredt utvalg av moduler.
For å installere PHP, må du først aktivere Remi-depotet ved å installere yum-utils
, en samling nyttige programmer for å administrere yum-depoter og pakker.
# yum install yum-utils
Når den er installert, kan du bruke yum-config-manager levert av yum-utils
for å aktivere Remi-depotet som standardlager for å installere forskjellige PHP-versjoner som vist.
For å installere PHP 7.x-versjonen, bruk for eksempel følgende kommando.
------------- 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]
Deretter skal vi installere alle disse følgende PHP-modulene.
------ 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
Trinn 6: Stoppe og deaktivere Apache-tjenesten
Som standard lytter Apache og Nginx i samme port (TCP 80). Av den grunn, hvis Apache er installert på serveren din, må du stoppe den og deaktivere/maskere den (en sterkere versjon av deaktiver som kobler tjenesten til /dev/null) for å bruke Nginx, eller du kan fjerne den hvis du har ikke tenkt å bruke den lenger.
# systemctl stop httpd # systemctl disable httpd or # systemctl mask httpd
Trinn 7: Starte/stoppe Nginx, MariaDB og 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
Trinn 8: Konfigurere Nginx og PHP-FPM
La oss nå lage en katalogstruktur for nettstedet ditt (en virtuell vert, eller serverblokk som det heter i Nginx) under /srv/www/. I dette eksemplet vil vi bruke linux-console.net
, men velg gjerne et annet domene og hovedkatalog hvis du vil.
# mkdir -p /srv/www/tecmint/public_html # mkdir /srv/www/tecmint/logs # chown -R nginx:nginx /srv/www/tecmint
Trinn 9: Konfigurere Nginx Virtual Host-kataloger
Som du vet, er muligheten til å kjøre flere nettsteder fra samme maskin en av kjennetegnene til store webservere. La oss nå fortsette å lage katalogene for å lagre serverblokkene våre (kjent som virtuelle verter i Apache) under /etc/nginx.
# mkdir /etc/nginx/sites-available # mkdir /etc/nginx/sites-enabled
Følgende kodelinje, som må settes inn før du lukker http-blokken i /etc/nginx/nginx.conf, vil sikre at konfigurasjonsfiler inne i katalogen /etc/nginx/sites-enabled vil bli tatt i betraktning når Nginx kjører :
## Load virtual host conf files. ## include /etc/nginx/sites-enabled/*;
For å opprette serverblokken for linux-console.net
, legg til følgende kodelinjer til /etc/nginx/sites-available/tecmint (denne filen vil bli opprettet når du skriver inn hele banen for å starte din foretrukne tekstredigerer). Dette er en grunnleggende konfigurasjonsfil for virtuell vert.
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; } }
Prosessen med å aktivere en virtuell vert består av å lage en symbolsk lenke fra definisjonen av den virtuelle verten tecmint
til /etc/nginx/sites-enabled.
# ln -s /etc/nginx/sites-available/tecmint /etc/nginx/sites-enabled/tecmint
For å faktisk bruke endringene vi har gjort, må vi nå starte Nginx på nytt. Noen ganger er det nyttig å sjekke konfigurasjonsfilene for syntaksfeil før du gjør det:
# nginx -t # systemctl restart nginx # systemctl status nginx
For å få tilgang til den nyopprettede virtuelle verten, må du legge til følgende linje i /etc/hosts som en grunnleggende metode for domenenavnoppløsning.
192.168.0.18 linux-console.net linux-console.net
Trinn 10: Testing av Nginx, MySQL, PHP og PHP-FPM
La oss holde oss til den klassiske måten å teste PHP på. Lag en fil kalt test.php
under /srv/www/tecmint/public_html/ og legg til følgende kodelinjer.
phpinfo()
-funksjonen viser mye informasjon om gjeldende PHP-installasjon:
<?php phpinfo(); ?>
Pek nå nettleseren din til http://tecmint/test.php
og sjekk tilstedeværelsen av de installerte modulene og tilleggsprogramvaren:
Gratulerer! Du har nå en fungerende installasjon av en LEMP-stabel. Hvis noe ikke gikk som forventet, ta gjerne kontakt med oss ved å bruke skjemaet nedenfor. Spørsmål og forslag er også velkomne.