Nginx 1.15:n, MariaDB 10:n ja PHP 7:n asentaminen CentOS 7:ään


Tässä artikkelissa selitämme, kuinka LEMP-pino asennetaan (Linux, Nginx, MariaDB, PHP) sekä PHP-FPM RHEL/CentOS 7/6- ja Fedora 26-29 -palvelimissa, joissa käytetään yum- ja dnf-paketteja johtaja.

Prosessin aikana asennamme ja otamme käyttöön Epel-, Remi-, Nginx- ja MariaDB-tietovarastot, jotta voimme asenna näiden pakettien uusimmat versiot.

Lue myös: Asenna Apache, MySQL 8 tai MariaDB 10 ja PHP 7 CentOS 7:ään

Vaihe 1: Asenna EPEL ja Remi Repository

EPEL (Extra Packages for Enterprise Linux) on yhteisöpohjainen tietovarasto, joka tarjoaa lisäohjelmistopaketteja RHEL-pohjaisille Linux-jakeluille.

Remi on arkisto, josta löydät uusimmat versiot PHP-pinosta (täysi ominaisuus) asennettavaksi Fedora- ja Enterprise Linux -jakeluihin.

RHEL/CentOS 7:ssä

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

RHEL/CentOS 6:ssa

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

Fedorassa 24-29

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]

Vaihe 2: Nginx- ja MariaDB-tietovarastojen asentaminen

Nginx-tietovarastoa tarvitaan vain RHEL- ja CentOS-jakeluissa. Luo tiedosto nimeltä /etc/yum.repos.d/nginx.repo ja lisää siihen seuraavat rivit.

RHEL 7/6:

[nginx] 
name=nginx repo 
baseurl=http://nginx.org/packages/rhel/$releasever/$basearch/ 
gpgcheck=0 
enabled=1 

CentOS 7/6:

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

Ota MariaDB-tietovarasto käyttöön luomalla tiedosto nimeltä /etc/yum.repos.d/mariadb.repo, jossa on seuraava sisältö:

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

Vaihe 4: Asenna Ngnix ja MariaDB

Nginx (Engine X) on avoimen lähdekoodin, kestävä, kevyt ja suorituskykyinen verkkopalvelin, käänteinen välityspalvelin ja myös sähköpostin välityspalvelin HTTP-, SMTP-, POP3- ja IMAP-protokollia varten. Lisätietoja on osoitteessa http://wiki.nginx.org/Overview.

MariaDB on tunnetun MySQL:n haarukka, joka on yksi maailman suosituimmista relaatiotietokannan hallintajärjestelmistä (RDBMS). Se on kokonaan yhteisön kehittämä, ja sellaisena sen on tarkoitus pysyä FOSS:na ja yhteensopivana GPL:n kanssa.

Asenna Ngnix ja MariaDB suorittamalla seuraavat komennot.


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

Vaihe 3: PHP:n asentaminen Remi-varaston avulla

PHP (Hypertext Preprocessor) on ilmainen ja avoimen lähdekoodin palvelinpuolen komentosarjakieli, joka sopii parhaiten verkkokehitykseen. Sitä voidaan käyttää dynaamisten verkkosivujen tuottamiseen verkkosivustolle, ja sitä löytyy useimmiten *nix-palvelimista. Yksi PHP:n eduista on, että sitä on helppo laajentaa käyttämällä monenlaisia moduuleja.

Asentaaksesi PHP:n sinun on ensin otettava Remi-arkisto käyttöön asentamalla yum-utils, kokoelma hyödyllisiä ohjelmia yum-varastojen ja -pakettien hallintaan.

yum install yum-utils

Kun olet asentanut, voit käyttää yum-utils:n tarjoamaa yum-config-manager -ohjelmaa ottaaksesi Remi-tietovaraston oletusvarastona eri PHP-versioiden asentamiseen kuvan mukaisesti.

Jos haluat esimerkiksi asentaa PHP 7.x -version, käytä seuraavaa komentoa.

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

