Kuinka asentaa Nginx 1.15, MariaDB 10 ja PHP 7 CentOS 7: een


Tässä artikkelissa kerrotaan, kuinka LEMP-pino (Linux, Nginx, MariaDB, PHP) asennetaan yhdessä PHP-FPM: n kanssa RHEL/CentOS 7/6- ja Fedora 26-29 -palvelimille dnf-paketinhallintaa käyttäen.

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

Vaihe 1: Asenna EPEL ja Remi Repository

EPEL (Extra Packages for Enterprise Linux) on yhteisöpohjainen arkisto, joka tarjoaa lisäohjelmistopaketteja RHEL-pohjaisiin Linux-jakeluihin.

Remi on arkisto, josta löydät uusimmat PHP-pinon versiot (täysin varustellun) asennettaviksi Fedora- ja Enterprise Linux -jakeluihin.

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

Vaihe 2: Nginx- ja MariaDB-arkistojen asentaminen

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

[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 

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

[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: Ngnixin ja MariaDB: n asentaminen

Nginx (Engine X) on avoimen lähdekoodin, kestävä, kevyt ja erittäin suorituskykyinen Web-palvelin, käänteinen välityspalvelimen katkaisu ja myös posti välityspalvelin HTTP-, SMTP-, POP3- ja IMAP-protokollille. Lisätietoja on osoitteessa http://wiki.nginx.org/Overview.

MariaDB on haarukka tunnetusta MySQL: stä, joka on yksi maailman suosituimmista relaatiotietokantojen hallintajärjestelmistä (RDBMS). Sen on kokonaan kehittänyt yhteisö, ja sellaisenaan 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 Repository -sovelluksella

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

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

# yum install yum-utils

Asennuksen jälkeen voit käyttää yum-utils -palvelun tarjoamaa yum-config-manageria, jotta Remi-arkisto on oletustietovarasto eri PHP-versioiden asentamiseen kuvan osoittamalla tavalla.

Voit esimerkiksi asentaa PHP 7.x -version seuraavalla komennolla.

------------- 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 aiomme asentaa 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 käytöstä/peitettävä (vahvempi versio käytöstä, joka yhdistää palvelun/dev/null) voidaksesi 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/lopettaminen

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

Luo nyt hakemistorakenne verkkosivustollesi (virtuaalinen isäntä tai palvelinlohko, kuten sitä kutsutaan Nginxissä) kohtaan/srv/www /. Tässä esimerkissä käytämme linux-console.net , mutta voit vapaasti valita toisen verkkotunnuksen 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-virtuaalisten isäntähakemistojen määrittäminen

Kuten tiedätte, kyky ajaa useita sivustoja samalta koneelta on yksi suurten verkkopalvelimien erottavista piirteistä. Luodaan nyt hakemistot palvelinlohkojemme (tunnetaan Apache-nimissä virtuaalisina isäntinä) tallentamiseksi tiedostoon/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ä/etc/nginx/sites -yhteensopivan hakemiston kokoonpanotiedostot otetaan huomioon, kun Nginx on käynnissä :

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

Jos haluat luoda palvelinlohkon sivustolle linux-console.net , lisää seuraavat koodirivit hakemistoon/etc/nginx/sites-available/tecmint (tämä tiedosto luodaan, kun syötät koko polun aloittaaksesi haluamasi tekstieditori). 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; 
	} 
} 

Virtuaalisen isännän "aktivointi" koostuu symbolisen linkin luomisesta virtuaalisen isännän tecmint määritelmästä/etc/nginx/sites-enabled.

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

Jotta voimme todella tehdä tekemämme muutokset, meidän on nyt käynnistettävä Nginx uudelleen. Joskus on hyödyllistä tarkistaa kokoonpanotiedostoista syntaksivirheiden varalta ennen kuin teet niin:

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

Jos haluat käyttää äskettäin luotua virtuaalipalvelinta, sinun on lisättävä seuraava rivi tiedostoon/etc/hosts verkkotunnuksen tarkkuuden perusmenetelmänä.

192.168.0.18	linux-console.net linux-console.net 

Vaihe 10: Nginxin, MySQL: n, PHP: n ja PHP-FPM: n testaaminen

Pidetään kiinni perinteisestä tavasta testata PHP. Luo tiedosto test.php kohtaan/srv/www/tecmint/public_html/ja lisää siihen seuraavat koodirivit.

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

<?php 
	phpinfo(); 
?> 

Osoita nyt verkkoselaimesi kohtaan http://tecmint/test.php ja tarkista asennettujen moduulien ja lisäohjelmistojen läsnäolo:

Onnittelut! Sinulla on nyt toimiva LEMP-pinon asennus. Jos jokin ei mennyt odotetulla tavalla, ota rohkeasti yhteyttä alla olevan lomakkeen avulla. Kysymykset ja ehdotukset ovat myös tervetulleita.