ძირითადი შინაარსიდან გადასვლა

ინსტალაცია php-fpm და nginx on Debian 8



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

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



Nginx + php-fpm bundle საკმაოდ მარტივია კონფიგურაცია და მხარს უჭერს მრავალი პოპულარული CMS: WordPress, MODX, DLE, სხვადასხვა ფარგლებში. ყველა ეს შეიძლება მუშაობა გარეშე bulky apache.

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



პირველი, დააყენოთ ძირითადი მოდულები: php-fpm, mysql, curl, GD. ყველა დანარჩენი ინდივიდუალური აუცილებლობაა.

  # aptitude install nginx php5-fpm php5-mysqlnd php5-curl php5-gd 

კონფიგურაციის ფაილი მდებარეობს / etc / php5 / fpm / directory- ში .

სტატიის შინაარსი:

ჩვენ კონფიგურაცია php- აუზი ითხოვს მომსახურება

თავდაპირველად, php-fpm მხოლოდ ერთი აუზი მოუწოდა www. ჩვენ ამას გამოვიყენებთ სხვა აუზების საფუძველს.



გახსენით კონფიგურაციის ფაილი /etc/php5/fpm/pool.d/www.conf , განიხილეთ ზოგიერთი ცვლადი და აირჩიეთ მათთვის ღირებულებები.

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

[www]

შემდეგი მიუთითეთ მომხმარებლის სახელი და მისი ჯგუფი, რომელთა მთავარი დირექტორია საიტზე მდებარეობს.

  მომხმარებლის = მომხმარებლის სახელი
 ჯგუფი = www- მონაცემები 

მიუთითეთ, რომ აუზი უნდა იმუშაოს როგორც უნიქს-სოკეტი. ცვლადი $ აუზი შეიცვლება სახელით.

listen = /var/run/php-$pool.sock

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

pm = static

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

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

pm.max_children = 3

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

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

  php_admin_value [upload_tmp_dir] = "/ var / www / username / tmp" 

დირექტორია შენახვის სხდომა ფაილი:

  php_admin_value [session.save_path] = "/ var / www / მომხმარებლის სახელი / სესიები" 

უსაფრთხოების მიზეზების გამო, ამ საიტების ხელმისაწვდომობა მხოლოდ მომხმარებლისთვის ხელმისაწვდომი უნდა იყოს, რომელთა ნებართვებიც php-fpm აუზი იწყება. ასევე, არ გამოიყენოთ იგივე დირექტორია სხდომის ფაილების შენახვისთვის და დროებითი ფაილებისათვის.

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

  php_admin_value [memory_limit] = 50M 

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

  php_admin_value [cgi.fix_pathinfo] = 0 

არ არის მითითებული კონკრეტული შეტყობინებები: sendmail_path და open_basedir ცვლადები. ისინი გადაეგზავნებათ სწრაფი cgi პარამეტრების nginx კონფიგურაციის ფაილი. ამდენად, თითოეული კონკრეტული საიტი შეგიძლიათ განსაზღვროთ საკუთარი პარამეტრები. :)

ყველა საჭირო პარამეტრის მითითების შემდეგ, თქვენ უნდა განაახლოთ php-fpm კონფიგურაცია ბრძანებით:

  # სერვისი php5-fpm განახლება 

გადამუშავების php სკრიპტები გამოყენებით nginx

ეს რჩება კონფიგურაციის nginx მუშაობა php-fpm. მზა კონფიგურაცია

  სერვერი {
  server_name example.com ;
  მოვუსმინოთ 80;
  access_log / var / log / nginx / example.com .access.log;
  error_log / var / log / nginx / example.com .error.log;
  ჩარტერული უტე -8;
  ინდექსი index.php;
  root / var / www
  მდებარეობა / {
   try_files $ uri / / index.php$args;
  }
  მდებარეობა ~ \ .php $ {
   try_files $ uri = 404;
   fastcgi_pass unix: /run/php-www.sock;
   fastcgi_index index.php;
   მოიცავს fastcgi_params;
   fastcgi_param SCRIPT_FILENAME $ document_root $ fastcgi_script_name;
   fastcgi_param PHP_VALUE "sendmail_path = / usr / sbin / sendmail -t -i-fmail@example.com";
   fastcgi_param PHP_ADMIN_VALUE "open_basedir = / var / www / example.com /: / var / save_path /: / var / tmp_dir /";
  }
 } 

example.com შეცვალეთ თქვენი დომენით.

პარამეტრების აღწერა :

try_files $uri =404; გამოჩნდება შეცდომის 404 მომხმარებლის ბრაუზერი, ნაცვლად გაგზავნა არ შეყვანის ფაილი მითითებული , იმ შემთხვევაში, თუ ეს შეცდომა ხდება.

fastcgi_pass - გზა php-fpm socket- ზე.

  fastcgi_pass unix: /run/php-www.sock; 

შემდეგ ცვლადს ადგენს გზავნილის გაგზავნა და პარამეტრი, რომელიც განსაზღვრავს საიტის ადმინისტრატორის ელ.ფოსტის მისამართს. შეცვალეთ mail@example.com საკუთარი .

  fastcgi_param PHP_VALUE "sendmail_path = / usr / sbin / sendmail -t -i-fmail@example.com"; 

ჩვენ ჩამოთვლით დირექტორიები open_basedir: დირექტორია ერთად საიტი, დირექტორია გადარჩენის დროებითი ფაილი, დირექტორია სესიის ფაილი.

  fastcgi_param PHP_ADMIN_VALUE "open_basedir = / var / www / example.com /: / var / save_path /: / var / tmp_dir /"; 

თუ რამდენიმე პარამეტრი უნდა გაიაროს, ეს უნდა გააკეთოთ:

  fastcgi_param PHP_ADMIN_VALUE "sendmail_path = / usr / sbin / sendmail -t -i-fmail@example.com \ nopen_basedir = / var / www / example.com /: / var / save_path /: / var / tmp_dir /"; 

როგორც ხედავთ, პარამეტრების გამოყოფა ხაზის შესვენებით: \ n .

ჩვენ გადავარჩინოთ ყველა ცვლილება, რომელიც ჩვენ გავაკეთეთ და გადატვირთეთ nginx.

  # მომსახურების nginx ჩატვირთვა 


როგორ შეაფასებ სტატიას?
Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 ( 8 რეიტინგი, საშუალოდ: 2.63 გარეთ 5)
იტვირთება ...

” 4 კომენტარები " php-fpm და nginx- ის ინსტალაცია Debian 8- ზე "

  1. კარგი შუადღე Rootd დირექტივა httpd კონფიგურაციაში semicolon- ს სავარაუდოდ დახურულია .. და კონფიგურაცია უნდა განთავსდეს / etc / nginx / sites- ში საიტის მისამართით.

  2. რატომ ქმნიან მომხმარებლებს თითოეულ საიტზე ცალკე?
    რას გულისხმობს, თუ ერთი მომხმარებელი გატეხილია, მაშინ სხვა საიტებზე დაცული იქნება?

    მჭირდება განსხვავებული მომხმარებლების შექმნა, თუ სისტემაში ვმუშაობ მხოლოდ ერთი, სისტემაში შესვლა SSH- ის მეშვეობით.
    DB ასევე არ უყურებს ინტერნეტში.

    გმადლობთ.

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

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