Cách định cấu hình Nginx cho Trang PHP

Trong bài viết này, chúng tôi đã hướng dẫn cách Định cấu hình Nginx cho trang PHP trên CentOS.

Đối với hướng dẫn này, chúng tôi đã cài đặt NGINX. Hướng dẫn này sẽ trình bày cấu hình cơ bản của máy chủ web NGINX để xử lý ứng dụng PHP và phục vụ chúng trên cổng 80. Bạn nên học NGINX và PHP-FPM.

Điều kiện tiên quyết

  • Máy chủ chuyên dụng hoặc máy chủ đám mây có cài đặt CentOS.
  • NGINX được cài đặt trên CentOS.
  • Đã cài đặt PHP.
  • SSH với tư cách là người dùng root (Bạn có thể sử dụng một người dùng bình thường có quyền sudoer, sử dụng 'sudo' với mọi lệnh).

Dưới đây là các bài viết về cài đặt Nginxcài đặt PHP .

Sau khi bạn cài đặt cả hai, hãy mở tệp cấu hình PHP-fpm chính:

# vi /etc/php.ini

Chúng tôi đang tìm kiếm tham số đặt cgi.fix_pathinfo . Chúng tôi sẽ bỏ ghi chú bằng cách loại bỏ dấu chấm phẩy (;) và đặt thành 0.

Đây là một cài đặt cực kỳ không an toàn vì nó yêu cầu PHP cố gắng thực thi tệp gần nhất mà nó có thể tìm thấy nếu tệp PHP không khớp chính xác. Về cơ bản, điều này sẽ cho phép người dùng tạo các yêu cầu PHP theo cách cho phép họ thực thi các tập lệnh mà họ không được phép thực thi.

Vì vậy, chúng tôi sẽ thay đổi cả hai điều kiện này bằng cách bỏ ghi chú dòng và đặt nó thành “0” như sau:

cgi.fix_pathinfo=0

Khi bạn đã hoàn tất, hãy lưu và thoát.

Tiếp theo, khởi động lại dịch vụ php-fpm:

# systemctl restart php-fpm

Định cấu hình khối máy chủ Nginx để sử dụng Bộ xử lý PHP

# vi /etc/nginx/sites-available/default

lưu ý: tên tệp khối máy chủ có thể khác như được hiển thị ở trên.

Khối máy chủ mặc định của Ngnix có thể trông giống như sau:

server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;

root /usr/share/nginx/html;
index index.html index.htm;

server_name localhost;

location / {
try_files $uri $uri/ =404;
}
}

  • Ở đây chúng ta cần thêm một chỉ thị index.php để cho phép các tệp PHP được phục vụ khi một thư mục được yêu cầu.
  • Sửa đổi chỉ thị server_name. Thay thế localhost bằng tên miền FQDN hoặc địa chỉ IP công cộng của bạn.
  • Thêm chỉ thị try_files để đảm bảo Nginx không chuyển các yêu cầu xấu đến bộ xử lý PHP của chúng tôi.

Khối máy chủ trông giống như:

server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;

root /usr/share/nginx/html;
index index.php index.html index.htm;

server_name server_domain_name_or_IP;

location / {
try_files $uri $uri/ =404;
}

error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}

location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}

Cấu hình như các thay đổi trên, bây giờ hãy lưu và thoát khỏi tệp.

Khởi động lại Ngnix để thực hiện các thay đổi cần thiết:

# systemctl restart nginx

Bây giờ, hãy tạo một tệp thử nghiệm PHP:

# vi /usr/share/nginx/html/info.php

Thêm mã PHP hợp lệ trả về thông tin được định dạng về máy chủ của chúng tôi:

<>
phpinfo();
?>

Lưu và thoát.

Vậy là xong, chúng tôi đã thực hiện cấu hình cũng như sửa đổi theo yêu cầu.

Cuối cùng, hãy truy cập tệp info.php mà chúng tôi đã tạo trước đó:

https://server_domain_name_or_IP/info.php

Bạn sẽ thấy một trang web được tạo bởi PHP với thông tin về máy chủ của bạn.

Nếu bạn thấy trang thông tin PHP được tạo bởi PHP, bạn đã thiết lập xử lý PHP với Nginx thành công.

Hiện tại, hãy xóa tệp bằng cách nhập:

sudo rm /usr/share/nginx/html/info.php

Trong bài viết này, chúng ta đã xem cách các kỹ sư hỗ trợ của chúng tôi định cấu hình Nginx cho trang PHP.


Cách sửa lỗi đối chiếu “utf8mb4_0900_ai_ci” khi nhập cơ sở dữ liệu WordPress

Cách sửa lỗi đối chiếu “utf8mb4_0900_ai_ci” khi nhập cơ sở dữ liệu WordPress

Nếu bạn đang chuyển cài đặt WordPress của mình từ máy chủ MySQL 8 sang MySQL 5.7 (hoặc thấp hơn), rất có thể bạn sẽ gặp phải

Cách tắt trình chỉnh sửa khối và cài đặt trình chỉnh sửa cổ điển trong WordPress 5.0

Cách tắt trình chỉnh sửa khối và cài đặt trình chỉnh sửa cổ điển trong WordPress 5.0

Bắt đầu với WordPress 5.0, trình chỉnh sửa mặc định trên WordPress là trình chỉnh sửa Khối mới. Trình chỉnh sửa mới hoàn toàn khác

🔧 Khắc phục: Cài đặt PHP của bạn dường như thiếu phần mở rộng MySQL mà WordPress yêu cầu

🔧 Khắc phục: Cài đặt PHP của bạn dường như thiếu phần mở rộng MySQL mà WordPress yêu cầu

Bạn đang tìm cách chạy một trang WordPress tự quản lý? Tuyệt vời. Bạn sẽ học được hàng triệu điều. Một trong những phần quan trọng của việc thiết lập

Cách làm mới các mục trong thư mục trong Windows 11

Cách làm mới các mục trong thư mục trong Windows 11

Khi thiếu tùy chọn Làm mới trong menu ngữ cảnh, bạn có thể tìm hiểu cách bạn có thể làm mới các mục trong File Explorer trên Windows 11.

Cách đặt Trình chỉnh sửa cổ điển làm Trình chỉnh sửa mặc định trong WordPress thay vì Gutenberg

Cách đặt Trình chỉnh sửa cổ điển làm Trình chỉnh sửa mặc định trong WordPress thay vì Gutenberg

Gutenberg Editor sẽ sớm trở thành trình soạn thảo mặc định trong WordPress. Bạn sẽ có tùy chọn để chọn Trình chỉnh sửa cổ điển

Cách khắc phục sự cố WordPress 5.0

Cách khắc phục sự cố WordPress 5.0

WordPress 5.0 cuối cùng cũng được tung ra và nó mang lại trải nghiệm chỉnh sửa hoàn toàn mới với Gutenberg

Khắc phục: “Trình chỉnh sửa đã gặp lỗi không mong muốn” trong WordPress sau khi cập nhật

Khắc phục: “Trình chỉnh sửa đã gặp lỗi không mong muốn” trong WordPress sau khi cập nhật

Không thể viết bài mới bằng Trình chỉnh sửa khối mới trong WordPress? Rất có thể bạn đang nhận được “Người biên tập

Cách bật thẻ ngắn PHP

Cách bật thẻ ngắn PHP

Trong bài viết này, chúng tôi đã giới thiệu cho các bạn cách bật các thẻ ngắn PHP. PHP phân tích cú pháp tệp bằng cách sử dụng thẻ mở và thẻ đóng, trông giống như. Để bật các thẻ ngắn PHP

Định cấu hình mod_evasive để ngăn tấn công DoS và DDoS trên CentOS

Định cấu hình mod_evasive để ngăn tấn công DoS và DDoS trên CentOS

Trong bài này, chúng ta sẽ tìm hiểu cách cài đặt và cấu hình mod_evasive để ngăn chặn tấn công DoS và DDoS trên CentOS. Mô-đun mod_evasive Apache.

Cách cài đặt PHP với PHP-FPM cho NGINX trên CentOS

Cách cài đặt PHP với PHP-FPM cho NGINX trên CentOS

cách cài đặt PHP với PHP-FPM cho NGINX trên CentOS. Cấu hình cơ bản của máy chủ web NGINX để xử lý ứng dụng PHP và máy chủ chúng trên cổng 80.