გამოყოფილი Cloud VDS სურათები LAMP სერვერების სწრაფი განლაგებისთვის. ფირფიტა - რა არის LAMP დასტა? ინსტალაცია და დაყენება


LAMP სტეკი (Linux/apache/mysql/php) არის ტექნოლოგიების ყველაზე პოპულარული ნაკრები დეველოპერებს შორის ვებსაიტების შესაქმნელად. ჩვენი გამოცდილებიდან გამომდინარე, ჩვენ შევიმუშავეთ რამდენიმე მზა VDS სურათი LAMP-ზე ორიენტირებული მინი ჰოსტინგის სწრაფი განლაგებისთვის. ამ სურათების შემუშავების ზოგადი პრინციპი იყო პარამეტრების ერთგვაროვნების უზრუნველსაყოფად, რათა ერთ VDS-ზე განთავსებული საიტები ადვილად გადაიტანონ სხვა VDS-ზე, თუნდაც სხვა სურათზე (ბაზის პროგრამული უზრუნველყოფის სხვა ნაკრები) და ყველა ძირითადი ამოცანის საფუძველზე. რომელიმე შემოთავაზებულ სურათზე დაფუძნებული VDS-ის ადმინისტრირება შესრულდა იმავე გზით. ჩვენ ასევე გადავწყვიტეთ, რომ ძალიან მნიშვნელოვანია, რომ სერვერზე ახალი საიტების დამატება არ არის უფრო რთული, ვიდრე უბრალოდ საქაღალდის შექმნა საიტის სახელით. შედეგად, ჩვენ შევქმენით Debian Wheezy, Ubuntu Precise Pangolin და Ubuntu Trusty Tahr დისტრიბუციების საფუძველზე შემდეგი პროგრამული უზრუნველყოფის კომპლექტით:

  • Nginx + Apache2 + PHP 5.4 (FastCGI) + MariaDB 5.5 + phpMyAdmin + sftp
  • Nginx + Apache2 + PHP 5.4 (mod_php) + MariaDB 5.5 + phpMyAdmin + sftp
  • Nginx + PHP 5.4 (php-fpm) + MariaDB 5.5 + phpMyAdmin + sftp

1. მზა სურათების ზოგადი აღწერა

ყველა სურათი აგებულია იმის საფუძველზე, რომ სისტემაში მთავარი და ერთადერთი მომხმარებელი, რომლის სახელით მუშაობს სკრიპტები და სრულდება ყველა სხვა მოქმედება, არის ვებ მომხმარებელი. Ubuntu-ს მსგავსად, Debian-ზე დაფუძნებული სურათები უარყოფს (ბლოკავს) პირდაპირ root წვდომას და ამის ნაცვლად საშუალებას აძლევს ვებ მომხმარებელს შეასრულოს ნებისმიერი ბრძანება სუპერმომხმარებლის პრივილეგიებით sudo-ს საშუალებით. ამრიგად, ახლად შექმნილ VDS-ში ssh-ის საშუალებით შესასვლელად, თქვენ უნდა გაუშვათ ბრძანება:

$ ssh web@ip-address-of-vds

გარდა ssh შესვლისა, ასევე მხარდაჭერილია sftp პროტოკოლი. კავშირი ხდება იმავე ვებ-ლოგინით და პაროლით, რომელიც შეიქმნა VDS-ის შექმნისას, ან იმ კლავიშის გამოყენებით, რომელიც ასევე მითითებულია VDS-ის შექმნისას.

შესვლის შემდეგ, თქვენ იქნებით /var/www/web საქაღალდეში, რომელიც არის ჩვენი VDS სურათების მთავარი საქაღალდე. აქ ნახავთ საიტების საქაღალდეს - ეს არის საქაღალდე, სადაც განთავსდება თქვენი საიტები. ახალი საიტის დასამატებლად საკმარისია შექმნათ ქვესაქაღალდე sites საქაღალდეში ახალი საიტის სახელწოდებით www პრეფიქსის გარეშე. . მეტი ამის შესახებ ქვემოთ.

Apache დაწერს ჩანაწერებს თქვენი ჰოსტირებული საიტების მოსანახულებლად /var/log/apache2 საქაღალდეში, ხოლო nginx, თუ დაინსტალირებულია, /var/log/nginx საქაღალდეში. თუ PHP სკრიპტებს შეექმნებათ შეცდომები სამუშაოში, მათ შესახებ ინფორმაცია ჩაიწერება ფაილში /var/www/web/php-errors.log

2. საიტების დამატება

