როგორ დააინსტალიროთ LEMP Stack Debian 11 Bullseye-ზე

LEMP არის ღია კოდის პროგრამული უზრუნველყოფის კოლექცია, რომელიც ჩვეულებრივ გამოიყენება ვებ აპლიკაციების მოსამსახურებლად. ტერმინი LEMP არის აკრონიმი, რომელიც წარმოადგენს Linux ოპერაციული სისტემის კონფიგურაციას Nginx-ით (გამოითქმის ძრავი-x, შესაბამისად E აკრონიმში) ვებ სერვერი, საიტის მონაცემებით ინახება MySQL ან MariaDB მონაცემთა ბაზაში და დინამიური შინაარსით დამუშავებული PHP-ით, რომელიც ფართოდ გამოიყენება ფართო ვებსაიტების ჰოსტინგისთვის მისი შესრულებისა და მასშტაბურობის გამო.

შემდეგ გაკვეთილზე შეიტყობთ როგორ დააინსტალიროთ LEMP (Nginx, MariaDB, PHP) Debian 11 Bullsye-ზე.

სარჩევი

წინაპირობები

  • რეკომენდებული OS: დებიანი 11 Bullseye.
  • მომხმარებლის ანგარიში: მომხმარებლის ანგარიში sudo ან root წვდომით.

ოპერაციული სისტემის განახლება

განაახლეთ თქვენი Debian ოპერაციული სისტემა, რათა დარწმუნდეთ, რომ ყველა არსებული პაკეტი განახლებულია:

sudo apt update && sudo apt upgrade -y

სახელმძღვანელოში გამოყენებული იქნება სუდოს ბრძანება და ვივარაუდოთ, რომ თქვენ გაქვთ სუდოს სტატუსი.

სუდოს სტატუსის დასადასტურებლად თქვენს ანგარიშზე:

რეკლამა
sudo whoami

მაგალითი გამომავალი, რომელიც აჩვენებს სუდოს სტატუსს:

[joshua@debian~]$ sudo whoami
root

არსებული ან ახალი sudo ანგარიშის დასაყენებლად, ეწვიეთ ჩვენს სახელმძღვანელოს მომხმარებლის დამატება Sudoers-ში Debian-ზე.

გამოიყენოს root ანგარიში, გამოიყენეთ შემდეგი ბრძანება root პაროლით შესასვლელად.

su

დააინსტალირეთ Depedencies

პირველი ნაბიჯი არის ინსტალაციის დროს საჭირო დამოკიდებულებების დაყენება, გამოიყენეთ შემდეგი ბრძანება, რომ დააინსტალიროთ ან შეამოწმოთ მათი არსებობა.

sudo apt-get install software-properties-common dirmngr ca-certificates apt-transport-https nano wget curl -y

დააინსტალირეთ უახლესი Nginx – (LEMP Stack)

LEMP სტეკის ინსტალაციის დასაწყებად, თქვენ უნდა დააინსტალიროთ ნინიქსი ვებ სერვერი. მეთოდი არის უახლესი Nginx მთავარი ხაზის ან სტაბილურის დაყენება ონდრეი სური საცავი, რომ ჰქონდეს ყველაზე განახლებული პროგრამული უზრუნველყოფა. Ubuntu-ს ბევრმა მომხმარებელმა იცის მისი PPA და თქვენ შეგიძლიათ იგივე გააკეთოთ Debian-ში.

Nginx-ის ძირითადი ან სტაბილურის უახლესი ვერსიის გამოსაყენებლად, ჯერ დაგჭირდებათ საცავი.

რეკლამა

ვარიანტი 1. იმპორტის მთავარი საცავი:

curl -sSL https://packages.sury.org/nginx-mainline/README.txt | sudo bash -x

ვარიანტი 2. სტაბილური საცავის იმპორტი:

curl -sSL https://packages.sury.org/nginx/README.txt | sudo bash -x

განაახლეთ თქვენი საცავი ახალი ცვლილების ასახვისთვის:

sudo apt update

ახლა, როცა დააინსტალირეთ Nginx საცავი და განაახლეთ საცავის სია, დააინსტალირეთ Nginx შემდეგი:

sudo apt install nginx-core nginx-common nginx nginx-full

მაგალითი გამომავალი:

როგორ დააინსტალიროთ LEMP Stack Debian 11 Bullseye-ზე

ტიპი Y, შემდეგ დააჭირეთ ღილაკს შეიყვანეთ გასაღები გააგრძელოთ და დაასრულოთ ინსტალაცია.

რეკლამა

გაითვალისწინეთ, რომ შეიძლება მოგეთხოვოთ შეინახოთ ან შეცვალოთ არსებული / etc / nginx /nginx.conf კონფიგურაციის ფაილი ინსტალაციის დროს. მიზანშეწონილია შეინახოთ თქვენი მიმდინარე კონფიგურაციის ფაილი დაჭერით (ნ). ასლი შეიქმნება შემნახველის ვერსიის მიუხედავად და თქვენ ასევე შეგიძლიათ ამის შემოწმება მომავალში.

ახლა შეამოწმეთ, რომ უახლესი Nginx Ondřej Surý საცავიდან იყო დაინსტალირებული apt-cache პოლიტიკის ბრძანება. შენიშვნა, სამეურვეო მაგალითი დაინსტალირებული Nginx Mainline:

apt-cache policy nginx

გამოსავლის მაგალითი ამისთვის Nginx Mainline:

როგორ დააინსტალიროთ LEMP Stack Debian 11 Bullseye-ზე

დააინსტალირეთ Brotli Support

თქვენ შეამჩნევთ, რომ ამ ვერსიაში ხელმისაწვდომი იქნება დამატებითი მოდულები, განსაკუთრებით brotli მხარდაჭერა. ჩასართავად ბროტლი, მიჰყევით ქვემოთ მოცემულ ნაბიჯებს.

გახსენი შენი nginx.conf კონფიგურაციის ფაილი:

nano /etc/nginx/nginx.conf

ახლა დაამატეთ დამატებითი ხაზები ადრე HTTP{} განყოფილება:

რეკლამა
brotli on;
brotli_comp_level 6;
brotli_static on;
brotli_types application/atom+xml application/javascript application/json application/rss+xml
   application/vnd.ms-fontobject application/x-font-opentype application/x-font-truetype
   application/x-font-ttf application/x-javascript application/xhtml+xml application/xml
   font/eot font/opentype font/otf font/truetype image/svg+xml image/vnd.microsoft.icon
   image/x-icon image/x-win-bitmap text/css text/javascript text/plain text/xml;

ის brotli_comp_level შეიძლება დაყენდეს შორის 1 (ყველაზე დაბალი) და 11 (ყველაზე მაღალი). როგორც წესი, სერვერების უმეტესობა ზის შუაში, მაგრამ თუ თქვენი სერვერი მონსტრია, დააყენეთ 11-ზე და დააკვირდით CPU-ს გამოყენების დონეს.

შემდეგ, შეამოწმეთ, რომ დარწმუნდეთ, რომ ცვლილებები სწორად მუშაობს, სანამ პირდაპირ ეთერში გადაიყვანთ:

sudo nginx -t

თუ ცვლილებები მუშაობს სწორად, თქვენ უნდა ნახოთ შემდეგი:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

ახლა განახორციელეთ ცვლილებები პირდაპირ თქვენი სერვერის გადატვირთვით:

sudo systemctl restart nginx

შემდეგი, ჩართეთ Nginx სისტემის ჩატვირთვისას:

sudo systemctl enable nginx

და ბოლოს, დარწმუნდით, რომ Nginx მუშაობს სწორად; ეს უნდა გამოტოვოთ, თუ თქვენ გაუშვით nginx -t ბრძანება და არ მიიღო შეცდომები.

რეკლამა
systemctl status nginx

მაგალითი გამომავალი:

როგორ დააინსტალიროთ LEMP Stack Debian 11 Bullseye-ზე

დააინსტალირეთ უახლესი MariaDB სერვერი

MariaDB 10.6/10.7 რეპოს იმპორტი ოფიციალური Bash სკრიპტის გამოყენებით

ოფიციალური bash სკრიპტი ხშირად საუკეთესო და უმარტივესი გზაა MariaDB-ის ინსტალაციისთვის Debian 11-ზე, რადგან თქვენ მიიღებთ მყისიერ განახლებებს, თუ რაიმე უსაფრთხოება ან ახალი ფუნქციები იქნება ხელმისაწვდომი. იგივე მეთოდი შეიძლება გამოყენებულ იქნას ალტერნატიული ვერსიების დასაყენებლად, როგორიცაა MariaDB 10.5 და შეიძლება გამოყენებულ იქნას მომავალში MariaDB 10.8 და უფრო მაღალი ინსტალაციისთვის, შეცვალეთ mariadb-server-version={ვერსიის ნომერი}.

თქვენს ტერმინალში გამოიყენეთ შემდეგი ბრძანება.

იხილეთ ასევე  როგორ დააინსტალიროთ Monit Ubuntu 22.10/22.04/20.04-ზე

ვარიანტი 1. იმპორტი MariaDB 10.6 საცავი:

curl -LsS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash -s -- --mariadb-server-version=10.6 --skip-maxscale --skip-tools

ვარიანტი 2. იმპორტი MariaDB 10.7 საცავი:

curl -LsS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash -s -- --mariadb-server-version=10.7 --skip-maxscale --skip-tools

თუ ბრძანება ვერ მოხერხდა, სავარაუდოდ დაგავიწყდათ curl პაკეტის დაყენება.

რეკლამა
sudo apt install curl -y

მაგალითი გამომავალი (MariaDB 10.7):

როგორ დააინსტალიროთ LEMP Stack Debian 11 Bullseye-ზე

შენიშვნა, maxscale და ინსტრუმენტები გამოტოვებულია. თქვენ შეგიძლიათ წაშალოთ ეს დროშები, მაგრამ ამჟამინდელი მომენტისთვის, ინსტრუმენტები არ არის მხარდაჭერილი Debian 11 Bullseye-სთვის ამ გაკვეთილის დროს, მაგრამ ეს შეიცვლება. მომხმარებელთა უმეტესობას არ დასჭირდება ეს დამატებები.

ეს აჩვენებს, რომ საცავი წარმატებით იმპორტირებულია. შემდეგი, განაახლეთ თქვენი APT საცავის ჩამონათვალი.

sudo apt update

დააინსტალირეთ MariaDB Debian Desktop-ზე ან სერვერზე

MariaDB-ის ინსტალაციისთვის, თქვენ უნდა დააინსტალიროთ კლიენტი და სერვერის პაკეტები. ეს შეიძლება გაკეთდეს შემდეგნაირად:

sudo apt install mariadb-server mariadb-client

მაგალითი გამომავალი (MariaDB 10.7):

როგორ დააინსტალიროთ LEMP Stack Debian 11 Bullseye-ზე

ტიპი Y და შემდეგ დააჭირეთ შეიყვანეთ გასაღები გააგრძელოთ ინსტალაცია.

რეკლამა

დაადასტურეთ MariaDB-ის ინსტალაცია ვერსიის შემოწმებით და შექმენით:

mariadb --version

მაგალითი გამომავალი:

mariadb  Ver 15.1 Distrib 10.7.1-MariaDB, for debian-linux-gnu (x86_64) using readline EditLine wrapper

გახსოვდეთ, ეს მხოლოდ მაგალითია. თქვენ შეგიძლიათ მარტივად შეცვალოთ MariaDB, როგორც ეს აღწერილია განყოფილების დასაწყისში.

შეამოწმეთ MariaDB 10.7 სერვისის სტატუსი

ახლა თქვენ დააინსტალირეთ MariaDB და შეგიძლიათ გადაამოწმოთ მონაცემთა ბაზის პროგრამული უზრუნველყოფის სტატუსი შემდეგი systemctl ბრძანების გამოყენებით:

systemctl status mariadb

მაგალითი:

როგორ დააინსტალიროთ LEMP Stack Debian 11 Bullseye-ზე

ნაგულისხმევად, თქვენ ნახავთ MariaDB სტატუსს, რომელიც გააქტიურებულია. თუ არა, დაიწყეთ MariaDB, გამოიყენეთ შემდეგი ბრძანება:

რეკლამა
sudo systemctl start mariadb

MariaDB-ის შესაჩერებლად:

sudo systemctl stop mariadb

სისტემის გაშვებისას MariaDB ჩასართავად:

sudo systemctl enable mariadb

სისტემის გაშვებისას MariaDB-ის გამორთვა:

sudo systemctl disable mariadb

MariaDB სერვისის გადატვირთვისთვის:

sudo systemctl restart mariadb

დაიცავით MariaDB უსაფრთხოების სკრიპტით

ინსტალაციისას მარიამბ ახალი, ნაგულისხმევი პარამეტრები ითვლება სუსტად სტანდარტების უმეტესობის მიხედვით და იწვევს შეშფოთებას პოტენციური შეჭრის ან ჰაკერების ექსპლუატაციისთვის. გამოსავალი არის ინსტალაციის უსაფრთხოების სკრიპტის გაშვება მარიამბ ინსტალაცია.

პირველი, გამოიყენეთ შემდეგი ბრძანება გასაშვებად (mysql_secure_installation):

რეკლამა
sudo mysql_secure_installation

შემდეგი, მიჰყევით ქვემოთ:

  • პაროლის დაყენება root ანგარიშები.
  • ამოიშლება root ანგარიშები, რომლებიც ხელმისაწვდომია ადგილობრივი ჰოსტის გარედან.
  • ანონიმური მომხმარებლის ანგარიშების წაშლა.
  • სატესტო მონაცემთა ბაზის წაშლა, რომელზეც ნაგულისხმევად წვდომა შეუძლიათ ანონიმურ მომხმარებლებს.

შენიშვნა, თქვენ იყენებთ (Y) ყველაფრის მოსაშორებლად.

მაგალითი:

[joshua@debian ~]$ sudo mariadb-secure-installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
haven't set the root password yet, you should just press enter here.

Enter current password for root (enter for none): 
OK, successfully used password, moving on...

Setting the root password or using the unix_socket ensures that nobody
can log into the MariaDB root user without the proper authorisation.

You already have your root account protected, so you can safely answer 'n'.

Switch to unix_socket authentication [Y/n] Y <---- Type Y then press the ENTER KEY.
Enabled successfully!
Reloading privilege tables..
 ... Success!


You already have your root account protected, so you can safely answer 'n'.

Change the root password? [Y/n] Y <---- Type Y then press the ENTER KEY.
New password: 
Re-enter new password: 
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] Y <---- Type Y then press the ENTER KEY.
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] Y <---- Type Y then press the ENTER KEY.
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] Y <---- Type Y then press the ENTER KEY.
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] Y <---- Type Y then press the ENTER KEY.
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

დააინსტალირეთ უახლესი PHP (PHP-FPM)

გაკვეთილის ბოლო ნაწილი იქნება PHP-ის ინსტალაცია, რომელიც არის backend, რომელიც აკავშირებს Nginx-სა და MariaDB-ს, შუა კაცს შორის. PHP 8.0 ხდება შედარებით სტაბილური და ახლა უკვე ხელმისაწვდომია PHP 8.1-ის უახლესი ვერსიები.

იხილეთ ასევე  როგორ დააინსტალიროთ Steam Debian 11/10-ზე

ნაგულისხმევად, PHP ხელმისაწვდომია Debian-ის ნაგულისხმევ საცავში. თუმცა, იმისათვის, რომ გვქონდეს Nginx-ის მსგავსი უახლესი ვერსია, გაკვეთილი ფოკუსირებული იქნება Ondřej Surý-ს უახლესი PHP ვერსიის იმპორტზე. ეს ყოველთვის განახლებულია მაშინაც კი, როდესაც ახალი PHP ვერსიები ჩამოიშლება.