Seuraavaksi asennamme kaikki nämä seuraavat PHP-moduulit.

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

Vaihe 6: Apache-palvelun pysäyttäminen ja poistaminen käytöstä

Oletuksena Apache ja Nginx kuuntelevat samassa portissa (TCP 80). Tästä syystä, jos Apache on asennettu palvelimellesi, sinun on pysäytettävä se ja poistettava/maskattava se (vahvempi käytöstä poistamisen versio, joka linkittää palvelun osoitteeseen /dev/null), jotta voit käyttää Nginxiä. , tai voit poistaa sen, jos et aio käyttää sitä enää.

systemctl stop httpd 
systemctl disable httpd 
or 
systemctl mask httpd 

Vaihe 7: Nginxin, MariaDB:n ja PHP-FPM:n käynnistäminen/pysäytys

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

Vaihe 8: Nginxin ja PHP-FPM:n määrittäminen

Luodaan nyt verkkosivustollesi hakemistorakenne (virtuaalinen isäntä tai palvelinlohko, kuten sitä kutsutaan Nginxissä) osoitteessa /srv/www/. Tässä esimerkissä käytämme linux-console.net, mutta voit vapaasti valita toisen toimialueen ja päähakemiston, jos haluat.

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

Vaihe 9: Nginx Virtual Host -hakemistojen määrittäminen

Kuten tiedät, kyky ajaa useita sivustoja samasta koneesta on yksi tärkeimpien verkkopalvelimien tunnuspiirteistä. Jatketaan nyt hakemistojen luomista palvelinlohkojemme tallentamiseksi (tunnetaan Apachessa virtuaaliisäntinä) hakemistoon /etc/nginx.

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

Seuraava koodirivi, joka on lisättävä ennen http-lohkon sulkemista tiedostossa /etc/nginx/nginx.conf, varmistaa, että määritystiedostot ovat tiedostossa /etc/nginx/sites-enabled. hakemisto otetaan huomioon, kun Nginx on käynnissä:

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

Voit luoda palvelinlohkon linux-console.net:lle lisäämällä seuraavat koodirivit osoitteeseen /etc/nginx/sites-available/tecmint (tämä tiedosto luodaan, kun syötät koko polku haluamasi tekstieditorin käynnistämiseen). Tämä on virtuaalisen isännän perusasetustiedosto.

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

Virtuaalipalvelimen aktivointi koostuu symbolisen linkin luomisesta tecmint-virtuaalipalvelimen määritelmästä /etc/nginx/sites-enabled<..

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

Jotta voimme todella soveltaa tekemiämme muutoksia, meidän on nyt käynnistettävä Nginx uudelleen. Joskus on hyödyllistä tarkistaa määritystiedostot syntaksivirheiden varalta ennen kuin teet niin:

nginx -t 
systemctl restart nginx 
systemctl status nginx 

Jotta voit käyttää äskettäin luotua virtuaalipalvelinta, sinun on lisättävä seuraava rivi kohtaan /etc/hosts verkkotunnuksen nimen ratkaisemisen perusmenetelmänä.

192.168.0.18	linux-console.net linux-console.net 

Vaihe 10: Testaa Nginx, MySQL, PHP ja PHP-FPM

Pysytään perinteisessä PHP:n testaustavassa. Luo tiedosto nimeltä test.php kohdassa /srv/www/tecmint/public_html/ ja lisää siihen seuraavat koodirivit.

Funktio phpinfo() näyttää paljon tietoa nykyisestä PHP-asennuksesta:

<?php 
	phpinfo(); 
?> 

Osoita nyt selaimesi osoitteeseen http://tecmint/test.php ja tarkista asennettujen moduulien ja lisäohjelmistojen olemassaolo:

Onnittelut! Sinulla on nyt toimiva LEMP-pinon asennus. Jos jokin ei mennyt odotusten mukaan, ota rohkeasti yhteyttä alla olevalla lomakkeella. Myös kysymykset ja ehdotukset ovat tervetulleita.