Tối ưu hóa quy trình cấu hình mẫu VestaCP phpfcgid lỗi đa bộ nhớ cạn kiệt 500 lỗi

VestaCP Sau khi dịch vụ WEB chọn mẫu "phpfcgid", một số lượng lớn các quy trình PHP-CGI khiến bộ nhớ nhanh chóng bị cạn kiệt:

  • Về cơ bản, tôi đã hết bộ nhớ trong vài giờ sau khi khởi động lại máy chủ.
  • Quy trình PHP-CGI nhàn rỗi trước đó không bị giết và một quy trình chạy gần 1 quy trình con, tiêu tốn ít nhất 20M bộ nhớ.

Được sử dụng trong SSH htop lệnh (yêu cầu cài đặt), bạn có thể xem trạng thái này ▼

Sau khi dịch vụ WEB của VestaCP chọn mẫu "phpfcgid", một số lượng lớn các quy trình PHP-CGI khiến bộ nhớ nhanh chóng bị cạn kiệt.

Nếu bạn nhận được thông báo lỗi "-bash: htop: command not found" khi bạn sử dụng lệnh htop, vui lòng xem hướng dẫn này để biết giải pháp ▼

Một số lượng lớn các quy trình PHP-CGI khiến bộ nhớ nhanh chóng bị cạn kiệt. Vấn đề nằm ở VestaCPCentOSTrong mẫu phpfcgid, một cấu hình chưa được tối ưu hóa được sử dụng.

  • VestaCP trong mẫu phpfcgid, đặt 1 quy trình PHP-CGI để chạy tối đa 20 quy trình con.

Yêu cầu /usr/local/vesta/data/templates/web/httpd/phpfcgid.sh Dòng 13 của tệp:

export PHP_FCGI_CHILDREN=20

Tuy nhiên, thiết lập như vậy vi phạm cảnh báo của Apache trong tài liệu quản lý quy trình con PHP:

Quản lý quy trình con trong PHP (PHP_FCGI_CHILDREN) nên luôn bị tắt với mod_fcgid, điều này sẽ chỉ định tuyến một yêu cầu tại một thời điểm đến các quy trình ứng dụng mà nó đã tạo ra; do đó, bất kỳ quy trình con nào do PHP tạo ra sẽ không được sử dụng hiệu quả. (Ngoài ra, các quy trình con PHP có thể không được kết thúc đúng cách .) Theo mặc định và với cài đặt biến môi trường PHP_FCGI_CHILDREN = 0, Quản lý quy trình con PHP bị vô hiệu hóa.

Bởi vì trong mô-đun mod_fcgid của Apache, quy trình PHP-CGI chỉ có thể đáp ứng một yêu cầu và chạy tại một thời điểm, quy trình con PHP-CGI rất kém hiệu quả.

Do đó, các cài đặt quản lý quy trình con PHP nên được tắt trực tiếp ▼

PHP_FCGI_CHILDREN=0

Đồng thời, nếu bạn đã có một máy chủ ảo được tạo, bạn cần phải sửa đổi các tệp cấu hình của tất cả các trang web ▼

/home/用户名/web/域名/cgi-bin/fcgi-starter

Sau khi mở tệp cấu hình fcgi-starter, hãy chèn phần sau ▼

export PHP_FCGI_CHILDREN=20

Được sửa đổi thành ▼

export PHP_FCGI_CHILDREN=0
  • Sau khi sửa đổi, quản lý quy trình con PHP sẽ bị tắt ở chế độ mod_fcgid.
  • Quy trình PHP-CGI sẽ không sinh ra các quy trình con nữa, điều này có thể tiết kiệm rất nhiều bộ nhớ.

Ngoài ra, VestaCP không đặt cơ chế kết thúc cho các quy trình không hoạt động:

  • Tất cả các quy trình PHP-CGI mới được thực thi sẽ tiếp tục sử dụng bộ nhớ cho đến khi hệ thống được khởi động lại.

Để khắc phục điều này, chỉ cần thêm tệp cấu hình mod_fcgid /etc/httpd/conf.d/fcgid.conf Thêm các cài đặt sau trong ▼

FcgidIdleTimeout 120
  • Đặt Apache để tự động giết các quy trình PHP-CGI không hoạt động trong 2 phút (120 giây).

Sau khi thiết lập hoàn tất, hãy khởi động lại dịch vụ Apache ▼

service httpd restart

Sau khi dịch vụ được khởi động lại, hàng trăm quy trình PHP-CGI đã được hiển thị trước đó trong HTOP sẽ không còn được hiển thị nữa.

Thông thường, một quy trình PHP-CGI cho một người dùng Vesta CP tiêu thụ 30 đến 40 triệu bộ nhớ, đáp ứng đầy đủLinuxyêu cầu máy chủ.

Do đó,网络 营销mọi người muốn làm tốtSEO, điều rất quan trọng là phải tối ưu hóa cấu hình của Vesta CP và các mẫu ^ _ ^

Bạn có thể xem các hướng dẫn sau trên bảng VestaCP ▼

Hy vọng Chen Weiliang Blog ( https://www.chenweiliang.com/ ) đã chia sẻ "Tối ưu hóa quy trình cấu hình mẫu VestaCP phpfcgid Nhiều lỗi cạn kiệt bộ nhớ 500", rất hữu ích cho bạn.

Chào mừng bạn đến chia sẻ liên kết của bài viết này:https://www.chenweiliang.com/cwl-735.html

Chào mừng bạn đến với kênh Telegram trên blog của Chen Weiliang để cập nhật những thông tin mới nhất!

🔔 Hãy là người đầu tiên nhận được "Hướng dẫn sử dụng Công cụ AI tiếp thị nội dung ChatGPT" có giá trị trong thư mục trên cùng của kênh! 🌟
📚 Hướng dẫn này chứa đựng giá trị to lớn, 🌟Đây là cơ hội hiếm có, đừng bỏ lỡ! ⏰⌛💨
Chia sẻ và thích nếu bạn thích!
Chia sẻ và thích của bạn là động lực không ngừng của chúng tôi!

 

发表 评论

Địa chỉ email của bạn sẽ không được công bố. 项 已 * 标注

cuộn lên trên cùng