საიტების დამატება- ყველაზე ხშირად მოთხოვნადი ოპერაცია მასობრივი საერთო ჰოსტინგისთვის, ამიტომ შევეცადეთ მისი მაქსიმალურად გამარტივება. თქვენს სერვერზე ახალი საიტის დასამატებლად mycompany.ru, თქვენ უნდა შეასრულოთ ორი მარტივი ნაბიჯი:

  1. /var/www/web/sites საქაღალდეში, თქვენ უნდა შექმნათ ქვესაქაღალდე სახელად mycompany.ru, ანუ მასპინძელი დომენის სახელით www-ის გარეშე. . ამ საქაღალდის შიგნით, მომავალში მოგიწევთ ამ საიტთან დაკავშირებული სკრიპტების ატვირთვა.
  2. თქვენს პროვაიდერთან არსებული DNS რედაქტორის საშუალებით, რომელიც გაწვდით დომენის პარკირების სერვისს DNS-ში, თქვენ უნდა დაამატოთ A- ჩანაწერები, რომლებიც მიუთითებენ თქვენი VDS-ის IP-მისამართზე: ერთი სახელი mycompany.ru, მეორე www.mycompany. .ru.

მეტსახელის დამატება(თქვენი საიტის ალტერნატიული სახელი) არანაკლებ მარტივი ოპერაციაა. თუ თქვენ გჭირდებათ მეტსახელის www.mycompany.ru დამატება საიტზე mycompany.ru, მაშინ დაგჭირდებათ მხოლოდ ორი მოქმედება:

  1. შექმენით სიმბოლური ბმული (სიმბოლო): cd /var/www/web/sites && ln -s mycompany.ru www.mycompany.ru
  2. შექმენით A- ჩანაწერები DNS-ში თქვენი სერვერის IP მისამართის მითითებით: სახელისთვის c www. და www-ის გარეშე.

შეგახსენებთ, რომ ჩვენ გთავაზობთ დომენის პარკირების სერვისს dns-ში ყველა ჩვენი კლიენტისთვის უფასოდ და შეზღუდვების გარეშე. ჩვენს ns-სერვერებზე დომენების დელეგირების ინსტრუქციები მოცემულია ბმულზე.

3. MySQL-თან მუშაობა (MariaDB)

ახლად შექმნილი VDS-ისთვის, MySQL root პაროლი გენერირდება შემთხვევით. თქვენ შეგიძლიათ გაიგოთ პაროლი ბრძანებით

სუდო კატა /root/.my.cnf

თუ გსურთ MySQL-თან მუშაობა კონსოლიდან, მაშინ საკმარისი იქნება გაუშვათ sudo -H mysql ბრძანება პარამეტრების გარეშე და დაუყოვნებლივ გადაიყვანთ MySQL კონსოლში პაროლის შეყვანის გარეშე. თუ ეს სისტემის დაყენება არ მოგწონთ, შეგიძლიათ უსაფრთხოდ წაშალოთ .my.cnf ფაილი მასში ჩაწერილი პაროლის შენახვის შემდეგ.

MySQL პარამეტრების ფაილი მდებარეობს სტანდარტულ ადგილას, მაგრამ თქვენ დაგჭირდებათ სუპერმომხმარებლის უფლებები მის რედაქტირებისთვის:

sudo nano /etc/mysql/my.cnf

ცვლილებების ძალაში შესვლისთვის უნდა გადატვირთოთ MySQL:

sudo სერვისის mysql გადატვირთვა

4. PHP-ის დაყენება და გაფართოებების ინსტალაცია

ვინაიდან სტანდარტული PHP Debian/Ubuntu საცავებიდან არის დაინსტალირებული სისტემაში, PHP-ის კონფიგურაცია და გაფართოების ინსტალაცია ხდება სტანდარტული გზით Debian-ზე დაფუძნებული დისტრიბუციებისთვის. php.ini ფაილი აწყობილია რამდენიმე კომპონენტისგან: ძირითადი php.ini და conf.d დირექტორიას შიგთავსიდან. PHP-ის FastCGI ვერსიისთვის, პარამეტრები აღებულია /etc/php5/cgi საქაღალდიდან, mod_php-სთვის - /etc/php5/apache2 საქაღალდიდან, CLI ვერსიისთვის (ეს არის /usr/bin/php, ანუ , php-ის ვერსია, რომელიც გამოიყენება cron სამუშაოებისთვის და კონსოლში შესრულებული სხვა ამოცანებისთვის) - /etc/php5/cli . php-fpm ვერსია შესაბამისად იყენებს php.ini /etc/php5/fpm საქაღალდედან.

თქვენ შეგიძლიათ მარტივად ნახოთ რომელი php გაფართოებებია დაინსტალირებული თქვენს სისტემაში შემდეგი ბრძანების გაშვებით სერვერის კონსოლში:

$ dpkg -l | grep php

თქვენ შეგიძლიათ ნახოთ ხელმისაწვდომი php გაფართოებების სია ბრძანებით:

$ apt-cache ძიება php5

