PHP-FPM là gì? Setup free nginx với PHP-FPM

Related Articles

PHP-FPM là gì?

PHP-FPM

PHP-FPM viết tắt của FastCGI Process Manager là chương trình có chức năng phiên dịch PHP khi chạy trang web cho web server.Được hình thành dựa trên sự mở rộng của CGI và hiện đang được đông đảo người dùng lựa chọn. Chức năng của PHP-FPM là gì?

Về cơ bản, có chức năng tối ưu quá trình xử lý thông tin của các máy chủ web, hỗ trợ việc xử lý thông tin từ nhiều trang web trong cùng một khoảng thời gian một cách nhanh nhất.

Với tốc độ xử lý PHP script nhanh cùng tính năng tối ưu hoá cho những trang web có kích thước lớn, giúp tăng lượng truy cập, PHP-FPM đang dần “soán ngôi” Apache + FastCGI quen thuộc.

Ưu điểm của PHP-FPM là gì?

speed php-fpm

Tính năng vượt trội nhất của FastCGI là hiệu suất cao, sự ổn định và tính bảo mật cao hơn nhiều so với CGI. Phần mềm này có thể chạy PHP Script dưới quyền sở hữu PHP Scripts đó.

Ngoài ra, một ưu điểm khác khiến FastCGI ngày càng được sử dụng rộng rãi là khai thác rất ít tài nguyên CPU khi chạy chương trình. Vì vậy, FastCGI giúp tốc độ tải trang nhanh hơn, việc truy cập của người dùng trở nên dễ dàng, từ đó lưu lượng truy cập trang web sẽ tăng cao hơn.

Nhược điểm của PHP-FPM là gì?

Tuy nhiên, phần mềm này cũng có một khuyết điểm khá lớn chính là tiêu tốn dung lượng bộ RAM. Tuy nhiên, những lợi ích vượt trội mà phần mềm này mang lại là không thể phủ nhận, do đó nếu người dùng có nhu cầu tạo ra một trang web có tốc độ tải cực nhanh cùng tính bảo mật cao, lại ít tốn tài nguyên CPU thì FastCGI chính là một sự lựa chọn hàng đầu.

Cài đặt NGINX và PHP-FPM

Cấu hình NGINX

Bước 1: Để cài đặt cấu hình NGINX người dùng mở file cấu hình của NGINX tại mục/etc/nginx/nginx.conf

Bước 2:  Xem thông số CPU Core theo công thức:

cat / proc / cpuinfo | grep processor

processor : 0

processor : 1

processor : 2

processor : 3

Bước 3: Dùng lệnh max_clients = worker_processes * worker_connections  để thay đổi thông sốworker_processes bằng với số lượng CPU core trong server bạn cấu hình.

Bước 4: Giới hạn kích thước từng phần của các http request bằng công thức:

client_max_body_size 20 m ;

client_body_buffer_size 128 k ;

Bước 5: Điều chỉnh lại các file tĩnh qua công thức:

location ~ *. ( jpg | jpeg | gif | png | css | js | ico | xml ) USD {

access_log off ;

log_not_found off ;

expires 360 d ;

}

Bước 6: Cài đặt chuyển sang sử dụng unix socket cho việc truyền tải thông tin:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

location ~* .phpUSD {

fastcgi_index  index.php;

# Chinh tai day

fastcgi_pass  unix:/var/run/php–fpm/php–fpm.sock;

include     fastcgi_params;

fastcgi_param  SCRIPT_FILENAME  USDdocument_rootUSDfastcgi_script_name;

fastcgi_param  SCRIPT_NAME    USDfastcgi_script_name;

}

Bước 7: Cài đặt bỏ cho phép truy cập các file hoặc thư mục ẩn.

location ~ /. {

access_log off ;

log_not_found off ;

deny all ;

}

Cấu hình

Bước 1: Để cài đặt cấu hình PHP-FPM, người dùng mở file cấu hình của PHP-FPM tại mục /etc/php-fpm.d.

Bước 2: Điều chỉnh đường dẫn file sock theo công thức:

listen = / var / run / php-fpm / php-fpm.sock

user = site

group = site

request_slowlog_timeout = 5 s

slowlog = / var / log / php-fpm / slowlog-site.log

listen. allowed_clients = 127.0.0.1

pm = dynamic

pm. max_children = 5

pm. start_servers = 3

pm. min_spare_servers = 2

pm. max_spare_servers = 4

pm. max_requests = 200

listen.backlog = – 1

pm. status_path = / status

request_terminate_timeout = 120 s

rlimit_files = 131072

rlimit_core = unlimited

catch_workers_output = yes

env [ HOSTNAME ] = USD HOSTNAME

env [ TMP ] = / tmp

env [ TMPDIR ] = / tmp

env [ TEMP ] = / tmp

Bước 3: Xác định các thông số: pm.max_children, pm.start_servers ,  pm.min_spare_servers  vàpm.max_spare_servers  theo các công thức như sau:

  • pm.max_children = Số process con (child processes) tối đa được tạo (tương đương tổng số request có thể phục vụ).
  • pm.start_servers = Tổng số child processes được tạo khi khởi động php-fpm (được tính bằng công thức

    `min_spare_servers + (max_spare_servers – min_spare_servers) / 2`

     )

  • pm.min_spare_servers = Tổng số child process nhàn rỗi tối thiểu được duy trì.
  • pm.max_spare_servers = Tổng số child process nhàn rỗi tối đa được duy trì.

Tổng kết PHP-FPM là gì?

Trên thị trường ngày nay, có rất nhiều các ngôn ngữ lập trình khác nhau, tuỳ theo nhu cầu sử dụng cũng như cấu hình máy mà người dùng cần có sự lựa chọn sao cho phù hợp và đạt hiệu quả tối ưu nhất. Với PHP-FPM, việc giải bài toàn “phiên dịch” ngôn ngữ và tốc độ tải trang đã không còn là việc quá xa vời. Đó là lý do vì sao các nhà cung cấp dịch vụ cho thuê máy chủ hiện nay đều tích hợp vào server của mình.

Qua bài viết trên, kỳ vọng những bạn hoàn toàn có thể rút ra cho mình những kiến thức và kỹ năng thiết yếu, cũng như những thủ pháp nhằm mục đích tối ưu hoá trang web của mình dựa trên ứng dụng này !

— — — — — — — — — — –

Tham khảo các dịch vụ VPS – CLoud Server tại P.A

https://www.pavietnam.vn/vn/vps-server.html

Xem thêm nhiều kiến thức về dịch vụ VPS – Cloud Server tại đây

Truy cập vào đây để nhận được thông tin ưu đãi -khuyến mãi thường xuyên

https://www.pavietnam.vn/vn/tin-tuc-chuong-trinh-khuyen-mai-ten-mien-hosting.html

4.6

/

5

(

165

bầu chọn

)

No related posts .

More on this topic

Comments

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Advertismentspot_img

Popular stories