Cách tăng thời gian thực thi tập lệnh PHP với Nginx

Tác giả Network Engineer, T.Ba 31, 2022, 08:57:46 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

Cách tăng thời gian thực thi tập lệnh PHP với Nginx


Nếu bạn có một thiết lập WordPress lớn hoặc một máy chủ có tài nguyên hạn chế, thì bạn sẽ thường thấy lỗi "504 Gateway Time-out".

Bạn có thể làm theo các bước dưới đây để tăng giá trị thời gian chờ. PHP mặc định là 30 giây.

1.  Thay đổi trong php.ini

Nếu bạn muốn thay đổi giới hạn thời gian thực thi tối đa cho các tập lệnh php từ 30 giây (mặc định) thành 300 giây.

Mã nguồn [Chọn]
$ vim /etc/php5/fpm/php.ini
Mã nguồn [Chọn]
max_execution_time = 300
Trong Apache, các ứng dụng chạy PHP như một mô-đun ở trên là đủ. Nhưng trong trường hợp của mình, mình cần thực hiện thay đổi này ở 2 nơi nữa.

2. Thay đổi trong PHP-FPM

Điều này chỉ cần thiết nếu bạn đã hủy nhận xét thông số request_terminate_timeout trước đó. Nó được nhận xét theo mặc định và có giá trị max_execution_time được tìm thấy trong php.ini

Mã nguồn [Chọn]
$ vim /etc/php5/fpm/pool.d/www.conf
Mã nguồn [Chọn]
request_terminate_timeout = 300
3. Thay đổi trong cấu hình Nginx

Để tăng giới hạn thời gian cho   Đăng nhập để xem liên kết bằng cách mở tập tin cấu hình của   Đăng nhập để xem liên kết ra:

Mã nguồn [Chọn]
$ vim /etc/nginx/sites-available/example.com
Mã nguồn [Chọn]
location ~ \.php$ {
    include /etc/nginx/fastcgi_params;
        fastcgi_pass  unix:/var/run/php5-fpm.sock;
    fastcgi_read_timeout 300;
}

Nếu bạn muốn tăng giới hạn thời gian cho tất cả các trang web trên máy chủ của mình, bạn có thể chỉnh sửa tập tin nginx.conf chính:

Mã nguồn [Chọn]
$ vim /etc/nginx/nginx.conf
Thêm thông số sau vào phần http {..}

Mã nguồn [Chọn]
http {
    #...
        fastcgi_read_timeout 300;
    #...
}

4. Tải lại PHP-FPM và Nginx

Đừng quên làm điều này để những thay đổi bạn đã thực hiện sẽ có hiệu lực:

Mã nguồn [Chọn]
$ service php5-fpm reload
Mã nguồn [Chọn]
$ service nginx reload