Giunsa ang Pag-install sa LEMP Stack sa Rocky Linux 8


Ang LEMP usa ka sikat nga stack nga naglangkob sa open-source nga software nga kolektibo nga gigamit sa pag-host ug pag-alagad sa mga aplikasyon sa web, bisan sa produksiyon o bisan unsang yugto sa siklo sa pag-uswag.

Ang terminolohiya nga LEMP usa ka acronym sa Linux, Nginx (gipahayag nga Engine X, busa ang E) nga usa ka web browser, MariaDB o MySQL - database, ug PHP alang sa pagproseso sa dinamikong sulod). Ang LEMP stack kay popular nga gigamit alang sa pag-host sa mga high-traffic ug highly scalable web applications ug websites.

Niini nga giya, mahibal-an nimo kung giunsa ang pag-install sa LEMP stack sa Rocky Linux 8.4.

Sa dili pa magsugod sa pag-instalar sa LEMP stack, siguroha nga anaa kanimo ang mosunod nga mga kinahanglanon.

  • Usa ka Instance sa Rocky Linux 8 nga adunay sudo user nga gi-configure.
  • SSH access sa Rocky Linux instance.

Magsugod na ta…

Lakang 1: I-install ang Nginx sa Rocky Linux

Ang unang lakang mao ang pag-instalar sa unang bahin sa LEMP stack nga mao ang Nginx web server. Una, pag-upgrade sa mga pakete.

$ sudo dnf update -y

Human makompleto ang pag-update, i-install ang Nginx pinaagi sa pagpadagan sa mosunod nga sugo. Gi-install niini ang Nginx kauban ang ubang mga dependency nga gikinahanglan sa webserver.

$ sudo dnf install nginx 

Kung naa na ang Nginx, himoa kini nga magsugod sa oras sa pag-boot ug pagsugod sa Nginx daemon.

$ sudo systemctl enable nginx 
$ sudo systemctl start nginx 

Aron makumpirma nga ang web server nagdagan, ipatuman ang mando:

$ sudo systemctl status nginx

Gikan sa output, makahinapos kita nga ang webserver anaa na ug nagdagan.

Kung ikaw interesado kaayo, mahimo nimong susihon ang bersyon sa Nginx ingon sa mosunod. Ang output nagpakita nga kita nagpadagan sa Nginx 1.14.1.

$ nginx -v

nginx version: nginx/1.14.1

Dugang pa, makumpirma nimo nga ang browser nagtrabaho pinaagi sa pag-browse sa gipakita nga URL. Kini magpakita sa default nga Nginx Welcome nga panid nga nagpakita nga ang tanan maayo.

http://server-ip or domain name

Kung adunay mga isyu sa pagtan-aw sa panid, hunahunaa ang pag-abli sa port 80 o pagtugot sa trapiko sa HTTP sa firewall.

$ sudo firewall-cmd --zone=public --add-service=http --permanent 

Dayon i-reload ang firewall ug i-reload ang panid.

$ sudo firewall-cmd --reload

Lakang 2: I-install ang MariaDB sa Rocky Linux

Alang niini nga giya, among i-install ang database sa MariaDB. Kini tungod sa na-optimize nga performance ug bahandi sa mga storage engine nga gihatag niini nga naghimo niini nga mas labaw sa MySQL.

Aron ma-install ang MariaDB database server, padagana ang command:

$ sudo dnf install mariadb-server mariadb

Kung nahuman na, mahimo ug sugdi ang MariaDB ingon sa gipakita.

$ sudo systemctl enable mariadb
$ sudo systemctl start mariadb

Unya pamatud-i ang kahimtang niini.

$ sudo systemctl status mariadb

Ang default nga mga setting alang sa MariaDB dili igo nga luwas ug ang imong database dali nga malapas. Isip usa ka pag-amping aron mapugngan ang mga nanghilabot sa labing sukaranan nga lebel, padagana ang script sa ubos.

$ sudo mysql_secure_installation

Siguroha nga i-set up ang Root password.

Alang sa nahabilin nga mga pag-aghat, i-type lang ang Y aron tangtangon ang mga wala mailhi nga tiggamit, isalikway ang layo nga pag-login sa gamut, tangtangon ang database sa pagsulay, ug sa katapusan i-save ang mga pagbag-o nga nahimo.

Aron maka-login sa database server, padagana ang command:

$ sudo mysql -u root -p

Ihatag ang password ug pindota ang ENTER.

Lakang 3: I-install ang PHP sa Rocky Linux

Ang katapusan nga sangkap nga i-install mao ang PHP pinaagi sa PHP-FPM, nga nagpasabut sa FastCGI Process Manager. Kini usa ka episyente ug labi ka abante nga processor alang sa PHP nga naghatag mga bahin nga naggarantiya sa labing maayo nga pasundayag, ug seguridad alang sa mga website nga adunay daghang trapiko.

Sa pagsugod, among i-install ang Remi repository nga usa ka third-party nga libre nga repository nga naghatag sa pinakabag-o nga bersyon sa PHP.

Aron mahimo ang Remi repository, padagana ang command:

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

Kung mahimo na ang repositoryo sa Remi, tan-awa ang lista sa mga module sa PHP nga gi-host gamit ang gipakita nga command.

$ sudo dnf module list php

Gikan sa output, atong makita nga ang default nga bersyon kay 7.2 – nga adunay tag [d]. Bisan pa, among i-install ang pinakabag-o nga module nga mao ang Remi 8.0.

Busa, i-reset ang default PHP modules ug i-enable ang pinakabag-o nga Remi PHP module.

$ sudo dnf module list reset php
$ sudo dnf module enable php:remi-8.0

Sunod, i-update ang sistema ug i-install ang PHP ug PHP-FPM kauban ang mga extension sa PHP sa imong gusto.

$ sudo dnf install php php-fpm php-gd php-mysqlnd php-cli php-opcache

Kung kompleto na ang pag-install, paganaa ug pagsugod sa PHP-FPM sama sa gipakita.

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

Sunod, susiha ang running status sa PHP-FPM.

$ sudo systemctl status php-fpm

Kasagaran, ang PHP-FPM nagdagan ingon nga tiggamit sa Apache, apan tungod kay gigamit namon ang Nginx, kinahanglan namon nga itakda kini sa Nginx. Busa, ablihi ang mosunod nga configuration file.

$ sudo vim /etc/php-fpm.d/www.conf

Ibutang ang user ug grupo sa Nginx.

user = nginx
Group = nginx

Pagkahuman, i-reload ang PHP-FPM nga daemon.

$ sudo systemctl reload php-fpm

Aron makumpirma nga among na-install ang pinakabag-o nga bersyon sa PHP, padagana ang command.

$ php -v

Ang laing nindot nga paagi sa Testin PHP mao ang paghimo ug simple nga PHP file ug ibutang kini sa webroot directory nga nahimutang sa /usr/share/nginx/html. Busa, paghimo ug yano nga info.php file sa /usr/share/nginx/html webroot directory.

$ sudo vim /usr/share/nginx/html/info.php

Idugang ang mosunod nga sulod ug i-save ang file.

<?php

phpinfo();

?>

Aron mahimo ang mga pagbag-o, i-reload ang Nginx web server.

$ sudo systemctl restart nginx

Sa katapusan, pag-access sa mosunod nga URL.

http://server-ip/info.php

Ang usa ka webpage nga adunay detalyado nga kasayuran bahin sa na-install nga bersyon sa PHP kauban ang ubang mga extension sa PHP ang ipakita.

Niini nga punto, ang among LEMP setup kompleto na. Sa sunod nga lakang, mag-host kami usa ka sample nga site pinaagi sa pag-configure sa block sa server sa Nginx.

Lakang 3: I-configure ang Nginx Server Block sa Rocky Linux

Ang usa ka block sa server nagtugot sa mga tagdumala sa pag-host sa daghang mga website sa usa ka server pinaagi sa pagtino sa lainlaing mga direktoryo sa gamut nga dokumento sa site. Kini ang mga direktoryo nga adunay mga file sa website.

Dinhi, maghimo kami usa ka Nginx server block file aron mag-host sa usa ka sample nga website.

Una, paghimo sa direktoryo sa dokumento sa site nga adunay sulud nga datos sa site nga magamit sa mga bisita sa site. Hunahunaa nga ikaw adunay domain nga gitawag example.com. Paghimo sa direktoryo sa domain sa site sama sa mosunod. Siguruha nga ilisan ang example.com sa Hingpit nga Kwalipikado nga Domain Name sa imong site o narehistro nga domain.

$ sudo mkdir -p /var/www/example.com/html