Ondřej Surý PHP საცავი იმპორტი

პირველი ნაბიჯი არის იმპორტი და ინსტალაცია GPG გასაღები საცავის დამატებამდე.

რეკლამა

თქვენს ტერმინალში გამოიყენეთ შემდეგი ბრძანება.

თქვენს ტერმინალში გამოიყენეთ შემდეგი ბრძანება ინსტალაციის დასაწყებად.

curl -sSL https://packages.sury.org/php/README.txt | sudo bash -x

ეს ბრძანება დააინსტალირებს PHP საცავს და განაახლებს თქვენს APT საცავს.

განახლების ბრძანების გაშვების შემდეგ, შეიძლება შეამჩნიოთ, რომ ზოგიერთი პაკეტი საჭიროებს განახლებას, დარწმუნდით, რომ ეს გააკეთეთ სანამ გააგრძელებთ.

sudo apt upgrade

დააინსტალირეთ Choice PHP 7.4 / 8.0 / 8.1 FPM

ნინიქსი არ შეიცავს მშობლიურ PHP დამუშავებას, როგორც სხვა ვებ სერვერები, როგორიცაა Apache. PHP ფაილების დასამუშავებლად, თქვენ უნდა დააინსტალიროთ PHP-FPM "fastCGI პროცესის მენეჯერი."

პირველ რიგში, შეამოწმეთ განახლებები თქვენს სისტემაში და დააინსტალირეთ PHP-FPM, დაინსტალირებთ საჭირო PHP პაკეტებს.

რეკლამა

PHP-FPM 7.4-ის დასაყენებლად:

sudo apt install php7.4 php7.4-fpm php7.4-cli php7.4-curl php7.4-zip php7.4-mysql -y

PHP-FPM 8.0-ის დასაყენებლად:

sudo apt install php8.0 php8.0-fpm php8.0-cli php8.0-curl php8.0-zip php8.0-mysql -y

PHP-FPM 8.1-ის დასაყენებლად:

sudo apt install php8.1 php8.1-fpm php8.1-cli php8.1-curl php8.1-zip php8.1-mysql -y

ინსტალაციის შემდეგ, PHP-FPM სერვისი ავტომატურად იწყება და შეგიძლიათ შეამოწმოთ სტატუსი, რათა დარწმუნდეთ, რომ ის კარგად მუშაობს.

მაგალითი ერთად (PHP-FPM 8.1):

systemctl status php8.1-fpm

მაგალითი გამომავალი:

რეკლამა
როგორ დააინსტალიროთ LEMP Stack Debian 11 Bullseye-ზე

შეგახსენებთ, რომ ნახოთ PHP-FPM-ის რომელი ვერსიაა დაინსტალირებული თქვენს სისტემაში, გამოიყენეთ შემდეგი ბრძანება.

php --version

მაგალითი გამომავალი:

როგორ დააინსტალიროთ LEMP Stack Debian 11 Bullseye-ზე

შექმენით PHP ტესტის ინფორმაციის გვერდი

PHP-FPM Nginx ვებ სერვერთან შესამოწმებლად, თქვენ უნდა შექმნათ ფაილი webroot დირექტორიაში.

სახელმძღვანელოსთვის თქვენ დაასახელებთ ფაილს (info.php) შემდეგი რედაქციით:

sudo nano /var/www/html/info.php

ჩასვით შემდეგი (info.php) ფაილი:

<?php

phpinfo();

?>

შეინახეთ ფაილი (CTRL+O), შემდეგ გასვლა (Ctrl+x).

რეკლამა

ახლა თქვენი ინტერნეტ ბრაუზერის მისამართის ზოლში შეიყვანეთ (სერვერის-ip-მისამართი/info.php). თუ თქვენ დააინსტალირეთ Nginx თქვენს ადგილობრივ კომპიუტერზე, გამოიყენეთ ნაგულისხმევი (127.0.0.1/info.php) or (localhost/info.php).

