Bii o ṣe le Fi sori ẹrọ Server LEMP lori CentOS 8


LEMP jẹ akopọ sọfitiwia kan ti o ni ipilẹ ti awọn irinṣẹ ọfẹ ati ṣiṣi ṣiṣi ti a lo fun agbara agbara ijabọ giga, ati awọn oju opo wẹẹbu ti o ni agbara. LEMP jẹ adape fun Lainos, Nginx (ti a pe ni Engine X), MariaDB/MySQL ati PHP.

Nginx jẹ orisun ṣiṣi, logan ati iṣẹ olupin giga ti o tun le ṣe ilọpo meji bi aṣoju-yiyipada. MariaDB jẹ eto data data ti a lo fun titoju data olumulo ati PHP jẹ ede afọwọkọ ẹgbẹ olupin ti a lo fun idagbasoke ati atilẹyin awọn oju-iwe wẹẹbu to lagbara.

Abala ti o ni ibatan: Bii o ṣe le Fi Server Server atupa sori CentOS 8

Ninu nkan yii, iwọ yoo kọ bi o ṣe le fi sori ẹrọ olupin LEMP kan lori kaakiri CentOS 8 Linux.

Igbesẹ 1: Imudojuiwọn Awọn idii Sọfitiwia lori CentOS 8

Lati bẹrẹ, ṣe imudojuiwọn ibi ipamọ mejeeji ati awọn idii sọfitiwia lori CentOS 8 Linux nipa ṣiṣe pipaṣẹ dnf atẹle.

$ sudo dnf update

Igbesẹ 2: Fi Nginx Web Server sori CentOS 8

Lẹhin ipari ti imudojuiwọn awọn idii, fi sori ẹrọ Nginx nipa lilo pipaṣẹ ti o rọrun.

$ sudo dnf install nginx

Snippet fihan pe fifi sori ẹrọ Nginx lọ daradara laisi eyikeyi awọn hiccups.

Nigbati fifi sori ẹrọ ba pari, tunto Nginx lati bẹrẹ lori bata ati rii daju pe Nginx nṣiṣẹ nipasẹ ṣiṣe awọn ofin.

$ sudo systemctl enable nginx
$ sudo systemctl start nginx
$ sudo systemctl status nginx

Lati ṣayẹwo ẹya Nginx ti a fi sii, ṣiṣe aṣẹ naa.

$ nginx -v

Ti iwariiri ba dara si ọ, ati pe o fẹ lati wa alaye diẹ sii nipa Nginx, ṣe pipaṣẹ rpm atẹle.

$ rpm -qi nginx 

Lati jẹrisi pe olupin Nginx rẹ n ṣiṣẹ nipa lilo ẹrọ lilọ kiri ayelujara kan, tẹ iru adirẹsi IP eto rẹ ni ọpa URL ki o lu Tẹ.

http://server-IP

O yẹ ki o ni anfani lati wo\"Kaabo si Nginx” oju-iwe wẹẹbu itọka pe olupin wẹẹbu Nginx rẹ ti wa ni ṣiṣiṣẹ.

Igbesẹ 3: Fi MariaDB sori CentOS 8

MariaDB jẹ orita orisun ati ọfẹ fun MySQL ati gbe awọn ẹya tuntun eyiti o jẹ ki o rọpo dara julọ fun MySQL. Lati fi MariaDB sori ẹrọ, ṣiṣe aṣẹ naa.

$ sudo dnf install mariadb-server mariadb

Lati jẹki MariaDB lati bẹrẹ ni akoko bata laifọwọyi, ṣiṣe.

$ sudo systemctl enable mariadb

Lati bẹrẹ olupin MariaDB, ṣiṣe aṣẹ naa.

$ sudo systemctl start mariadb

Lẹhin ti o fi sii, lo aṣẹ ti o wa ni isalẹ lati ṣayẹwo ipo rẹ.

$ sudo systemctl status mariadb

Ẹrọ ibi ipamọ data MariaDB ko ni aabo ati pe ẹnikẹni le wọle laisi awọn iwe eri. Lati ṣe lile MariaDB ati ni aabo lati dinku awọn aye ti iraye laigba aṣẹ, ṣiṣe aṣẹ naa.

$ sudo mysql_secure_installation

Kini atẹle ni lẹsẹsẹ ti awọn ta. Eyi akọkọ nilo ki o ṣeto ọrọigbaniwọle gbongbo kan. Lu Tẹ ki o tẹ Y fun Bẹẹni lati ṣafihan ọrọ igbaniwọle root.

Lẹhin ti o ṣeto ọrọigbaniwọle, dahun awọn ibeere ti o ku lati yọ olumulo alailorukọ kuro, yọ ibi ipamọ idanwo kuro, ki o mu iwọle wiwọle root kuro.

Lọgan ti o ba ti pari gbogbo awọn igbesẹ, o le wọle si olupin MariaDB ki o ṣayẹwo alaye ẹyà olupin MariaDB (pese ọrọ igbaniwọle ti o sọ tẹlẹ nigbati o ba ni aabo olupin naa).

$ mysql -u root -p

Igbesẹ 4: Fi PHP 7 sori CentOS 8

Lakotan, a yoo fi sori ẹrọ papọ LEMP ti o kẹhin eyiti o jẹ PHP, ede siseto wẹẹbu afọwọkọ ti a nlo nigbagbogbo fun idagbasoke awọn oju-iwe wẹẹbu ti o ni agbara.

Ni akoko kikọ itọsọna yii, ẹya tuntun ni PHP 7.4. A yoo fi sii eyi nipa lilo ibi ipamọ Remi. Ibi ipamọ Remi jẹ ibi ipamọ ọfẹ ti o gbe pẹlu awọn ẹya sọfitiwia gige gige tuntun ti ko si ni aiyipada lori CentOS.

Ṣiṣe aṣẹ ni isalẹ lati fi sori ẹrọ ibi ipamọ EPEL.

$ sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

Lẹhinna, tẹsiwaju ki o fi awọn ohun elo yum sori ẹrọ ki o mu ibi ipamọ ibi-ipamọ ṣiṣẹ nipa lilo aṣẹ ni isalẹ.

$ sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm

Nigbamii, wa awọn modulu PHP ti o wa ti o wa lati fi sori ẹrọ.

$ sudo dnf module list php

Gẹgẹbi a ti fihan, iṣẹjade yoo han awọn modulu PHP ti o wa, ṣiṣan ati awọn profaili fifi sori ẹrọ. Lati iṣẹjade ti o wa ni isalẹ, a le rii pe ẹya ti a fi sii lọwọlọwọ jẹ PHP 7.2 ti a tọka nipasẹ lẹta kan d ti o wa ni awọn akọmọ onigun mẹrin.

Lati iṣẹjade, a tun le rii pe module PHP tuntun jẹ PHP 7.4 eyiti a yoo fi sii. Ṣugbọn lakọkọ, a nilo lati tun awọn modulu PHP ṣe. Nitorina ṣiṣe aṣẹ naa.

$ sudo dnf module reset php

Nigbamii, mu module PHP 7.4 ṣiṣẹ nipa ṣiṣiṣẹ.

$ sudo dnf module enable php:remi-7.4

Pẹlu modulu PHP 7.4 ṣiṣẹ, nikẹhin fi PHP sori ẹrọ, PHP-FPM (Oluṣakoso ilana FastCGI) ati awọn modulu PHP ti o jọmọ nipa lilo aṣẹ.

$ sudo dnf install php php-opcache php-gd php-curl php-mysqlnd

Bayi, ṣayẹwo irufẹ ti a fi sii.

$ php -v 

Itele, mu ṣiṣẹ ki o bẹrẹ php-fpm.

$ sudo systemctl enable php-fpm
$ sudo systemctl start php-fpm

Lati ṣayẹwo ipo rẹ ṣe pipaṣẹ naa.

$ sudo systemctl status php-fpm

Ohun miiran ni pe nipasẹ aiyipada, PHP-FPM ti wa ni tunto lati ṣiṣẹ bi olumulo Apache. Ṣugbọn nitori A n ṣiṣẹ olupin ayelujara Nginx kan, a nilo lati yi eyi pada si olumulo Nginx.

Nitorina ṣii faili /etc/php-fpm.d/www.conf.

$ vi /etc/php-fpm.d/www.conf

wa awọn ila meji wọnyi.

user = apache
group = apache

Bayi yi awọn iye mejeeji pada si Nginx.

user = nginx
group = nginx

Fipamọ ki o jade kuro ni faili iṣeto.

Lẹhinna tun bẹrẹ Nginx ati PHP-FPM fun awọn ayipada lati wa si ipa.

$ sudo systemctl restart nginx
$ sudo systemctl restart php-fpm

Igbesẹ 5: Idanwo ti Alaye PHP

Nipa aiyipada, folda itọsọna wẹẹbu fun Nginx wa ni/usr/share/nginx/html/ona. Lati ṣe idanwo PHP-FPM, a yoo ṣẹda PHP faili info.php ki o lẹẹmọ awọn ila isalẹ.

<?php
 phpinfo();
?>

Fipamọ ki o jade kuro ni faili naa.

Lọlẹ aṣawakiri rẹ, ati ninu ọpa URL, tẹ adirẹsi IP olupin ayelujara rẹ bi o ti han.

http://server-ip-address/info.php

Ti gbogbo rẹ ba lọ daradara, iwọ yoo wo alaye nipa ẹya ti PHP ti o nṣiṣẹ ati awọn iṣiro miiran yoo han.

Ati pe iyẹn ni, awọn eniyan! O ti fi aṣeyọri akopọ olupin LEMP sori ẹrọ lori CentOS 8. Gẹgẹbi iṣọra aabo, o le fẹ yọ faili info.php kuro lati yago fun awọn olosa lati gba alaye naa lati olupin Nginx rẹ.