Hvernig á að setja upp Nginx 1.15, MariaDB 10 og PHP 7 á CentOS 7
Í þessari grein munum við útskýra hvernig á að setja upp LEMP stafla (Linux, Nginx, MariaDB, PHP) ásamt PHP-FPM á RHEL/CentOS 7/6 og Fedora 26-29 netþjónum með dnf pakkastjóra.
Meðan á ferlinu stendur munum við setja upp og virkja Epel, Remi, Nginx og MariaDB geymslur til að geta sett upp nýjustu útgáfur þessara pakka.
Skref 1: Uppsetning EPEL og Remi Repository
EPEL (Extra Packages for Enterprise Linux) er samfélagsmiðað geymsla sem býður upp á viðbótarhugbúnaðarpakka fyrir RHEL-undirstaða Linux dreifingar.
Remi er geymsla þar sem þú getur fundið nýjustu útgáfur af PHP stafla (fullkomnar) til uppsetningar í Fedora og Enterprise Linux dreifingum.
# 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]
Skref 2: Setja upp Nginx og MariaDB geymslur
Nginx geymslan er aðeins nauðsynleg í RHEL og CentOS dreifingum. Búðu til skrá sem heitir /etc/yum.repos.d/nginx.repo og bættu eftirfarandi línum við hana.
[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
Til að virkja MariaDB geymsluna skaltu búa til skrá sem heitir /etc/yum.repos.d/mariadb.repo með eftirfarandi innihaldi:
[mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.1/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1
Skref 4: Uppsetning Ngnix og MariaDB
Nginx (Engine X) er opinn uppspretta, öflugur, léttur og afkastamikill vefþjónn, öfugur umboðsþjónn og einnig póstþjónn fyrir HTTP, SMTP, POP3 og IMAP samskiptareglur. Fyrir frekari upplýsingar, farðu á http://wiki.nginx.org/Overview.
MariaDB er gaffal af hinu vel þekkta MySQL, einu vinsælasta gagnagrunnsstjórnunarkerfi heims (RDBMS). Það er alfarið þróað af samfélaginu og sem slíkt er því ætlað að vera áfram FOSS og samhæft við GPL.
Til að setja upp Ngnix og MariaDB skaltu keyra eftirfarandi skipanir.
----------- 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
Skref 3: Uppsetning PHP með Remi Repository
PHP (Hypertext Preprocessor) er ókeypis og opinn uppspretta forskriftarmál á netþjóni sem hentar best fyrir vefþróun. Það er hægt að nota til að búa til kraftmiklar vefsíður fyrir vefsíðu og er oftast að finna á *nix netþjónum. Einn af kostum PHP er að það er auðvelt að stækka það með því að nota fjölbreytt úrval af einingum.
Til að setja upp PHP þarftu fyrst að virkja Remi geymslu með því að setja upp yum-utils
, safn gagnlegra forrita til að stjórna yum geymslum og pakka.
# yum install yum-utils
Þegar það hefur verið sett upp geturðu notað yum-config-manager frá yum-utils
til að virkja Remi repository sem sjálfgefna geymsla til að setja upp mismunandi PHP útgáfur eins og sýnt er.
Til dæmis, til að setja upp PHP 7.x útgáfu, notaðu eftirfarandi skipun.
------------- 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]
Næst ætlum við að setja upp allar þessar eftirfarandi PHP einingar.
------ 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
Skref 6: Stöðva og slökkva á Apache þjónustu
Sjálfgefið er að Apache og Nginx hlusta í sömu höfn (TCP 80). Af þeirri ástæðu, ef Apache er sett upp á netþjóninum þínum, þarftu að stöðva það og slökkva á/duldu það (sterkari útgáfa af disable sem tengir þjónustuna við /dev/null) til að nota Nginx, eða þú getur fjarlægt það ef þú ætlar ekki að nota það lengur.
# systemctl stop httpd # systemctl disable httpd or # systemctl mask httpd
Skref 7: Byrja/stöðva Nginx, MariaDB og 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
Skref 8: Stilla Nginx og PHP-FPM
Leyfðu okkur nú að búa til möppuskipulag fyrir vefsíðuna þína (sýndargestgjafi, eða netþjónablokk eins og það er kallað í Nginx) undir /srv/www/. Í þessu dæmi munum við nota linux-console.net
, en ekki hika við að velja annað lén og aðalskrá ef þú vilt.
# mkdir -p /srv/www/tecmint/public_html # mkdir /srv/www/tecmint/logs # chown -R nginx:nginx /srv/www/tecmint
Skref 9: Stilla Nginx sýndarhýsingarskrár
Eins og þú veist er hæfileikinn til að keyra nokkrar síður frá sömu vél einn af sérkenni helstu netþjóna. Við skulum nú halda áfram að búa til möppurnar til að geyma netþjónablokkirnar okkar (þekkt sem sýndarhýsingar í Apache) undir /etc/nginx.
# mkdir /etc/nginx/sites-available # mkdir /etc/nginx/sites-enabled
Eftirfarandi kóðalína, sem verður að setja inn áður en http-blokkinni er lokað í /etc/nginx/nginx.conf, mun tryggja að stillingarskrár inni í /etc/nginx/sites-enabled skránni verði teknar með í reikninginn þegar Nginx er í gangi :
## Load virtual host conf files. ## include /etc/nginx/sites-enabled/*;
Til að búa til netþjónablokkina fyrir linux-console.net
skaltu bæta eftirfarandi línum af kóða við /etc/nginx/sites-available/tecmint (þessi skrá verður búin til þegar þú slærð inn alla slóðina til að hefja valinn þinn textaritill). Þetta er grunnstillingarskrá sýndarhýsingar.
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; } }
Ferlið við að „virkja“ sýndarhýsil samanstendur af því að búa til táknrænan hlekk frá skilgreiningu tecmint
sýndarhýsilsins til /etc/nginx/sites-enabled.
# ln -s /etc/nginx/sites-available/tecmint /etc/nginx/sites-enabled/tecmint
Til þess að geta raunverulega beitt þeim breytingum sem við höfum verið að gera þurfum við nú að endurræsa Nginx. Það er stundum gagnlegt að athuga stillingarskrárnar fyrir setningafræðivillur áður en það er gert:
# nginx -t # systemctl restart nginx # systemctl status nginx
Til að fá aðgang að nýstofnuðu sýndarhýslinum þínum þarftu að bæta eftirfarandi línu við /etc/hosts sem grunnaðferð við upplausn lénsheita.
192.168.0.18 linux-console.net linux-console.net
Skref 10: Prófaðu Nginx, MySQL, PHP og PHP-FPM
Við skulum halda okkur við klassíska leiðina til að prófa PHP. Búðu til skrá sem heitir test.php
undir /srv/www/tecmint/public_html/ og bættu eftirfarandi kóðalínum við hana.
phpinfo()
aðgerðin sýnir miklar upplýsingar um núverandi PHP uppsetningu:
<?php phpinfo(); ?>
Beindu nú vafranum þínum á http://tecmint/test.php
og athugaðu hvort uppsettar einingar og viðbótarhugbúnaður sé til staðar:
Til hamingju! Þú hefur nú virka uppsetningu á LEMP stafla. Ef eitthvað fór ekki eins og búist var við skaltu ekki hika við að hafa samband við okkur með því að nota formið hér að neðan. Spurningar og ábendingar eru einnig vel þegnar.