Php

      28

PHP là một trong những ngôn ngữ lập trình phát triển và được nhiều người lựa chọn. Rất nhiều nhà cung cấp dịch vụ cho thuê Server đã tích hợp PHP-FPM vào Server của mình. Việc làm này nhằm mục đích tăng khả năng bảo mật, tạo sự ổn định và nâng cao hiệu suất cho Website. Hãy cùng Nhân Hòa tìm hiểu PHP-FPM là gì và ưu nhược điểm của nó như thế nào nhé!


PHP là ngôn ngữ lập trình mã nguồn mở, được dùng để viết cho Server hay các mục đích tổng quát khác. Ngôn ngữ lập trình này có cú pháp giống Java hay C. Thời gian ngắn để viết các cú pháp lập trình là yếu tố khiến PHP được ưu ái hơn so với ngôn ngữ lập trình khác.

Bạn đang xem: Php

*

PHP-FPM là gì?

PHP-FPM là một chương trình có tính năng phiên dịch PHP khi chạy Website cho Server. PHP-FPM được phát triển dựa trên việc mở rộng CGI. PHP-FPM có khả năng tối ưu quá trình xử lý thông tin của web server và hỗ trợ xử lý thông tin nhanh nhất từ các Website khác nhau, trong cùng một khoảng thời gian. PHP-FPM được đông đảo người dùng lựa chọn bởi tốc độ xử lý PHP script nhanh, tăng lượng truy cập và khả năng tối ưu hóa cho những website có kích thước lớn.


2. CGI và Fast
CGI là gì?

- CGI là viết tắt của Common Gateway Interface là một phần mềm lập trình có chức năng kết nối giữa máy chủ và chương trình, dựa trên các định dạng đặc tả thông tin. Bên cạnh đó, phần mềm lập trình CGI còn có nhiệm vụ xây dựng chương trình từ các trang Web. Sau khi nhận dữ liệu từ các trang web dưới định dạng HTML, phần mềm này sẽ truyền dữ liệu đó qua cổng thông tin Internet đến máy tính của người dùng

*

CGI và Fast
CGI là gì?

- Fast
CGI là một giao thức phát triển mở rộng từ CGI. Mục đích chính của Fast
CGI là để web server tối ưu trong việc xử lý. Đồng thời giúp máy chủ có thể xử lý nhiều yêu cầu từ trang web trong cùng một lúc. Fast
CGI sẽ chạy ít tốn tài nguyên CPU hơn và đạt tốc độ gần bằng DSO. Fast
CGI sử dụng được opcode cacher như e
Accelerator để load web nhanh hơn


3. Các loại PHP Handler khác
- DSO là gì?

DSO được biết như là mod_php và là một phiên bản cấu hình cũ của PHP Handler. Tuy nhiên DSO lại là Handler nhanh nhất. Nó chạy PHP như một Apache Module. Điều đó có nghĩa là các PHP Script sẽ chạy dưới quyền của Apache user. Đó là user ‘nobody’

Nhược điểm của DSO:

Tất cả file được tạo ra từ PHP script sẽ được sở hữu bởi user ‘nobody’. Nó sẽ không có khả năng đọc được từ web. Điều này khá phổ biến với người dùng Word
Press. Nếu họ dùng tính năng upload file thông qua Word
Press Interface hay dùng tính năng auto update thì sẽ bị fail với DSO.Vấn đề bảo mật: Điều này nằm ở việc tạo file sẽ dưới danh nghĩa người dùng ‘nobody’. Sẽ ra sao nếu một hacker tìm được một lỗ hổng trong PHP script? Họ có thể thực thi một file cùng một quyền hạn như những file hệ thống mà được đánh dấu sở hữu là ‘nobody’. Điều này làm hacker có khả năng chỉnh sửa các file hệ thống khác. Để chống lại điều này thì phải thường xuyên update PHP lên các phiên bản mới nhất

*

Các loại PHP Handler khác


- Su
PHP là gì?

Ưu điểm của su
PHP:

Khi bạn sử dụng công cụ upload file lên website của bạn, các file này sẽ được phân đúng quyền hạn của user đó. Upload và một vài tính năng khác của Word
Press không hoạt động nếu không sử dụng su
PHP hoặc Fast
CGI Su
PHP cũng cung cấp một lợi thế bảo mật hơn là DSO hay CGI. Tất cả những PHP Scripts không thuộc một user cụ thể nào đó sẽ không thể thực thi được. Hoặc user này sẽ không thể nào thực thi được các PHP Scripts của user khác. Khi một tài khoản nào đó bị đánh cắp, các scripts cũng không thể nào lây lan sang các tài khoản khác được

Nhược điểm của su
PHP:

Sử dụng CPU cao.Bạn không thể sử dụng Opcode Cache (như x
Cache) với su
PHP.Khi sử dụng su
PHP nếu CPU load cao bạn có thể chuyển lại dùng DSO hoặc Fast
CGI


4. Ưu điểm và nhược điểm của PHP-FPM
- Ưu điểm

+ Tính bảo mật, độ ổn định và hiệu suất mà PHP-FPM mang lại cao hơn nhiều so với CGI

+ Được sử dụng rộng rãi nhất là khi khai thác tài nguyên CPU để chạy chương trình (tốn ít tài nguyên CPU)

+ Giúp tăng tốc độ tải trang web và việc truy cập website của người dùng trở nên dễ dàng, nhanh chóng hơn. Theo đó, lưu lượng truy cập Website cũng sẽ tăng lên đáng kể 

*

Ưu điểm và nhược điểm của PHP-FPM


- Nhược điểm

Tuy nhiên, khuyết điểm lớn nhất của CGI khiến cho phần mềm này ngày càng mất đi vị thế của nó trên thị trường nằm ở hiệu suất thấp. Theo đó, khi sử dụng CGI, khi có yêu cầu truy cập trang web động, chương trình này sẽ thực hiện khởi tạo tiến trình mới. Điều này dẫn đến việc tiêu tốn tài nguyên CPU cũng như làm giảm tốc độ truy cập web

Tuy nhiên, các lập trình viên đã có thể khắc phục tình trạng này bằng cách tích hợp sẵn khả năng xử lý tạo nội dung web động, bên cạnh đó người dùng cũng có thể sử dụng các module hỗ trợ khác kèm theo khi kết nối với máy chủ web


5. Hướng dẫn cài đặt PHP-FPM trên Cent
OS 7

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 = 5s

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 = 120s

rlimit_files = 131072

rlimit_core = unlimited

catch_workers_output = yes

env = $HOSTNAME

env = /tmp

env = /tmp

env = /tmp

*

Hướng dẫn cài đặt PHP-FPM trên Cent
OS 7

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ì


6. Lời kết

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, tùy 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 PHP-FPM vào server của mình. Qua bài viết trên, hy vọng các bạn có thể rút ra cho mình những kiến thức cần thiết về PHP-FPM cũng như những thủ thuật nhằm tối ưu hoá trang web của mình dựa trên phần mềm này.

*

Quý khách hàng có nhu cầu đăng ký tên miền, đăng ký email doanh nghiệp, hosting wordpress giá rẻ, vps, ssl... xin vui lòng đăng ký tại Nhân Hòa để được hưởng ưu đãi giá rẻ nhất. Trân trọng!

+ Chỉ đường: https://g.page/nhanhoacom

+ Chương trình khuyến mãi mới nhất: https://nhanhoa.com/khuyen-mai.html

————————————————————

https://nhanhoa.com

Hotline: 1900 6680

Trụ sở chính: Tầng 4 - Tòa nhà 97-99 Láng Hạ, Đống Đa, Hà Nội

nhanhoa.com

Chi nhánh: 270 Cao Thắng (nối dài), Phường 12, Quận 10, Tp.HCM

nhanhoa.com

Bài viết cùng chủ đề


Thông báo
Xem tất cả

Tuyển dụng
Xem tất cả

Công nghệ
Xem tất cả

Web4step
Xem tất cả


PHP là một trong những ngôn ngữ lập trình phát triển và được nhiều người lựa chọn. Rất nhiều nhà cung cấp dịch vụ cho thuê Server đã tích hợp PHP-FPM vào Server của mình. Việc làm này nhằm mục đích tăng khả năng bảo mật, tạo sự ổn định và nâng cao hiệu suất cho Website. Hãy cùng Nhân Hòa tìm hiểu PHP-FPM là gì và ưu nhược điểm của nó như thế nào nhé!

PHP-FPM là gì?

PHP-FPM viết tắt của Fast
CGI 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
PHP-FPM đượ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ì?

PHP-FPM là một chương trình có tính năng phiên dịch PHP khi chạy Website cho Server. PHP-FPM được phát triển dựa trên việc mở rộng CGI. PHP-FPM có khả năng tối ưu quá trình xử lý thông tin của web server và hỗ trợ xử lý thông tin nhanh nhất từ các Website khác nhau, trong cùng một khoảng thời gian. PHP-FPM được đông đảo người dùng lựa chọn bởi tốc độ xử lý PHP script nhanh, tăng lượng truy cập và khả năng tối ưu hóa cho những website có kích thước lớn.

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

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

Xem thêm: Người sinh tháng 10 thuộc cung gì trong 12 cung hoàng đạo? tháng 10 cung hoàng đạo gì: có thể bạn chưa biết

Ngoài ra, một ưu điểm khác khiếnFast
CGI
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,Fast
CGI
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ì Fast
CGI
 chính là một sự lựa chọn hàng đầu.

Các loại PHP Handler khác

– DSO là gì?

DSO được biết như là mod_php và là một phiên bản cấu hình cũ của PHP Handler. Tuy nhiên DSO lại là Handler nhanh nhất. Nó chạy PHP như một Apache Module. Điều đó có nghĩa là các PHP Script sẽ chạy dưới quyền của Apache user. Đó là user ‘nobody’.


*
*

Nhược điểm của DSO:

Tất cả file được tạo ra từ PHP script sẽ được sở hữu bởi user ‘nobody’. Nó sẽ không có khả năng đọc được từ web. Điều này khá phổ biến với người dùng Word
Press. Nếu họ dùng tính năng upload file thông qua Word
Press Interface hay dùng tính năng auto update thì sẽ bị fail với DSO.Vấn đề bảo mật: Điều này nằm ở việc tạo file sẽ dưới danh nghĩa người dùng ‘nobody’. Sẽ ra sao nếu một hacker tìm được một lỗ hổng trong PHP script? Họ có thể thực thi một file cùng một quyền hạn như những file hệ thống mà được đánh dấu sở hữu là ‘nobody’. Điều này làm hacker có khả năng chỉnh sửa các file hệ thống khác. Để chống lại điều này thì phải thường xuyên update PHP lên các phiên bản mới nhất.

Các loại PHP Handler khác

– Su
PHP là gì?

Ưu điểm của su
PHP:

Khi bạn sử dụng công cụ upload file lên website của bạn, các file này sẽ được phân đúng quyền hạn của user đó. Upload và một vài tính năng khác của Word
Press không hoạt động nếu không sử dụng su
PHP hoặc Fast
CGI Su
PHP cũng cung cấp một lợi thế bảo mật hơn là DSO hay CGI. Tất cả những PHP Scripts không thuộc một user cụ thể nào đó sẽ không thể thực thi được. Hoặc user này sẽ không thể nào thực thi được các PHP Scripts của user khác. Khi một tài khoản nào đó bị đánh cắp, các scripts cũng không thể nào lây lan sang các tài khoản khác được.

Nhược điểm của su
PHP:

Sử dụng CPU cao.Bạn không thể sử dụng Opcode Cache (như x
Cache) với su
PHP.Khi sử dụng su
PHP nếu CPU load cao bạn có thể chuyển lại dùng DSO hoặc Fast
CGI.

Tổng kết

Trên đây là lý thuyết về PHP-FPM là gì? Mong rằng sẽ giúp ích cho bạn. Chúc bạn học tốt.