Cài Nginx Webserver fix lỗi 404 wordpress trên DirectAdmin

Nginx là một máy chủ web hiệu suất cao được sử dụng thay thế cho Apache, cũng có thể được sử dụng làm proxy ngược, bộ cân bằng tải, proxy thư và bộ đệm HTTP.

Nginx sử dụng cách tiếp cận hướng sự kiện không đồng bộ, thay vì luồng, để xử lý các yêu cầu. Kiến trúc hướng sự kiện mô-đun của Nginx có thể cung cấp hiệu suất dễ dự đoán hơn khi tải cao.

Đặc điểm tuyệt vời của Nginx

  • Khả năng xử lý hơn 10.000 kết nối đồng thời với dung lượng bộ nhớ thấp (~ 2,5 MB trên 10k kết nối HTTP không hoạt động duy trì hoạt động)
  • Xử lý các tệp tĩnh, tệp chỉ mục và lập chỉ mục tự động
  • Reverse proxy với bộ nhớ đệm
  • TLS / SSL với hỗ trợ ghim SNI và OCSP, thông qua OpenSSL
  • Hỗ trợ FastCGI với bộ nhớ đệm
  • Máy chủ ảo dựa trên tên và địa chỉ IP
  • Tương thích với IPv6
  • WebSockets, có thể hoạt động như một proxy ngược và thực hiện cân bằng tải các ứng dụng WebSocket
  • Nâng cấp HTTP / 1.1 (101 giao thức chuyển mạch), hỗ trợ giao thức HTTP / 2
  • Viết lại URL và chuyển hướng thông qua cấu hình tùy chỉnh
  • Nginx có cấu trúc nhẹ và kiến ​​trúc nhanh hơn nhiều so với kiến ​​trúc của Apache.

Lỗi thường gặp khi cài chế độ webserver nginx trên DirectAdmin

  • Khi truy cập các trang, bài viết của 1 website sẽ bị lỗi 404 (bài này sẽ hướng dẫn sửa lỗi này).
  • Không tương thích với ModSecurity, WAF của một số plugin bảo mật như Imunify360, CpGuard,…

Trong bài viết này. Minh sẽ hướng dẫn các bạn cài đặt chế độ webserver nginx và sửa lỗi 404 do nginx mặc định của DirectAdmin không hỗ trợ viết lại (rewrite_rule)

Đầu tiên, chúng ta cần trích xuất tệp config mặc định của nginx trên DirectAdmin vào thư mục custom. Với các config chứa trong thư mục custom, directadmin sẽ áp dụng chúng thay vì các config mặc định.

cd /usr/local/directadmin/data/templates/
mkdir custom
cp /usr/local/directadmin/data/templates/nginx_server.conf /usr/local/directadmin/data/templates/custom/
cp /usr/local/directadmin/data/templates/nginx_server_secure.conf /usr/local/directadmin/data/templates/custom/
cp /usr/local/directadmin/data/templates/nginx_server_secure_sub.conf /usr/local/directadmin/data/templates/custom/
cp /usr/local/directadmin/data/templates/nginx_server_sub.conf /usr/local/directadmin/data/templates/custom/

Tiếp theo, các bạn cần chỉnh sửa cả 4 file này nằm trong thư mục Custom. Chạy từng lệnh một để hiển thị từng file. Chúng ta phải chỉnh sửa cả 4 file này. Sau khi chỉnh sửa xong bạn nhấn Ctrl + X và nhấn Y + Enter để lưu lại.

nano /usr/local/directadmin/data/templates/custom/nginx_server.conf
nano /usr/local/directadmin/data/templates/custom/nginx_server_secure.conf
nano /usr/local/directadmin/data/templates/custom/nginx_server_secure_sub.conf
nano /usr/local/directadmin/data/templates/custom/nginx_server_sub.conf

Nếu chưa có nano bạn có thể cài bằng câu lệnh này.

yum install nano -y

Chúng ta xuống 1 dòng ở dòng này.

index index.php index.html index.htm;

Thêm đoạn này vào dòng mới xuống đấy.

location / {
      try_files $uri $uri/ /index.php?$args ;
   }

Nếu đúng, kết quả sẽ như hình sau.

Sau khi đã chỉnh sửa và lưu lại cả 4 file. Chúng ta chạy các lệnh sau.

cd /usr/local/directadmin/custombuild;\
./build update;\
./build set webserver nginx;\
./build nginx;\
./build rewrite_confs;\

Sau khi đã cài đặt xong. Chúng ta cần xóa bỏ Apache. Để làm được điều này, chúng ta cần đăng nhập vào giao diện quản lý DirectAdmin, chọn CustomBuild và di chuyển đến tab Remove Software. Sau đó chọn “Remove All”

Mở 1 website và test thử.

Nếu thấy hay đừng quên share và chia sẻ với bạn bè nhé. Cám ơn bạn rất nhiều.

Đề xuất cho bạn

Về tác giả: Vương Công Minh

Nếu bạn đang cần Hosting Wordpress nhanh và mạnh. Tôi khuyến nghị bạn tham khảo Bnix.vn - Nhà cung cấp Hosting/VPS/Server Chuyên Nghiệp Hàng Đầu Việt Nam. Đây là nhà cung cấp đang cung cấp hạ tầng để vận hành ICare24H. Bạn có thể trực tiếp trải nghiệm tốc độ Hosting trên trang web Icare24H và đừng quên dùng mã giảm giá ICARE24H để được giảm giá lên đến 49% cho tất cả các dịch vụ nhé.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *