Kā CentOS 7 instalēt Nginx 1.15, MariaDB 10 un PHP 7


Šajā rakstā mēs izskaidrosim, kā instalēt LEMP steku (Linux, Nginx, MariaDB, PHP) kopā ar PHP-FPM RHEL/CentOS 7/6 un Fedora 26-29 serveros, izmantojot dnf pakotņu pārvaldnieku.

Procesa laikā mēs instalēsim un iespējosim Epel, Remi, Nginx un MariaDB krātuves, lai varētu instalēt šo pakotņu jaunākās versijas.

1. darbība: instalējiet EPEL un Remi repozitoriju

EPEL (Extra Packages for Enterprise Linux) ir kopienas repozitorijs, kas piedāvā papildu programmatūras pakotnes RHEL balstītām Linux izplatīšanām.

Remi ir repozitorijs, kurā varat atrast jaunākās PHP kaudzes versijas (ar pilnu servisu) instalēšanai Fedora un Enterprise Linux izplatījumos.

# 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]

2. solis: Nginx un MariaDB krātuvju instalēšana

Nginx krātuve ir nepieciešama tikai RHEL un CentOS izplatījumos. Izveidojiet failu ar nosaukumu /etc/yum.repos.d/nginx.repo un pievienojiet tam šādas rindas.

[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 

Lai iespējotu MariaDB repozitoriju, izveidojiet failu ar nosaukumu /etc/yum.repos.d/mariadb.repo ar šādu saturu:

[mariadb] 
name = MariaDB 
baseurl = http://yum.mariadb.org/10.1/centos7-amd64 
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB 
gpgcheck=1 

4. solis: Ngnix un MariaDB instalēšana

Nginx (Engine X) ir atvērtā koda, izturīgs, viegls un augstas veiktspējas tīmekļa serveris, reversā starpniekservera atdalīšana un arī pasta starpniekserveris HTTP, SMTP, POP3 un IMAP protokoliem. Lai iegūtu sīkāku informāciju, apmeklējiet vietni http://wiki.nginx.org/Overview.

MariaDB ir labi pazīstamās MySQL dakša, kas ir viena no pasaulē populārākajām Relāciju datu bāzu pārvaldības sistēmām (RDBMS). To pilnībā izstrādājusi kopiena, un kā tāds ir paredzēts palikt FOSS un saderīgs ar GPL.

Lai instalētu Ngnix un MariaDB, palaidiet šādas komandas.

----------- 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 

3. solis: PHP instalēšana, izmantojot Remi repozitoriju

PHP (Hypertext Preprocessor) ir bezmaksas un atvērtā koda servera puses skriptu valoda, kas ir vispiemērotākā tīmekļa izstrādei. To var izmantot, lai izveidotu dinamiskas tīmekļa lapas vietnei, un tas visbiežāk tiek atrasts * nix serveros. Viena no PHP priekšrocībām ir tā, ka tā ir viegli paplašināma, izmantojot visdažādākos moduļus.

Lai instalētu PHP, vispirms jāiespējo Remi repozitorijs, instalējot yum-utils - noderīgu programmu kolekciju yum krātuvju un pakotņu pārvaldībai.

# yum install yum-utils

Kad tas ir instalēts, varat izmantot yum-config-manager, ko nodrošina yum-utils , lai iespējotu Remi repozitoriju kā noklusējuma repozitoriju dažādu PHP versiju instalēšanai, kā parādīts.

Piemēram, lai instalētu PHP 7.x versiju, izmantojiet šo komandu.

------------- 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]

Tālāk mēs instalēsim visus šos PHP moduļus.

------ 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

6. darbība: Apache pakalpojuma apturēšana un atspējošana

Pēc noklusējuma Apache un Nginx klausās vienā un tajā pašā portā (TCP 80). Šī iemesla dēļ, ja Apache ir instalēts jūsu serverī, jums tas ir jāaptur un jāatspējo/jāaizklāj (spēcīgāka atspējošanas versija, kas saista pakalpojumu ar/dev/null), lai izmantotu Nginx, vai arī varat to noņemt, ja jūs vairs neplānojat to izmantot.