მაგალითი:

როგორ დააინსტალიროთ LEMP Stack Debian 11 Bullseye-ზე

ეს ინფორმაცია აჩვენებს, რომ PHP სკრიპტებს შეუძლიათ სწორად იმუშაონ Nginx ვებ სერვერთან.

უსაფრთხოების მიზნით, თქვენ უნდა წაშალოთ ფაილი. ამისათვის გამოიყენეთ შემდეგი ბრძანება:

sudo rm -f /var/www/html/info.php

თუ გსურთ ფაილის შენარჩუნება მომავალი მიზნებისთვის, დაამატეთ შემდეგი თქვენი Nginx სერვერის ბლოკის ფაილში სერვერი {} განყოფილება:

    location ^~ /info.php {
     allow <YOUR IP ADDRESS>; 
     deny all;
    }

ეს საშუალებას მისცემს მხოლოდ ფაილზე წვდომისთვის მითითებულ IP მისამართს. მიზანშეწონილია იმდენი სისტემის ინფორმაციის დამალვა პოტენციური ჰაკერებისგან და მავნე მოქმედი პირებისგან.

რეკლამა

შექმენით Nginx სერვერის ბლოკი

Nginx სერვერის ბლოკი არის ვირტუალური ჰოსტის ექვივალენტი Apache-ში, რომელიც შეიცავს თქვენი Nginx ვებ სერვერის კონფიგურაციას, რომელიც პასუხობს საჯარო ვიზიტორებს. ქვემოთ მოცემულია ამის მიღწევის სრული მაგალითი PHP-FPM-ის გათვალისწინებით.

შექმენით სერვერის ბლოკის დირექტორიები

ის (.conf) ფაილები ჩვეულებრივ მდებარეობს (საიტები ხელმისაწვდომია) და (საიტებზე ჩართულია). სხვადასხვა დისტრიბუციიდან მომავალი მომხმარებლები შეამჩნევენ, რომ ეს უკვე დაინსტალირებულია; თუმცა Rocky Linux-ისთვის მათი შექმნა დაგჭირდებათ.

იხილეთ ასევე  როგორ დააინსტალიროთ MakeMKV Debian 11/10-ზე

შექმენით ორი საჭირო (საიტები) დირექტორია შემდეგი ბრძანებით:

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

შეცვალეთ Nginx კონფიგურაციის ფაილი

საჭირო დირექტორიების შექმნის შემდეგ, შეცვალეთ Nginx-ის ძირითადი კონფიგურაციის ფაილი (nginx.conf) შემდეგი რედაქციით:

sudo nano /etc/nginx/nginx.conf

შემდეგ ჩასვით შემდეგი რამდენიმე სტრიქონი (HTTP) განყოფილების (nginx.conf) კონფიგურაციის ფაილი:

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

შეინახეთ კონფიგურაცია (CLTR+O) და მაშინ (Ctrl+x) გასასვლელად.

რეკლამა

Შენიშვნა, (server_names_hash_bucket_size) ზრდის დომენური სახელების ანალიზისთვის გამოყოფილ მეხსიერებას.

შექმენით სერვერის ბლოკის კონფიგურაციის ფაილი

ახლა შექმენით სერვერის ბლოკის ფაილი ნებისმიერი ტექსტური რედაქტორის გამოყენებით, რომელსაც სახელმძღვანელო გამოიყენებს (ნანო):

sudo nano /etc/nginx/sites-available/example.com.conf

შემდეგი, თქვენ უნდა დააყენოთ კონფიგურაციის ფაილი სამუშაო მაგალითით PHP-FPM ჩართულით.

ქვემოთ მოცემულია მაგალითი, რომ დააკოპიროთ და ჩასვათ. შენიშვნა ჩანაცვლებისთვის (სერვერის სახელი) თქვენი დომენის სახელით ან IP-ით:

server {
  listen 80;
  listen [::]:80;
  server_name example.com www.example.com;
  root /var/www/html/example.com/;
  index index.php index.html index.htm;

  location / {
    try_files $uri $uri/ /index.php;
  }

### DO NOT FORGET TO CHANGE php8.1-fpm.sock TO 8.0 OR 7.4 FOR ALTERNATIVE VERSIONS ###
 location ~ .php$ {
   include snippets/fastcgi-php.conf;
   fastcgi_pass unix:/run/php/php8.1-fpm.sock;
  }

 # A long browser cache lifetime can speed up repeat visits to your page
  location ~* \.(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$ {
       access_log        off;
       log_not_found     off;
       expires           360d;
  }

  # disable access to hidden files
  location ~ /\.ht {
      access_log off;
      log_not_found off;
      deny all;
  }
}

ახლა შეინახეთ სერვერის ბლოკი (CTRL+O), შემდეგ გადით (Ctrl+x).

შექმენით სატესტო სადესანტო გვერდი

კარგი იდეაა შექმნათ საგამოცდო საიტის ნიმუში. ქვემოთ მოცემულია სტანდარტული ტესტის index.html დაყენება:

რეკლამა

თუ თქვენ უკვე არ შეგიქმნიათ თქვენი მუდმივი ან სატესტო ვებ დირექტორია:

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

თქვენ მოგიწევთ ნებართვების კონფიგურაცია და შეგიძლიათ დააყენოთ, როგორც მომხმარებელი ამჟამად შესული $ USER ცვლადი:

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

ბოლო ნებართვის პარამეტრი არის ის, რომ საზოგადოებას მიეცეს საშუალება წაიკითხოს ვებ კატალოგი (წვდომა თქვენს საიტზე) chmod 755 ნებართვის გამოყენებით:

sudo chmod -R 755 /var/www

შემდეგი, შექმნა index.html ფაილი:

sudo nano /var/www/html/example.com/index.html

ჩასვით შინაარსი ქვემოთ. როგორც ხედავთ, ეს საკმაოდ ძირითადია, რადგან ჩვენ ვიყენებთ მას მხოლოდ ტესტირების მიზნებისთვის.

<html>
  <head>
    <title>You have reached Example.com!</title>
  </head>
  <body>
    <h1>Congratulations! The server block is active! Linuxcapable.com</h1>
  </body>
</html>

შეინახეთ კონფიგურაცია (CLTR+O) და მაშინ (Ctrl+x) გასასვლელად.

რეკლამა

ჩართეთ Nginx სერვერის ბლოკი

თქვენ ახლა ბოლო ეტაპზე ხართ და ახლა დროა ჩართოთ სერვერის ბლოკის კონფიგურაციის ფაილი. ამისათვის თქვენ უნდა შექმნათ სიმბოლური ბმული (სიმბოლო ბმული) სერვერის ბლოკის კონფიგურაციის ფაილისთვის (საიტები ხელმისაწვდომია) დირექტორია (საიტებზე ჩართულია) დირექტორია შემდეგი ბრძანების გამოყენებით:

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

შეამოწმეთ Nginx სერვერის ბლოკი

დასრულების მიზნით, თქვენ ყოველთვის უნდა გააკეთოთ მშრალი გაშვება თქვენი Nginx სერვისის გადატვირთვამდე ან გადატვირთვამდე, რაც გადამწყვეტია ცოცხალ გარემოში მუშაობისას. ჩაწერეთ შემდეგი ბრძანება თქვენი სერვერის ბლოკის კონფიგურაციის ფაილის შესამოწმებლად:

sudo nginx -t

თუ შეცდომები არ არის, მიიღებთ შემდეგს.

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

შემდეგი, გახსენით თქვენი ინტერნეტ ბრაუზერი და შეიყვანეთ თქვენი დომენის მისამართი (example.com) შესამოწმებლად მიუწვდომელია თუ არა თქვენი სერვერი.

გილოცავთ, თქვენ წარმატებით შექმენით Nginx სერვერის ბლოკი PHP-FPM მზად.

როგორ დააინსტალიროთ LEMP Stack Debian 11 Bullseye-ზე

დაიცავით Nginx Let's Encrypt SSL უფასო სერთიფიკატით

იდეალურ შემთხვევაში, გსურთ თქვენი Nginx-ის გაშვება HTTPS SSL სერთიფიკატის გამოყენებით. ამის საუკეთესო გზა გამოყენებაა მოდით დავშიფროთ, უფასო, ავტომატიზირებული და ღია სერტიფიკატის ორგანო, რომელსაც მართავს არაკომერციული ინტერნეტ უსაფრთხოების კვლევის ჯგუფი (ISRG).

რეკლამა

პირველი, დააინსტალირეთ certbot პაკეტი შემდეგი რედაქციით:

sudo apt install python3-certbot-nginx -y

ინსტალაციის შემდეგ, გაუშვით შემდეგი ბრძანება თქვენი სერთიფიკატის შექმნის დასაწყებად:

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d www.example.com

ეს იდეალური დაყენება მოიცავს იძულებით HTTPS 301 გადამისამართებებს, Strict-Transport-Security სათაურს და OCSP Stapling-ს. უბრალოდ დარწმუნდით, რომ შეცვალეთ ელექტრონული ფოსტა და დომენის სახელი თქვენს მოთხოვნებზე.

ახლა თქვენი URL იქნება HTTPS://www.example.com ნაცვლად HTTP://www.example.com.

თუ იყენებთ ძველს HTTP URL, ის ავტომატურად გადამისამართდება HTTPS.

კომენტარები და დასკვნა

ტუტორიალში თქვენ ისწავლეთ როგორ დააინსტალიროთ LEMP სტეკი MariaDB-ის დასაცავად, PHP ტესტირება და Nginx სერვერის ბლოკის შესაქმნელად. საერთო ჯამში, LEMP არის ჭკვიანი ვარიანტი. ახლა, Nginx-მა აჯობა Apache-ს, როგორც ყველაზე ხშირად გამოყენებული HTTP ვებ სერვერის პროგრამულ უზრუნველყოფას, რომელიც ადეკვატურად არის კონფიგურირებული და წარმადობის მართვა შეუძლია თქვენს ვებსერვერს გადამწყვეტი უპირატესობა მიანიჭოს სხვა კონფიგურაციასთან შედარებით.

რეკლამა


არა ის, რასაც ეძებდით? სცადეთ მოძებნოთ დამატებითი გაკვეთილები.

2 აზრი „როგორ დავაინსტალიროთ LEMP Stack Debian 11 Bullseye-ზე“

  1. გამარჯობა, მადლობა საოცარი მეგზურისთვის!!! .
    მსურს ვიცოდე, როგორ სწორად დავაკონფიგურიროთ slasharguments
    ჩემს აპლიკაციას სჭირდება ეს ფუნქცია nginx-ში moodle-ისთვის https://docs.moodle.org/311/en/Nginx

    მე ვარ დუბლიკატი მდებარეობა

    მდებარეობა ~ [^/]\.php(/|$) {
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_index index.php;
    fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    მოიცავს fastcgi_params;
    fastcgi_param PATH_INFO $fastcgi_path_info;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }

    პასუხი
    • გამარჯობა ოქრო, მადლობა შეტყობინებისთვის.

      ჰმ, უბრალოდ ამოიღეთ მდებარეობა და დაამატეთ მათი მაგალითი? არ ვარ დარწმუნებული კითხვაში, უკაცრავად, ისინი საკმაოდ კარგ ახსნა-განმარტებებს და მაგალითებს აძლევენ, რომ დააკოპიროთ თქვენი ბმული გვერდიდან, არ ვიცი რა არის პრობლემა, თუ სადმე არ გამოვტოვებ პუნქტს.

      ორჯერ დამატებული გაქვთ PHP განთავსებული? ასე მეჩვენება და იწვევს კონფლიქტს?

      მადლობა

      პასუხი

დატოვე კომენტარი