– Mở file cấu hình Nginx:
nano /etc/nginx/nginx.conf
– Thêm đoạn cấu hình sau vào trong block http { }
http { ... fastcgi_buffers 8 16k; fastcgi_buffer_size 32k; fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300; include /etc/nginx/conf.d/*.conf; }
Hoặc
http { #… fastcgi_buffers 64 64k; fastcgi_buffer_size 64k; #… }
– Sau khi edit xong, bạn nhấn Ctrl+O, Enter để lưu và Ctrl+X để thoát.
Nếu muốn tìm hiểu chuyên sâu hơn về các cấu hình trên, các bạn có về vào trang docs của Nginx với các thông số của module ngx_http_fastcgi_module rất cụ thể.
Fastcgi Buffer là cách Nginx xử lý dữ liệu trả về từ PHP-FPM để lưu trong bộ nhớ RAM nhằm tăng tốc quá trình xử lý, giá trị của Fastcgi Buffer tuỳ thuộc vào bộ nhớ RAM VPS/Server của bạn.
Khởi động lại nginx, php-fpm:
service nginx restart service php-fpm restart
Trong quá trình sử dụng WordPress trên VPS, bạn có thể sẽ gặp phải lỗi liên quan để đọc/ghi dữ liệu khi cài đặt plugin/theme giống như ví dụ dưới đây:
“To perform the requested action, WordPress needs to access your web server. Please enter your FTP credentials to proceed. If you do not remember your credentials, you should contact your web host.”
Nguyên nhân gây ra ở đây là do máy chủ web (nginx hoặc apache) chưa được phân công đọc/ghi/xóa/chỉnh sửa dữ liệu.
Hãy di chuyển đến thư mục có chứa mã (ví dụ: /home//public_html/domain.com) chạy lệnh sau:
cd /home/domain.com/public_html
Tùy hệ điều hành trên VPS của bạn mà chọn mã tương ứng dưới đây:
Với Nginx trên CentOS
chown–R nginx: nginx *
Với Apache trên CentOS
chown–R apache: apache *
Với Nginx trên Ubuntu
chown–R www-data: www-data *
Với Apache trên Ubuntu
chown–R www-data: www-data *
Chúc bạn thành công!
chown -Rf nginx: nginx /var/www/html/
Nếu như bạn chưa cài đặt ứng dụng nano thì sử dụng lệnh sau:
– CentOS(wordpress ở vultr dùng cái này):
yum install nano
– Ubuntu:
apt-get install nano
Để sử dụng bạn cần gõ vào lệnh:
nano file_name
Trong đó file_name
là tên file hoặc đường dẫn đến file.
Ở dưới cùng bạn sẽ thấy các phím tắt sử dụng khi thao tác với nano:
Nếu bạn cần phải tự khởi động lại Apache và MySQL trong trường hợp một hoặc cả hai đều bị Crash (gây ra lỗi Error establishing a database connection), chỉ cần sắp xếp kịch bản SH này trên Centos (RHEL) trong phần cron của bạn.
Lưu phần mã dưới đây thành tập tin rst_apc_mysql.sh trong thư mục home của bạn.
Phân quyền cho script, để root có thể thực thi kịch bản và lịch trình nó trong Cron.
– Tạo file rst_apc_mysql.sh ở thư mục /root/
nano /root/rst_apc_mysql.sh
Copy toàn bộ nội dung script bên dưới rồi paste vào:
#Script by TrungDucZ(duc2ht) if [ ! "$(/sbin/service mysqld status | awk 'NR==1 {print $3}')" == "running" ]; then service mysqld start /etc/init.d/mysqld restart exit fi
– Nhấn Ctrl+O, Enter để lưu và Ctrl+X để thoát.
– Phân quyền cho script
chmod +x /root/rst_apc_mysql.sh
– Vậy là xong rồi, giờ bạn có thể test lại bằng cách chạy lệnh /root/rst_apc_mysql.sh
Giờ mình sẽ cho script tự động chạy 5 phút 1 lần.
EDITOR=nano crontab -e
Dán nội dung sau vào cửa sổ Terminal
*/5 * * * * /root/rst_apc_mysql.sh > /dev/null 2>&1
Nhấn Ctrl+O, Enter để lưu và Ctrl+X để thoát
Vậy là xong, cứ 5 phút script sẽ tự động chạy để kiểm tra xem VPS có MySQL không. Done! Good luck!