Kif Tinstalla Nginx 1.15, MariaDB 10 u PHP 7 fuq CentOS 7
F'dan l-artikolu ser nispjegaw kif tinstalla munzell LEMP (Linux, Nginx, MariaDB, PHP) flimkien ma 'PHP-FPM fuq servers RHEL/CentOS 7/6 u Fedora 26-29 bl-użu ta' maniġer tal-pakketti dnf.
Matul il-proċess se ninstallaw u nippermettu r-repożitorji ta' Epel, Remi, Nginx u MariaDB sabiex inkunu nistgħu ninstallaw l-aħħar verżjonijiet ta' dawn il-pakketti.
Pass 1: Installazzjoni ta' EPEL u Remi Repository
EPEL (Pakketti Extra għall-Intrapriża Linux) huwa repożitorju bbażat fuq il-komunità li joffri pakketti ta 'softwer add-on għal distribuzzjonijiet Linux ibbażati fuq RHEL.
Remi huwa repożitorju fejn tista 'ssib l-aħħar verżjonijiet tal-munzell PHP (dehra sħiħa) għall-installazzjoni fid-distribuzzjonijiet Fedora u Enterprise 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]
Pass 2: Installazzjoni tar-Repożitorji Nginx u MariaDB
Ir-repożitorju Nginx huwa meħtieġ biss fid-distribuzzjonijiet RHEL u CentOS. Oħloq fajl imsejjaħ /etc/yum.repos.d/nginx.repo u żid il-linji li ġejjin miegħu.
[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
Biex tippermetti r-repożitorju MariaDB, oħloq fajl bl-isem /etc/yum.repos.d/mariadb.repo bil-kontenut li ġej:
[mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.1/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1
Pass 4: Installazzjoni ta 'Ngnix u MariaDB
Nginx (Engine X) huwa server tal-Web sors miftuħ, robust, ħafif u ta 'prestazzjoni għolja, server proxy reverse u wkoll server proxy tal-posta għal protokolli HTTP, SMTP, POP3 u IMAP. Għal aktar dettalji, żur http://wiki.nginx.org/Overview.
MariaDB hija furketta tal-MySQL magħrufa sew, waħda mis-Sistema ta’ Ġestjoni ta’ Database Relazzjonali (RDBMS) l-aktar popolari fid-dinja. Huwa żviluppat għal kollox mill-komunità u bħala tali huwa maħsub li jibqa' FOSS u kompatibbli mal-GPL.
Biex tinstalla Ngnix u MariaDB, mexxi l-kmandi li ġejjin.
----------- 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
Pass 3: Installazzjoni ta' PHP billi tuża Remi Repository
PHP (Hypertext Preprocessor) hija lingwa ta' scripting fuq is-server Free u Open Source li hija l-aktar adattata għall-iżvilupp tal-web. Jista 'jintuża biex jipproduċi paġni tal-web dinamiċi għal websajt u l-aktar spiss jinstab f'servers *nix. Wieħed mill-vantaġġi tal-PHP huwa li huwa faċilment estensibbli permezz tal-użu ta 'varjetà wiesgħa ta' moduli.
Biex tinstalla PHP, l-ewwel trid tattiva r-repożitorju Remi billi tinstalla yum-utils
, ġabra ta' programmi utli għall-ġestjoni ta' repożitorji u pakketti yum.
# yum install yum-utils
Ladarba tkun installata, tista' tuża yum-config-manager ipprovduta minn yum-utils
biex tippermetti r-repożitorju Remi bħala r-repożitorju default għall-installazzjoni ta' verżjonijiet PHP differenti kif muri.
Pereżempju, biex tinstalla l-verżjoni PHP 7.x, uża l-kmand li ġej.
------------- 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]
Sussegwentement, se ninstallaw dawn il-moduli PHP kollha li ġejjin.
------ 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
Pass 6: Waqfien u Inżabilitar tas-Servizz Apache
B'mod awtomatiku, Apache u Nginx jisimgħu fl-istess port (TCP 80). Għal dik ir-raġuni, jekk Apache huwa installat fis-server tiegħek, għandek bżonn twaqqafha u tiddiżattivah/maskra (verżjoni aktar b'saħħitha ta 'diżattiva li tgħaqqad is-servizz ma' /dev/null) sabiex tuża Nginx, jew tista' tneħħih jekk m'intix qed tippjana li tużaha aktar.
# systemctl stop httpd # systemctl disable httpd or # systemctl mask httpd
Pass 7: Bidu/Twaqqaf Nginx, MariaDB u 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
Pass 8: Konfigurazzjoni ta 'Nginx u PHP-FPM
Ejjew issa noħolqu struttura tad-direttorju għall-websajt tiegħek (host virtwali, jew blokk tas-server kif tissejjaħ f'Nginx) taħt /srv/www/. F'dan l-eżempju se nużaw linux-console.net
, imma tħossok liberu li tagħżel dominju ieħor u direttorju prinċipali jekk trid.
# mkdir -p /srv/www/tecmint/public_html # mkdir /srv/www/tecmint/logs # chown -R nginx:nginx /srv/www/tecmint
Pass 9: Konfigurazzjoni ta 'Nginx Virtual Host Directories
Kif tafu, l-abbiltà li tmexxi diversi siti mill-istess magna hija waħda mill-karatteristiċi distintivi tas-servers tal-web ewlenin. Issa ejja nipproċedu biex noħolqu d-direttorji biex jaħżnu l-blokki tas-server tagħna (magħrufa bħala hosts virtwali f'Apache) taħt /etc/nginx.
# mkdir /etc/nginx/sites-available # mkdir /etc/nginx/sites-enabled
Il-linja ta' kodiċi li ġejja, li trid tiddaħħal qabel ma tagħlaq il-blokk http f'/etc/nginx/nginx.conf, se tiżgura li l-fajls ta' konfigurazzjoni ġewwa d-direttorju /etc/nginx/sites-enabled se jitqiesu meta Nginx ikun qed jaħdem :
## Load virtual host conf files. ## include /etc/nginx/sites-enabled/*;
Biex toħloq il-blokk tas-server għal linux-console.net
, żid il-linji ta' kodiċi li ġejjin għal /etc/nginx/sites-available/tecmint (dan il-fajl jinħoloq meta tidħol fil-mogħdija sħiħa biex tibda l-preferuta tiegħek editur tat-test). Dan huwa fajl bażiku tal-konfigurazzjoni tal-host virtwali.
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; } }
Il-proċess ta’ “attivazzjoni” ta’ host virtwali jikkonsisti fil-ħolqien ta’ rabta simbolika mid-definizzjoni tal-ospitant virtwali tecmint
għal /etc/nginx/sites-enabled.
# ln -s /etc/nginx/sites-available/tecmint /etc/nginx/sites-enabled/tecmint
Sabiex fil-fatt napplikaw il-bidliet li ilna nagħmlu, issa għandna bżonn nibdew mill-ġdid Nginx. Xi drabi jkun utli li tiċċekkja l-fajls tal-konfigurazzjoni għal żbalji ta’ sintassi qabel ma tagħmel dan:
# nginx -t # systemctl restart nginx # systemctl status nginx
Biex taċċessa l-host virtwali maħluq ġdid tiegħek, trid iżżid il-linja li ġejja ma’ /etc/hosts bħala metodu bażiku ta’ riżoluzzjoni tal-isem tad-dominju.
192.168.0.18 linux-console.net linux-console.net
Pass 10: Ittestjar Nginx, MySQL, PHP u PHP-FPM
Ejja nżommu mal-mod klassiku ta 'ttestjar tal-PHP. Oħloq fajl imsejjaħ test.php
taħt /srv/www/tecmint/public_html/ u żid miegħu l-linji ta' kodiċi li ġejjin.
Il-funzjoni phpinfo()
turi ħafna informazzjoni dwar l-installazzjoni attwali tal-PHP:
<?php phpinfo(); ?>
Issa poġġi l-web browser tiegħek lejn http://tecmint/test.php
u ċċekkja l-preżenza tal-moduli installati u s-softwer addizzjonali:
Prosit! Issa għandek installazzjoni li taħdem ta 'munzell LEMP. Jekk xi ħaġa ma marretx kif mistenni, tħossok liberu li tikkuntattjana billi tuża l-formola hawn taħt. Mistoqsijiet u suġġerimenti huma milqugħa wkoll.