Ang istruktura sa direktoryo sa domain gitakda na nga mag-host sa mga file sa site. Sa pagkakaron, kini ang gamut nga tiggamit nga tag-iya sa mga file. Kinahanglan namon nga itakda ang pagpanag-iya nga kini ang regular nga tiggamit nga tag-iya sa file.

Aron mabag-o ang pagpanag-iya sa mga file sa karon nga naka-log-in nga tiggamit, gamita ang chown command.

$ sudo chown -R $USER:$USER /var/www/example.com/html

Ang $USER variable nagkuha sa bili sa kasamtangang naka-log-in nga user ug naghatag sa tag-iya sa user ngadto sa html files ug subdirectories. Dugang pa, paghatag ug pagtugot sa pagbasa sa kinatibuk-ang direktoryo sa web root aron ang mga bisita sa site maka-access sa mga panid sa site.

$ sudo chmod -R 755 /var/www

Ang direktoryo sa site karon maayo nga na-configure aron mag-alagad sa mga web page sa site.

Himoon na nato ang sample nga site sa pagsulay. Maghimo kami ug usa ka sukaranan kaayo nga index.html file sa html directory sa domain.

$ sudo vim /var/www/example.com/html/index.html

Idikit ang sulod sa ubos. Sama sa imong nakita, kini sukaranan tungod kay gigamit ra namon kini alang sa mga katuyoan sa pagsulay.

<html>
  <head>
    <title>Welcome to Example.com!</title>
  </head>
  <body>
    <h1>Success! The server block is active!</h1>
  </body>
</html>

Pag-save ug paggawas sa HTML file.

Ang usa ka server block file usa ka file nga adunay sulud nga pag-configure sa site. Gisaysay niini kung giunsa pagtubag sa web server sa Nginx ang mga hangyo gikan sa mga bisita sa site. Magsugod kita pinaagi sa paghimo og duha ka direktoryo:

  • /etc/nginx/sites-available – Kini ang direktoryo nga magkupot sa server block file.
  • /etc/nginx/sites-enabled – Ang direktoryo nagpahibalo sa Nginx nga ang server block file andam na sa pag-alagad sa mga hangyo.

Busa, paghimo sa mga direktoryo sama sa mosunod:

$ sudo mkdir /etc/nginx/sites-available
$ sudo mkdir /etc/nginx/sites-enabled

Pagkahuman, i-edit ang pangunang configuration file sa Nginx.

$ sudo mkdir /etc/nginx/nginx.conf

Idikit ang mosunod nga mga linya. Ang una nga linya nagtino sa agianan sa direktoryo nga adunay dugang nga mga file sa pag-configure. Ang ikaduha nga linya nagdugang sa memorya nga gigahin sa pag-parse sa mga ngalan sa domain.

include /etc/nginx/sites-enabled/*.conf;
server_names_hash_bucket_size 64;

Pag-save ug paggawas.

Sunod, paghimo og server block file.

$ sudo vim /etc/nginx/sites-available/example.com.conf

Idikit ang sulod sa ubos. Ilisan ang example.com sa imong Fully Qualified Domain name (FQDN) o server IP address.

server {
    listen  80;

    server_name example.com www.example.com;

    location / {
        root  /var/www/example.com/html;
        index  index.html index.htm;
        try_files $uri $uri/ =404;
    }

    error_page  500 502 503 504  /50x.html;
    location = /50x.html {
        root  /usr/share/nginx/html;
    }
}

Pag-save ug paggawas sa file.

Sa katapusan, kinahanglan natong palihokon ang server block file. Aron mahimo kini, maghimo kami usa ka simbolo nga link alang sa server block file sa direktoryo nga gipagana sa mga site.

$ sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/example.com.conf

Unya i-restart ang Nginx alang sa mga pagbag-o nga mahimo.

$ sudo systemctl restart nginx

Aron sulayan ang configuration ilunsad ang imong browser ug bisitaha ang domain sa imong site

http://example.com

Kinahanglan nga ipakita niini ang site sa block sa server sama sa among gi-configure sa Lakang 3.

Ug kini nagputos niini. Niini nga giya, kami naglakaw kanimo pinaagi sa pag-instalar sa LEMP stack sa Rocky Linux 8 ug nagpadayon sa usa ka lakang sa paghimo ug pag-configure sa usa ka server block file diin kami nag-host sa usa ka custom nga website.