ახლად დაყენებულ სისტემაზე apt-cache/apt-get ბრძანებების პირველივე გამოძახებამდე, არ დაგავიწყდეთ sudo apt-get განახლების გაშვება.

სიიდან სასურველი გაფართოების დაყენება ძალიან მარტივია. ვთქვათ, გვინდა სისტემაში დავამატოთ XCache ამაჩქარებელი. შესაბამის პაკეტს დაერქმევა php5-xcache და მისი ინსტალაციის ბრძანება, რომელიც მოითხოვს სუპერმომხმარებლის პრივილეგიებს, იქნება:

$ sudo apt-get დააინსტალირეთ php5-xcache

ვინაიდან php 5.4 ვერსიიდან მოყოლებული მოითხოვს მკაფიო დროის სარტყელს პარამეტრებში (date.timezone), UTC დროის ზონა დაყენებულია ნაგულისხმევად. ეს პარამეტრი დაყენებულია /etc/php5/apache2/conf.d/local.ini ფაილში. თქვენ უნდა შეცვალოთ იგი თქვენი პრეფერენციების მიხედვით.

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

5. ჯანგოს გაშვება uWSGI-ის გამოყენებით

Django (Django) არის უფასო ჩარჩო, რომელიც საშუალებას გაძლევთ სწრაფად და ეფექტურად განავითაროთ დინამიური ვებ აპლიკაციები Python-ში.

    ინსტალაცია ხდება ისე, რომ არ შეფერხდეს /var/www/-ში განთავსებული საიტების მუშაობა.

    მოქმედებები სერვერზე ხორციელდება root მომხმარებლის სახელით.

ინსტალაციის ინსტრუქციების ჩვენება

5.1 პაკეტების ინსტალაცია და uWSGI გაშვება

დააინსტალირეთ სამუშაოსთვის საჭირო პაკეტები და ასევე აირჩიეთ uwsgi ვერსია pip-დან ნაგულისხმევ ვერსიად:

apt-get განახლება && apt-get install -y python-pip python-dev uwsgi-plugin-python uwsgi && pip install virtualenv virtualenvwrapper uwsgi && განახლება-ალტერნატივები --ინსტალაცია /usr/bin/uwsgi uwsgi /usr/local/bin/ uwsgi 80

ინსტალაციას დასჭირდება 2-3 წუთი და დაინსტალირებული პაკეტები დისკზე დაახლოებით 300 მბ.

შევქმნათ მომხმარებელი სისტემაში, გადავიდეთ მასზე და ასევე დავამატოთ ცვლადები მის სისტემის პროფილში

Useradd -s /bin/bash -m -p $(pwgen -1 -N 1) project1 && su - project1 -c "echo "export WORKON_HOME=~/Env" >> ~/.bashrc && echo "source /usr/ local/bin/virtualenvwrapper.sh" >> ~/.bashrc" && su-project1

შევქმნათ ვირტუალური გარემო, დავაინსტალიროთ ჯანგო და შევქმნათ ჩვენი პროექტი

Cd ~ && mkvirtualenv firstsite && pip install django && django-admin.py startproject firstsite

პროექტის ხელახალი წაკითხვის მოხერხებულობისთვის ჩვენ შევქმნით ფაილს

შეეხეთ ~/firstsite/touch_reload

მომავალში საკმარისი იქნება იგივე ბრძანების შესრულება project1 მომხმარებლის სახელით, რათა გაიგზავნოს uwsgi ბრძანება პროექტის კონფიგურაციის ხელახლა წასაკითხად. ეს შეიძლება იყოს ძალიან მოსახერხებელი, როდესაც პროექტი შეიმუშავებს ცალკე სპეციალისტს სერვერზე root წვდომის გარეშე - სერვერის ადმინისტრატორს არ დასჭირდება ყოველ ჯერზე root-ის სახით შესვლა uwsgi-ს გადატვირთვისთვის.

მოდით დავუბრუნდეთ root მომხმარებლის სესიას კლავიატურის მალსახმობის Ctrl + D .

ახლა მოდით შევქმნათ uwsgi კონფიგურაციის ფაილი ჩვენი პროექტისთვის

Mcedit /etc/uwsgi/apps-enabled/firstsite.ini

და დააკოპირეთ მასში (კოპირებულ ტექსტში ცვლილებები არ არის საჭირო):

პროექტი = firstsite userhomedir = /home/project1 chdir = %(userhomedir)/%(project) home = %(userhomedir)/Env/%(project) მოდული = %(project).wsgi:აპლიკაციის პროცესები = 4 თემა = 2 chown -socket=www-data uid=project1 gid=project1 vacuum=true touch-reload=%(userhomedir)/%(project)/touch_reload buffer-size=8192 listen=128 harakiri=300

mcedit-ში შესანახად, უბრალოდ დააჭირეთ F2 თქვენს კლავიატურაზე.