# systemctl stop httpd 
# systemctl disable httpd 
or 
# systemctl mask httpd 

7. solis: Nginx, MariaDB un PHP-FPM palaišana/apturēšana

----------- 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 

8. darbība: Nginx un PHP-FPM konfigurēšana

Ļaujiet mums tagad izveidot savas vietnes direktoriju struktūru (virtuālo resursdatoru vai servera bloku, kā to sauc Nginx) zem/srv/www /. Šajā piemērā mēs izmantosim linux-console.net , taču, ja vēlaties, izvēlieties citu domēnu un galveno direktoriju.

# mkdir -p /srv/www/tecmint/public_html 
# mkdir /srv/www/tecmint/logs 
# chown -R nginx:nginx /srv/www/tecmint  

9. solis: Nginx virtuālo resursdatoru direktoriju konfigurēšana

Kā jūs zināt, spēja palaist vairākas vietnes no vienas mašīnas ir viena no galveno web serveru atšķirīgajām iezīmēm. Tagad sāksim izveidot direktorijus, lai saglabātu mūsu serveru blokus (Apache failā zināmus kā virtuālos resursdatorus) zem/etc/nginx.

# mkdir /etc/nginx/sites-available 
# mkdir /etc/nginx/sites-enabled 

Šī koda rinda, kas jāievieto pirms http bloka aizvēršanas mapē /etc/nginx/nginx.conf, nodrošinās, ka, darbojoties Nginx, tiks ņemti vērā konfigurācijas faili direktorijā/etc/nginx/sites, kurā ir iespējots :

## Load virtual host conf files. ## 
include /etc/nginx/sites-enabled/*; 

Lai izveidotu servera bloku vietnei linux-console.net , pievienojiet šādas koda rindas vietnei/etc/nginx/sites-available/tecmint (šis fails tiks izveidots, ievadot pilnu ceļu, lai sāktu vēlamo teksta redaktors). Šis ir pamata virtuālā resursdatora konfigurācijas fails.

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; 
	} 
} 

Virtuālā resursdatora “aktivizēšanas” process sastāv no simboliskas saites izveidošanas no virtuālā resursdatora tecmint definīcijas uz/etc/nginx/sites-enabled.

# ln -s /etc/nginx/sites-available/tecmint /etc/nginx/sites-enabled/tecmint 

Lai faktiski piemērotu veiktās izmaiņas, mums tagad ir jārestartē Nginx. Dažreiz ir lietderīgi pirms to pārbaudīt, vai konfigurācijas failos nav sintakses kļūdu:

# nginx -t 
# systemctl restart nginx 
# systemctl status nginx 

Lai piekļūtu jaunizveidotajam virtuālajam resursdatoram, vietnei/etc/hosts ir jāpievieno šāda rinda kā domēna vārda izšķiršanas pamatmetode.

192.168.0.18	linux-console.net linux-console.net 

10. solis: Nginx, MySQL, PHP un PHP-FPM pārbaude

Paliksim pie klasiskā PHP testēšanas veida. Sadaļā/srv/www/tecmint/public_html/izveidojiet failu ar nosaukumu test.php un pievienojiet tam šādas koda rindas.

Funkcija phpinfo() parāda ļoti daudz informācijas par pašreizējo PHP instalāciju:

<?php 
	phpinfo(); 
?> 

Tagad novirziet tīmekļa pārlūkprogrammu uz http://tecmint/test.php un pārbaudiet instalēto moduļu un papildu programmatūras klātbūtni:

Apsveicam! Tagad jums ir veiksmīga LEMP steka instalācija. Ja kaut kas neizdevās, kā paredzēts, sazinieties ar mums, izmantojot zemāk esošo veidlapu. Laipni aicināti arī jautājumi un ieteikumi.