Archive

Category Archives for "Hosting – Domain"

Hướng dẫn sửa lỗi “502 Bad Gateway” trên Nginx

– 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

 

Sửa lỗi không thể cài đặt plugin/theme trong WordPress chạy trên VPS

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/

Hướng dẫn fix lỗi Error establishing a database connection trên VPS

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:

  • Ký hiệu ^ thay cho phím Ctrl
  • Ctrl+O: lưu file
  • Ctrl+X: thoát khỏi editor (có thể cần ấn thêm Y/N)
  • Ctrl+W: search

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.

1. Tạo bash script rst_apc_mysql

– 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

2. Tạo cronjob tự động chạy script kiểm tra lỗi

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!

>