Bii o ṣe le Fi Nginx 1.15 sii, MariaDB 10 ati PHP 7 lori CentOS 7


Ninu àpilẹkọ yii a yoo ṣalaye bi a ṣe le fi akopọ LEMP sori ẹrọ (Linux, Nginx, MariaDB, PHP) pẹlu PHP-FPM lori RHEL/CentOS 7/6 ati awọn olupin Fedora 26-29 nipa lilo oluṣakoso package dnf.

Lakoko ilana a yoo fi sori ẹrọ ati mu awọn ibi ipamọ Epel, Remi, Nginx ati MariaDB ṣiṣẹ lati le ni anfani lati fi awọn ẹya tuntun ti awọn idii wọnyi sori ẹrọ.

Igbesẹ 1: Fifi EPEL ati Ibi ipamọ Remi sii

EPEL (Awọn idii Afikun fun Lainos Idawọlẹ) jẹ ibi ipamọ orisun agbegbe ti nfunni awọn idii sọfitiwia afikun-fun awọn pinpin Lainos ti o da lori RHEL.

Remi jẹ ibi ipamọ nibiti o le wa awọn ẹya tuntun ti akopọ PHP (ifihan ti o kun) fun fifi sori ẹrọ ni awọn pinpin Fedora ati Idawọlẹ Linux.

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

Igbesẹ 2: Fifi Nginx ati Awọn ibi ipamọ MariaDB sii

Ibi ipamọ Nginx nilo nikan ni RHEL ati awọn kaakiri CentOS. Ṣẹda faili kan ti a pe ni /etc/yum.repos.d/nginx.repo ki o fi awọn ila wọnyi si.

[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 

Lati jẹki ibi ipamọ MariaDB, ṣẹda faili ti a npè ni /etc/yum.repos.d/mariadb.repo pẹlu awọn akoonu wọnyi:

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

Igbesẹ 4: Fifi Ngnix ati MariaDB sii

Nginx (Engine X) jẹ orisun ṣiṣi, ti o lagbara, iwuwo fẹẹrẹ ati olupin Wẹẹbu ṣiṣe giga, yiyipada aṣoju aṣoju ati tun olupin aṣoju mail fun HTTP, SMTP, POP3 ati awọn ilana IMAP. Fun awọn alaye siwaju sii, ṣabẹwo http://wiki.nginx.org/Overview.

MariaDB jẹ orita ti MySQL ti a mọ daradara, ọkan ninu Eto Ibaraẹnisọrọ data ibatan ti o dara julọ julọ ni agbaye (RDBMS). O ti dagbasoke patapata nipasẹ agbegbe ati bi iru bẹẹ o ti pinnu lati wa FOSS ati ibaramu pẹlu GPL.

Lati fi Ngnix ati MariaDB sori ẹrọ, ṣiṣe awọn ofin wọnyi.

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

Igbesẹ 3: Fifi PHP Lilo Ibi ipamọ Remi

PHP (Hypertext Preprocessor) jẹ ede afọwọkọ olupin-ọfẹ kan ati Ṣiṣii Orisun ti o dara julọ fun idagbasoke wẹẹbu. O le lo lati ṣe awọn oju-iwe wẹẹbu ti o ni agbara fun oju opo wẹẹbu kan ati pe a rii nigbagbogbo julọ ni awọn olupin * nix. Ọkan ninu awọn anfani ti PHP ni pe o jẹ irọrun irọrun nipasẹ lilo ọpọlọpọ awọn modulu.

Lati fi PHP sii, akọkọ o nilo lati mu ibi ipamọ Remi ṣiṣẹ nipa fifi yum-utils sii, ikojọpọ awọn eto to wulo fun sisakoso awọn ibi ipamọ yum ati awọn idii.

# yum install yum-utils

Lọgan ti o fi sii, o le lo yum-config-faili ti a pese nipasẹ yum-utils lati jẹki ibi-ipamọ Remi bi ibi ipamọ aiyipada fun fifi awọn oriṣiriṣi awọn ẹya PHP sori ẹrọ bi o ti han.

Fun apẹẹrẹ, lati fi ẹya PHP 7.x sori ẹrọ, lo aṣẹ atẹle.

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

Nigbamii ti, a yoo fi sori ẹrọ gbogbo awọn atẹle modulu PHP wọnyi.

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

Igbesẹ 6: Idaduro ati Muu Iṣẹ Iṣẹ Afun kuro

Nipa aiyipada, Apache ati Nginx tẹtisi ni ibudo kanna (TCP 80). Fun idi eyi, ti o ba ti fi Apache sii ninu olupin rẹ, o nilo lati da a duro ki o mu/boju rẹ (ẹya ti o lagbara ti mu ti o sopọ mọ iṣẹ si/dev/null) lati lo Nginx, tabi o le yọ kuro ti o ko gbero lori lilo rẹ mọ.

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

Igbesẹ 7: Bibẹrẹ/Duro Nginx, MariaDB ati 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 

Igbesẹ 8: Tito leto Nginx ati PHP-FPM

Jẹ ki a ṣẹda iṣeto ilana fun oju opo wẹẹbu rẹ (olugbalejo foju kan, tabi bulọọki olupin bi o ti pe ni Nginx) labẹ/srv/www /. Ninu apẹẹrẹ yii a yoo lo linux-console.net , ṣugbọn ni ọfẹ lati yan ibugbe miiran ati itọsọna akọkọ ti o ba fẹ.

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

Igbesẹ 9: Tito leto Awọn ilana Gbalejo Nginx Virtual

Bi o ṣe mọ, agbara ti ṣiṣe ọpọlọpọ awọn aaye lati ẹrọ kanna jẹ ọkan ninu awọn ẹya iyatọ ti awọn olupin wẹẹbu pataki. Jẹ ki a tẹsiwaju lati ṣẹda awọn ilana lati tọju awọn bulọọki olupin wa (ti a mọ bi awọn ọmọ ogun foju ni Apache) labẹ/ati be be lo/nginx.

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

Laini koodu ti o tẹle, eyi ti o gbọdọ fi sii ṣaaju titiipa bulọọki http ni /etc/nginx/nginx.conf, yoo rii daju pe awọn faili iṣeto ni inu itọsọna/ati be be/nginx/awọn aaye ti o ni agbara yoo gba sinu akọọlẹ nigbati Nginx n ṣiṣẹ :

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

Lati ṣẹda bulọọki olupin fun linux-console.net , ṣafikun awọn ila atẹle ti koodu si/ati be be/nginx/ojula-wa/tecmint (faili yii yoo ṣẹda nigbati o ba tẹ ọna kikun lati bẹrẹ ayanfẹ rẹ olootu ọrọ). Eyi jẹ faili atunto olupin foju fojuṣe kan.

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

Ilana ti “muu ṣiṣẹ” olugbalejo foju kan ni ṣiṣẹda ọna asopọ aami lati itumọ ti tecmint gbalejo foju si/ati be be/nginx/sites-enabled.

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

Lati le lo awọn ayipada ti a ti n ṣe, a nilo lati tun Nginx bẹrẹ lẹẹkansi. O jẹ iwulo nigbakan lati ṣayẹwo awọn faili iṣeto fun awọn aṣiṣe sintasi ṣaaju ṣiṣe bẹ:

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

Lati wọle si agbalejo foju ti o ṣẹṣẹ ṣẹda, o nilo lati ṣafikun laini atẹle si/ati be be/awọn ogun bi ọna ipilẹ ti ipinnu orukọ ìkápá.

192.168.0.18	linux-console.net linux-console.net 

Igbesẹ 10: Idanwo Nginx, MySQL, PHP ati PHP-FPM

Jẹ ki a faramọ pẹlu ọna ayebaye ti idanwo PHP. Ṣẹda faili kan ti a pe ni test.php labẹ/srv/www/tecmint/public_html/ki o ṣafikun awọn ila koodu wọnyi si.

Iṣẹ phpinfo() fihan ọpọlọpọ alaye ti alaye nipa fifi sori PHP lọwọlọwọ:

<?php 
	phpinfo(); 
?> 

Bayi tọka aṣawakiri wẹẹbu rẹ si http://tecmint/test.php ki o ṣayẹwo niwaju awọn modulu ti a fi sii ati sọfitiwia afikun:

Oriire! O ni bayi fifi sori iṣẹ ti akopọ LEMP kan. Ti nkan kan ko ba lọ bi o ti ṣe yẹ, ni ọfẹ lati kan si wa ni lilo fọọmu ni isalẹ. Awọn ibeere ati awọn didaba tun ṣe itẹwọgba.