გაუშვით uwsgi სერვერი

/etc/init.d/uwsgi დაწყება

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

ჩვენ უნდა გავარკვიოთ სერვერის IP მისამართი. მისი ნახვა შესაძლებელია ბრძანების გაშვებით

მასპინძლის სახელი - I

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

medit /etc/nginx/sites-available/firstsite

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

სერვერი ( მოუსმინეთ serverip:80; server_name sitenameru; ადგილმდებარეობა = /favicon.ico ( შესვლა_ჩართულია; log_not_found off; ) მდებარეობა /სტატიკური/ ( root /home/project1/firstsite; ) მდებარეობა / ( მოიცავს uwsgi_params; uwsgi_pass unix:/// run/uwsgi/app/firstsite/socket; ))

ამ კონფიგურაციის ფაილში, თქვენ უნდა შეცვალოთ serverip თქვენი სერვერის ip მისამართით, ხოლო sitenameru იმ დომენის სახელზე, რომელზეც გაიხსნება თქვენი პროექტი.

გაააქტიურეთ ახლად შექმნილი კონფიგურაციის ფაილი და მიეცით სიგნალი nginx კონფიგურაციის ხელახლა წასაკითხად

Ln -s /etc/nginx/sites-available/firstsite /etc/nginx/sites-enabled/ && nginx -s გადატვირთვა

მზადაა! თუ DNS A ჩანაწერი sitenameru დომენისთვის მიუთითებს სერვერის IP მისამართზე, მაშინ თქვენი პროექტი უკვე ხელმისაწვდომი უნდა იყოს sitenameru-ზე.

5.3 სტატიკური ფაილების ჩვენების ოპტიმიზაცია

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

Su - project1 სამუშაო ადგილზე

დაამატეთ სტატიკური ფაილების მდებარეობის ხსენება firstsite/firstsite/settings.py ფაილის ბოლოს

echo "STATIC_ROOT = os.path.join(BASE_DIR, "static/")" | tee -a ~/firstsite/firstsite/settings.py

გაუშვით სკრიპტი სტატიკური ფაილების შეგროვებისთვის

~/firstsite/manage.py collectstatic

სკრიპტის დასაწყებად, თქვენ უნდა აკრიფოთ დიახ.

ისინი მომხმარებლებს სთავაზობენ დიდ შესაძლებლობებს ვებსაიტების შესაქმნელად, სერვერზე შესანახად და ტესტირებისთვის. ბევრს ალბათ სმენია, რომ Apache-სა და MySQL-ის სწორი კონფიგურაცია საშუალებას გაძლევთ მოხერხებულად იმუშაოთ სერვერებთან. დროა გავეცნოთ LAMP-ს, რომელიც აერთიანებს მათ ყველას, ასევე გავიგოთ როგორ დააინსტალიროთ და დააკონფიგურიროთ LAMP სერვერი Ubuntu-ში.

LAMP-ის ინსტალაცია საშუალებას გაძლევთ შექმნათ ვებ სერვერი.

LAMP არ არის პროგრამა, როგორც შეიძლება თავიდან იფიქროს, არც სერვერია. ეს აბრევიატურა მალავს დასტას ან სერვერის მხარეს პროგრამების კომპლექტს: Apache, MySQL, PHP. აქედან მოდის სახელი - თითოეული ამ პროგრამის პირველი ასოები. პირველი ასო აღებულია Linux-დან.

შეიტყვეთ მეტი კომპონენტების შესახებ.

  • Apache არის უფასო HTTP სერვერი.
  • MySQL არის ძლიერი, ასევე უფასო მონაცემთა ბაზის მართვის სისტემა. გამოიყენება ბევრ საიტზე.
  • PHP არის პროგრამირების ენა. მასზე ხშირად იწერება სხვადასხვა ვებ აპლიკაციები.

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

LAMP-ის დაყენება

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

sudo tasksel დააინსტალირე lamp-server

Tasksel არის სპეციალური ინსტრუმენტი დაინსტალირებული Ubuntu-ზე, რომელიც აადვილებს სისტემაში სხვადასხვა პროგრამული პაკეტების ჩატვირთვას. ინსტალაციის დროს სისტემა მოგთხოვთ შეიყვანოთ პაროლი MySQL-ისთვის. ეს უნდა გაკეთდეს.

მოცილება

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

sudo tasksel ამოიღონ ნათურა-სერვერი

დაინსტალირებული იქნება ყველა კომპონენტი: PHP 7, Apache, MySQL. უფრო მოსახერხებელი მუშაობისთვის, პროგრამები ემატება გაშვებას. თუ გსურთ ამის შეცვლა, გააკეთეთ ეს პარამეტრების მეშვეობით: სისტემა - ოფციები - გაშვების აპლიკაციები. აქ უბრალოდ ამოიღეთ LAMP კომპონენტები.

ინსტალაცია და დაყენება

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


სერვერის დაყენება და ვებსაიტის დამატება

LAMP სერვერის დაყენება ყველაზე მნიშვნელოვანი ნაწილია, რადგან Ubuntu-ზე MySQL, Apache, PHP 7-ის დაყენება ძალიან მარტივია. შემდეგი, თქვენ უნდა იმუშაოთ პროგრამის კოდთან.

sudo ln -s /etc/phpmyadmin /var/www

გახსენით და შემდეგ შეცვალეთ სერვერის კონფიგურაცია:

სუდო ნანო /etc/apache2/apache2.conf

დაამატეთ ხაზი ბოლოს:

სერვერის სახელი localhost:80

გახსენით მასპინძლების ფაილი:

ჩვენ ვამატებთ ხაზს:

შექმენით ახალი საიტის კონფიგურაციის ფაილი:

‹VirtualHost *:80›
ServerAlias ​​· testsite.ru www.testsite.ru
DocumentRoot /home/server/testsite.ru
‹Directory home/server/testsite.ru/›
AllowOverride All
‹/დირექტორია›
‹/VirtualHost›

ჩვენ დავდებთ ამ ფაილს root უფლებებით აქ: /etc/apache2/sites-available/

გააქტიურეთ საიტი:

sudo a2ensite testsite.ru

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

sudo /etc/init.d/apache2 გადატვირთვა

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

ჩვენ ვაკეთებთ პირველ გვერდს - index.php ფაილს საქაღალდეში საიტთან (home/server/testsite.ru).

შედი იქ:

‹?
ექო "გამარჯობა!!!";
?›

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

ჩვენ ვხსნით ჩვენს გვერდს ბრაუზერის საშუალებით: ვწერთ ვებ მისამართს ხაზში.

ამის შემდეგ ჩვენ უნდა ვნახოთ ნანატრი "გამარჯობა !!!". თუ ეს მოხდება, მაშინ ყველაფერი სწორად არის კონფიგურირებული. ახლა ამ საქაღალდეში შეგიძლიათ განათავსოთ სრულფასოვანი ვებსაიტი, რომელიც შემოწმდება LAMP-ზე. საქაღალდე, ისევე როგორც საიტის მისამართი, რა თქმა უნდა, შეიძლება შეიცვალოს.

ახლა თქვენ იცით, რომ Ubuntu-ზე MySQL, Apache, PHP (LAMP) ინსტალაცია და კონფიგურაცია არ არის ისეთი საშინელი, როგორც ერთი შეხედვით ჩანს. ეს მხოლოდ პროგრამული უზრუნველყოფის ძირითადი მახასიათებლებია. დროთა განმავლობაში თქვენ ისწავლით პროგრამების სრული სიმძლავრის გამოყენებას.



საშუალო დასტა (7)

L Linux ოპერაციული სისტემისთვის A Apache ვებ სერვერისთვის M Mysql მონაცემთა ბაზისთვის p php სკრიპტის და php მოდულებისთვის

ჩვენ შეგვიძლია ვუმასპინძლოთ php პროგრამები და cgi პროგრამები LAMP სისტემაში.

მაგ.: Ubuntu-ში apt-get დააინსტალირეთ apache2 ვებ სერვერისთვის apt-get დააინსტალირეთ mysql-server php5-mysql მონაცემთა ბაზისთვის და php apt-get დააინსტალირეთ php5 და მოხვდით თქვენს ვებსერვერზე http://localhost

ვინმეს შეუძლია მითხრას რას ნიშნავს ტერმინი LAMP Stack? მე ვნახე ეს ბმული სამუშაო განცხადებებში, მაგრამ ბოლომდე არ მესმის მისი მნიშვნელობა.

ვგრძნობ, რომ ჩემს განვითარებაში საკმაოდ ხშირად ვიყენებ LAMP-ს, მაგრამ როდესაც მესმის "stack" ვგრძნობ, რომ არ ვიყენებ LAMP გარემოს ისე, როგორც უნდა ვიყო.

მე ვიცი რას ნიშნავს LAMP, უბრალოდ მინდოდა გამეგო რას ნიშნავს ტერმინი "სტაკი".

LAMP საშუალო L = LINUX (OS) A = APACHE (ვებ სერვერი) M = MySQL (მონაცემთა ბაზა) P = PHP (ენა)

მოკლედ Linux-ისთვის, Apache, MySQL და PHP, ღია კოდის განვითარების პლატფორმა, რომელსაც ასევე უწოდებენ ვებ სტეკს, რომელიც იყენებს Linux-ს, როგორც ოპერაციულ სისტემას, Apache-ს, როგორც ვებ სერვერს, MySQL-ს, როგორც RDBMS და PHP-ს, როგორც ობიექტზე ორიენტირებულ სკრიპტირების ენას. . Perl ან Python ხშირად ცვლის PHP-ს.

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

Დამატებითი ინფორმაცია:

ოპერაციული სისტემა Linux

ვებ სერვერი APACHE

Მონაცემთა ბაზა MySQL

ტერმინი Stack ნიშნავს დასტას! ეს ნიშნავს, გაქვთ თუ არა ამ ტექნოლოგიების/ინფრასტრუქტურის გამოცდილება. იმის გამო, რომ ისინი ყველა ერთად იკრიბებიან LAMP პაკეტში, რომელიც შეგიძლიათ ჩამოტვირთოთ და დააინსტალიროთ, ისინი მას უწოდებენ დასტას.

LAMP სტეკი არის საფუძველი Linux-ზე განთავსებული ვებსაიტებისთვის, ეს არის Linux, Apache, MySQL და PHP (LAMP) პროგრამული დასტა.

LAMP სადგამი: -

  1. L (Linex OS)
  2. A(Apache[ ლოკალური კლიენტის სერვერი ])
  3. M (MySQL მონაცემთა ბაზა)
  4. P (PHP)

LAMP Stack არის ღია კოდის პროგრამების კოლექცია, რომელიც შეგიძლიათ გამოიყენოთ ვებსაიტების და ვებ აპლიკაციების შესაქმნელად. LAMP არის აკრონიმი და ეს სტეკები ჩვეულებრივ შედგება Linux ოპერაციული სისტემისგან, Apache HTTP სერვერისგან, MySQL მონაცემთა ბაზის რელაციური მართვის სისტემისგან და PHP პროგრამირების ენისგან.

    ლინუქსი:ოპერაციული სისტემა (OS) ქმნის ჩვენს პირველ ფენას. Linux აყენებს საფუძველს სტეკის მოდელს. ყველა სხვა ფენა მუშაობს ამ ფენის თავზე. Linux არის ყველაზე დაბალი დონის ფენა და უზრუნველყოფს ოპერაციულ სისტემას. Linux რეალურად მართავს თითოეულ სხვა კომპონენტს. თუმცა, თქვენ არ შემოიფარგლებით მხოლოდ Linux-ით; თქვენ შეგიძლიათ მარტივად გაუშვათ თითოეული სხვა კომპონენტი Microsoft®-ში; თუ გსურთ Windows®, Mac OS X ან UNIX®.

    აპაჩი:მეორე ფენა შედგება ვებ სერვერის პროგრამული უზრუნველყოფისგან, ჩვეულებრივ Apache ვებ სერვერისგან. ეს ფენა ზის Linux ფენის თავზე. ვებ სერვერები პასუხისმგებელნი არიან ბრაუზერებიდან სწორ ვებსაიტზე თარგმნაზე. Apache უზრუნველყოფს მომხმარებლისთვის ვებ გვერდის მიღების მექანიზმს. Apache არის სტაბილური, მისიისთვის კრიტიკული სერვერი და ფლობს ინტერნეტში არსებული ვებსაიტების 65 პროცენტს. PHP კომპონენტი რეალურად არის Apache-ში და თქვენ იზიარებთ Apache-ს და PHP-ს თქვენი დინამიური გვერდების შესაქმნელად.

    MySQL:ჩვენი მესამე დონე არის მონაცემთა ბაზები. MySQL ინახავს მონაცემებს, რომელთა მოკითხვაც შესაძლებელია ვებსაიტის შესაქმნელად სკრიპტის შექმნისას. MySQL ჩვეულებრივ განთავსებულია Linux-ის ფენის თავზე Apache/Layer 2-თან ერთად. მაღალი დონის კონფიგურაციებში MySQL შეიძლება გადაიტვირთოს ცალკე სერვერზე. MySQL უზრუნველყოფს შენახვის მხარეს LAMP სისტემით. MySQL-ით თქვენ გაქვთ წვდომა ძალიან მოსახერხებელი მონაცემთა ბაზაზე, რომელიც შესაფერისია დიდი და რთული ვებსაიტების გასაშვებად. თქვენს ვებ აპლიკაციაში, თქვენი ყველა მონაცემი, პროდუქტი, ანგარიშები და სხვა ტიპის ინფორმაცია იქნება ამ მონაცემთა ბაზაში ისეთი ფორმატით, რომლითაც შეგიძლიათ მარტივად მოითხოვოთ SQL ენის გამოყენებით.

    PHP:მათ ზემოთ ჯდომა ჩვენი მეოთხე და ბოლო დონეა. სკრიპტი შედგება PHP და/ან სხვა მსგავსი ვებ პროგრამირების ენებისგან. ამ დონეზე მუშაობს ვებსაიტები და ვებ აპლიკაციები. PHP არის მარტივი და ეფექტური პროგრამირების ენა, რომელიც უზრუნველყოფს LAMP სისტემის ყველა სხვა ნაწილს. თქვენ იყენებთ PHP-ს დინამიური კონტენტის დასაწერად, რომელსაც შეუძლია MySQL მონაცემთა ბაზაში წვდომის უნარი და Linux-ის მიერ მოწოდებული ზოგიერთი ფუნქცია.

ჩვენ შეგვიძლია წარმოვიდგინოთ LAMP დასტა ასე: მეტი ინფორმაცია

ნათურის შუშა ნიშნავს inux პაჩე ysql HP

ასევე არის შუა სტეკი ongoDB xpressJS ngularJS odeJS

ამ სტატიაში განვიხილავთ თავისუფლად გავრცელებულ და პრაქტიკულად თავისუფალ პროგრამულ კომპლექტს, სახელწოდებით LAMP. როგორ არის ეს აბრევიატურა სწორად გაშიფრული? იგი შედგება 4 პოპულარული ტექნოლოგიისგან, რომლებიც შედის ამ პაკეტში:ლინუქსი- ოპერაციული სისტემა;- ვებ სერვერი;MySQL- DBMS; - პროგრამირების ენა, რომელიც გამოიყენება ვებ რესურსების შესაქმნელად.

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

LAMP კომბინაცია არის:

  1. Linux სერვერის OS საჭირო ამოცანების შესასრულებლად;
  2. Apache ვებ სერვერი, რომლისთვისაც შეიქმნა მრავალი დამატებითი მოდული, რომელიც წყვეტს ვებ სერვერისა და პროგრამირების სხვადასხვა ენაზე დაწერილი სკრიპტების ერთობლივი მუშაობის საკითხს;
  3. სერვერის დინამიური სკრიპტირების ენა PHP (ან Perl);
  4. MySQL DBMS, რომელიც აჩვენებს SQL შეკითხვის შესანიშნავ შესრულებას და იდეალურია მცირე და საშუალო პროექტებისთვის. MySQL მუშაობს და განსაკუთრებით მოსახერხებელია მომხმარებლისთვის.

რატომ შეიძლება დაგჭირდეთ LAMP?

  • თუ გჭირდებათ გარემო ვებ განვითარებისა და აპლიკაციების ტესტირებისთვის, რომლებიც დაწერილია LAMP-ისთვის. ეს არის როგორც თქვენი საკუთარი აპლიკაციებისთვის, ასევე თქვენთვის საჭირო ნებისმიერი CMS-ისთვის. შეგიძლიათ იმუშაოთ Windows-ზე და Ubuntu-ზე;
  • თუ თქვენ გჭირდებათ პროდუქტიული ვებ სერვერის შექმნა თქვენი პროექტების ჰოსტინგისთვის ერთგულ სერვერზე;
  • თუ გჭირდებათ სერვერი ვერსიის კონტროლის სისტემებისთვის;
  • თვითსწავლების ადმინისტრირებისთვის;
  • ეკონომიკური მიზნებისთვის, საკუთარი სერვერის შესაქმნელად.

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

მათ შორის ასეთი შეკრების უარყოფითი მხარეები უნდა აღინიშნოს შემდეგი:

აპლიკაცია და მონაცემთა ბაზა იყენებს ერთსა და იმავე სერვერის რესურსებს (CPU, მეხსიერება, I/O და ა.შ.), რაც იძლევა ცუდ შესრულებას და ართულებს ამ პრობლემის წყაროს (აპლიკაციის ან მონაცემთა ბაზის) დადგენას. ასევე არსებობს დაბრკოლებები ჰორიზონტალური სკალირების განხორციელებაში.

LAMP-ის ინსტალაცია (Linux + Apache + MySQL + PHP/Perl/Python) არის საკმაოდ ფართოდ გამოყენებული ვარიანტი Ubuntu-ით სერვერების დასაყენებლად. არსებობს აპლიკაციების დიდი რაოდენობა, რომლებიც ღია კოდით არის დაწერილი LAMP აპლიკაციის სტეკის გამოყენებით. პოპულარული LAMP აპლიკაციებია ვიკი ენციკლოპედიები, კონტენტის მართვის სისტემები (CMS) და მართვის აპლიკაციები, როგორიცაა phpMyAdmin.

LAMP-ის მნიშვნელოვანი უპირატესობაა მონაცემთა ბაზების, ვებ სერვერების და სკრიპტირების ენების არჩევის მოქნილობა. MySQL-ის ამჟამინდელი შემცვლელებია PostgreSQL და SQLite. Python, Perl და Ruby შეიძლება შეიცვალოს PHP-ით. და Nginx, Cherokee და Lighttpd არის Apache-ს ალტერნატივები.

Taskel გამოიყენება LAMP-ის სწრაფად დასაყენებლად. Tasksel არის Debian/Ubuntu ინსტრუმენტი, რომელიც დააინსტალირებს მრავალ დამოკიდებულ პაკეტს თქვენს სისტემაზე, როგორც ერთი დავალება.

Თუ გჭირდებადააყენეთ LAMP ჩვენს VPS სერვერებზე დაუკავშირდით ჩვენს ტექნიკურ მხარდაჭერას 24/7! კომპანია Hyper Host™სასიამოვნო სამუშაოს გისურვებთ!

HyperHost ჰოსტინგის მიერ მხარდაჭერილი ტექნოლოგიები უფრო დეტალურად.

9946 დრო(ები) დღეს ნანახია 2-ჯერ

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

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

    inux- ოპერაციული სისტემა Linux;

    პაჩე- ვებ სერვერი;

    ariaDB/ ySQL-DBMS;

    HP პროგრამირების ენა, რომელიც გამოიყენება ვებ აპლიკაციების შესაქმნელად (PHP-ის გარდა, შეიძლება შეიცავდეს სხვა ენებს, როგორიცაა Perl და Python).

აკრონიმი LAMP შეიძლება გამოყენებულ იქნას მითითებისთვის:

    ვებ სერვერის ინფრასტრუქტურა

    პროგრამირების პარადიგმები

    პროგრამული პაკეტი

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

Linux უზრუნველყოფს მოთხოვნების მიღებას/გადაცემას (აკონტროლებს აპარატურას) და არის ბირთვი ყველაფრისთვის, რაც უფრო მაღალია - სერვერი, DBMS, ენის მხარდაჭერა.

ინსტალაცია Ubuntu-ზე

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

თქვენი ადგილობრივი პაკეტების სიის განახლებისთვის apt-get განახლების გაშვების შემდეგ, თქვენ შეძლებთ ამ პაკეტების დაყენებას ერთი apt-get ინსტალაციის ბრძანებით:

ზემოაღნიშნული ბრძანების გაშვების შემდეგ, მოგეთხოვებათ დააინსტალიროთ ეს პაკეტები და სხვა დამოკიდებულებები. დააჭირეთ „y“-ს, რასაც მოჰყვება ENTER გასაგრძელებლად და მიჰყევით დანარჩენ ინსტრუქციებს MySQL-ისთვის ადმინისტრაციული პაროლის დასაყენებლად.

ეს საშუალებას მოგცემთ დააინსტალიროთ PHP გაფართოებების მინიმალური ნაკრები, რომელიც საჭიროა PHP MySQL-ით გამოსაყენებლად.

Linux OS-ის მახასიათებლები და უპირატესობები

უფასო.

საიმედოობა.თქვენი კომპიუტერის აპარატურის სწორი მუშაობა საშუალებას მისცემს Linux-ს წლების განმავლობაში იმუშაოს გადატვირთვისა და გაყინვის გარეშე. და გადატვირთვის ღილაკი საერთოდ არ იქნება საჭირო.

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

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

Apache-ს მთავარი უპირატესობაა საიმედოობა და კონფიგურაციის მოქნილობა. ეს საშუალებას გაძლევთ დააკავშიროთ გარე მოდულები მონაცემთა მიწოდების, გამოყენებისთვის DBMSამისთვის ავთენტიფიკაციამომხმარებლები, შეცდომის შეტყობინებების შეცვლა და ა.შ.

MySQL DBMS-ის მოქნილობა უზრუნველყოფილია ცხრილების ტიპების დიდი რაოდენობის მხარდაჭერით: მომხმარებლებს შეუძლიათ აირჩიონ ორივე ტიპის ცხრილი. MyISAM, მხარს უჭერს სრულ ტექსტურ ძიებას და ცხრილებს InnoDB, რომლებიც მხარს უჭერენ ტრანზაქციებს ინდივიდუალური ჩანაწერის დონეზე. გარდა ამისა, MySQL-ს გააჩნია სპეციალური EXAMPLE ცხრილის ტიპი, რომელიც გვიჩვენებს, თუ როგორ უნდა შექმნათ ახალი ტიპის ცხრილები. მისი ღია არქიტექტურისა და GPL ლიცენზირების წყალობით, ახალი ტიპის ცხრილები მუდმივად ემატება MySQL მონაცემთა ბაზას.

PHP - სკრიპტის ენა ზოგადი დანიშნულება, ინტენსიურად გამოიყენება ვებ აპლიკაციების შესაქმნელად. ამჟამად მხარს უჭერს აბსოლუტური უმრავლესობა ჰოსტინგის პროვაიდერებიდა არის ერთ-ერთი ლიდერი იმ ენებს შორის, რომლებიც გამოიყენება შესაქმნელად დინამიური საიტები .