Ինչպես տեղադրել և կարգավորել Nginx-ը PHP-FPM-ով CentOS 8-ում


Այս ձեռնարկը գոյություն ունի ՕՀ-ի այս տարբերակների համար

  • CentOS 8
  • CentOS 7.6
  • CentOS 7
  • CentOS 6.4
  • CentOS 6.3
  • CentOS 6.2

Այս էջում

  1. Նախադրյալներ
  2. Սկսել
  3. Տեղադրեք Nginx վեբ սերվերը
  4. Տեղադրեք PHP և PHP-FPM
  5. Ստեղծեք ինդեքսային էջ Nginx-ի համար
  6. Կարգավորեք Nginx-ը PHP-FPM-ով
  7. Փորձարկեք Nginx-ը PHP-FPM աջակցությամբ
  8. Եզրակացություն

Nginx-ը անվճար, բաց կոդով և ամենահզոր վեբ սերվերներից մեկն է ամբողջ աշխարհում: Այն հիմնականում օգտագործվում է բարձր բեռնված և մեծ տրաֆիկ կայքերի համար։ Nginx-ը հայտնի է իր կայունությամբ, պարզ կոնֆիգուրացիայով և ռեսուրսների ցածր սպառմամբ: Դուք կարող եք օգտագործել Nginx-ը որպես վեբ սերվեր և հակադարձ վստահված անձ:

FPM-ն նշանակում է FastCGI Process Manager-ը PHP-ի այլընտրանքային PHP FastCGI ներդրումն է և օգտագործվում է բարձր տրաֆիկ կայքերի համար: Այն սովորաբար օգտագործվում է վեբսերվերի հետ՝ PHP էջերը սպասարկելու համար: PHP-FPM-ն օգտագործում է ավելի քիչ հիշողություն և պրոցեսոր՝ համեմատած PHP-ի գործարկման ցանկացած այլ մեթոդի հետ: PHP-FPM-ն ավելի արագ է, քան CGI-ի վրա հիմնված ավանդական մեթոդները բազմաբնակարան PHP միջավայրերի համար: PHP-FPM-ը նաև թույլ է տալիս միաժամանակ գործարկել PHP-ի մի քանի տարբերակ:

Այս ձեռնարկը մեզ կսովորեցնի, թե ինչպես տեղադրել Nginx PHP-FPM աջակցությամբ CentOS 8-ում:

Նախադրյալներ

  • Սերվեր, որն աշխատում է CentOS 8-ով:
  • Ձեր սերվերի վրա կազմաձևված է արմատային գաղտնաբառը:

Սկսել

Լռելյայնորեն, SELinux-ը միացված է CentOS 8 սերվերում: Այսպիսով, դուք պետք է նախ անջատեք այն:

Դուք կարող եք դա անել՝ խմբագրելով /etc/selinux/config ֆայլը՝

nano /etc/selinux/config

Կատարեք հետևյալ փոփոխությունները.

SELINUX=disabled

Պահպանեք և փակեք ֆայլը: Այնուհետև վերագործարկեք ձեր սերվերը՝ փոփոխությունները կիրառելու համար:

Տեղադրեք Nginx վեբ սերվերը

Նախ, տեղադրեք Nginx վեբ սերվերը հետևյալ հրամանով.

yum install nginx -y

Երբ Nginx-ը տեղադրվի, գործարկեք Nginx ծառայությունը և միացրեք այն, որ այն սկսվի բեռնման վրա հետևյալ հրամանով.

systemctl start nginx
systemctl enable nginx

Ավարտելուց հետո կարող եք անցնել հաջորդ քայլին:

Տեղադրեք PHP և PHP-FPM

Հաջորդը, տեղադրեք PHP և PHP-FPM՝ գործարկելով հետևյալ հրամանը.

yum install php php-cli php-common php-fpm -y

Բոլոր փաթեթները տեղադրվելուց հետո գործարկեք PHP-FPM ծառայությունը և միացրեք այն, որ այն սկսվի համակարգի վերաբեռնումից հետո.

systemctl start php-fpm
systemctl enable php-fpm

Կարող եք նաև ստուգել PHP-FPM ծառայության կարգավիճակը հետևյալ հրամանով.

systemctl status php-fpm

Դուք պետք է ստանաք հետևյալ արդյունքը.

? php-fpm.service - The PHP FastCGI Process Manager
   Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; disabled; vendor preset: disabled)
   Active: active (running) since Thu 2019-10-17 05:39:11 EDT; 4min 40s ago
 Main PID: 1475 (php-fpm)
   Status: "Processes active: 0, idle: 5, Requests: 0, slow: 0, Traffic: 0req/sec"
    Tasks: 6 (limit: 5060)
   Memory: 28.5M
   CGroup: /system.slice/php-fpm.service
           ??1475 php-fpm: master process (/etc/php-fpm.conf)
           ??1478 php-fpm: pool www
           ??1479 php-fpm: pool www
           ??1480 php-fpm: pool www
           ??1481 php-fpm: pool www
           ??1482 php-fpm: pool www

Oct 17 05:39:10 centos8 systemd[1]: Starting The PHP FastCGI Process Manager...
Oct 17 05:39:11 centos8 systemd[1]: Started The PHP FastCGI Process Manager.

Ստեղծեք ինդեքսային էջ Nginx-ի համար

Հաջորդը, դուք պետք է ստեղծեք նմուշ info.php էջ՝ ստուգելու համար, թե արդյոք Nginx-ն օգտագործում է PHP-FPM, թե ոչ:

Դուք կարող եք ստեղծել info.php Nginx-ի լռելյայն փաստաթղթերի արմատային գրացուցակում, ինչպես ցույց է տրված ստորև.

nano /var/www/html/info.php

Ավելացնել հետևյալ տողերը.

<?php
    phpinfo();
?>

Պահպանեք և փակեք ֆայլը, երբ ավարտեք:

Հաջորդը, փոխեք info.php ֆայլի սեփականությունը nginx.

chown -R nginx: /var/www/html/info.php/

Կարգավորեք Nginx-ը PHP-FPM-ով

Հաջորդը, ձեզ հարկավոր է ստեղծել Nginx վիրտուալ հոսթի կազմաձևման ֆայլ և միացնել PHP-FPM աջակցությունը:

Դուք կարող եք այն ստեղծել հետևյալ հրամանով.

nano /etc/nginx/conf.d/example.conf

Ավելացնել հետևյալ տողերը.

server {
    listen 80;
    server_name example.com;
    root /var/www/html/;
    index info.php;

    access_log /var/log/nginx/example.com.access.log;
    error_log /var/log/nginx/example.com.error.log;

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/run/php-fpm/www.sock;
        fastcgi_index   index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
        expires max;
        log_not_found off;
    }

}

Պահպանեք և փակեք ֆայլը: Այնուհետև փորձարկեք Nginx-ը շարահյուսական ցանկացած սխալի համար հետևյալ հրամանով.

nginx -t

Այնուհետև միացրեք Nginx վիրտուալ հոսթ ֆայլը և վերագործարկեք Nginx ծառայությունը՝ կոնֆիգուրացիան կիրառելու համար.

systemctl restart nginx

Փորձարկեք Nginx-ը PHP-FPM աջակցությամբ

Այժմ բացեք ձեր վեբ զննարկիչը և մուտքագրեք http://example.com URL-ը: Դուք կվերահղվեք հետևյալ էջին՝

Վերոնշյալ էջում դուք պետք է տեսնեք, որ PHP-FPM-ը բեռնված է Nginx վեբսերվերով:

Եզրակացություն

Շնորհավորում եմ: դուք հաջողությամբ տեղադրել եք Nginx PHP-FPM աջակցությամբ CentOS 8 սերվերի վրա: Այժմ դուք կարող եք օգտագործել PHP-FPM՝ հյուրընկալելու բազմաթիվ կայքեր, որոնք օգտագործում են PHP-ի տարբեր տարբերակներ: