Hướng dẫn dùng nginx snippets/fastcgi-php.conf trong PHP
TLDR: Show
Phiên bản cuối cùng là:
tôi nghĩ rằng nó phụ thuộc vào phiên bản Nginx bạn đang sử dụng. Đối với câu trả lời của Nate, Tôi đang sử dụng Nginx 1.12.2 trên Ubuntu 16.04, với phiên bản này, nó không có Bạn có thể sử dụng giải pháp của Ulad Kasach hoặc bắt đầu sử dụng cách mới. Đây là tài liệu chính thức về cách thực hiện: https://www.nginx.com/resources/wiki/start/topics/recipes/wordpress/ BTW, trong bài trên, bạn cũng nên thay thế Và thêm một dòng nữa theo mặc định ban đầu:
Đây là tất cả những thay đổi mới với Nginx 1.12.2 :( Phiên bản cuối cùng là:
30 hữu ích 2 bình luận chia sẻ Giới thiệuNginx là một webserver mã nguồn mở mạnh mẽ và nổi tiếng phục vụ web HTTP. Sử dụng kiến thức đơn luồng (event-driven), không đồng bộ (asynchronous) để website có hiệu suất và sự ổn định tối đa. MariaDB là hệ quản trị cơ sở dữ liệu mã nguồn mở (DBMS) được phát triển bởi các nhà sáng lập MySQL. Được phát hành lần đầu vào năm 2009. PHP (Hypertext Preprocessor) là ngôn ngữ lập trình hướng đối tượng được sử dụng cho máy chủ web. Bài viết này sẽ hướng dẫn cài đặt Nginx, MariaDB và PHP (viết tắt là LEMP) trên Debian 11. Yêu cầu thiết yếuĐể thực hiện được các hướng dẫn này, chúng ta cần các yêu cầu sau:
Chúng ta cần cập nhật hệ điều hành Debian 11 để đảm bảo các gói hiện có được cập nhật lên phiên bản mới nhất: Sau khi cập nhật xong các gói tin cần thiết trên Debian 11 chúng ta thực thi lệnh bên dưới để cài đặt Sau khi lệnh cài đặt hoàn thành chúng ta có thể thực thi lệnh sau để kiểm tra xem nginx đã được cài đặt thành công trên Debian 11 hay chưa: Phiên bản hiện tại của nginx tại thời điểm mình viết bài này là 1.18.0: Kết quả Truy cập trình duyệt bằng IP máy chủ của chúng ta để kiểm tra: Bước 2: Cài đặt và Cấu hình firewallĐầu tiên, chúng ta cài đặt các phụ thuộc cần thiết cho Bây giờ, hãy đảm bảo rằng không có tường lửa nào khác đang chạy trên hệ thống của chúng ta. Vì vậy, hãy tắt tường lửa đang chạy trên hệ thống (nếu có): Tiếp theo, chúng ta tải xuống source code Bây giờ chúng ta hãy giải nén file vừa tải về bằng lệnh sau: Sau khi quá trình giải nén hoàn thành, chúng ta di chuyển vào thư mục Tiến hành cài đặt Sau khi kết thúc lệnh cài đặt, chúng ta hãy khởi động dịch vụ Ngoài ra, chúng ta cũng nên chạy Kết quả Bây giờ, chúng ta hãy kích hoạt Chỉnh sửa file
Sau khi hoàn tất cấu hình mọi thứ, chúng ta hãy thực hiện lệnh sau để áp dụng các thay đổi: Bước 3: Tạo virtualhost cho NginxĐầu tiên, chúng ta cần tạo user cho mỗi trang web của chúng ta, phân quyền và chỉ định nhóm người dùng tương ứng cho các user: Tiếp theo, chúng ta cần tạo 2 thư mục chứa mã nguồn cho 2 website của mình bằng lệnh: Sau khi tạo xong user và thư mục chứa mã nguồn cho website, chúng ta phân quyền user cho thư mục web tương ứng: Phân quyền này sẽ làm user website1 không thể xem hay can thiệp được vào dữ liệu user website2 (không có quyền) Bây giờ, chúng ta hãy tạo trang Thêm nội dung sau đây vào file /home/website1/public_html/index.html Thêm nội dung sau đây vào file /home/website2/public_html/index.html Tiếp theo, chúng ta cần cấu hình virtualhosts cho 2 website vừa tạo. Để có nội dung file virtualhosts mặc định cho 2 site
Và bây giờ, chúng ta chỉnh sửa nội dung cấu hình virtualhosts cho 2 website bằng cách sử dụng trình soạn thảo linux bất kì để chỉnh sửa file
/etc/nginx/sites-available/your-domain-1.com.vn.conf
/etc/nginx/sites-available/your-domain-2.com.vn.conf Trong đó:
Sau khi chỉnh sửa xong nội dung file virtualhosts của 2 website Tiếp theo, chúng ta hãy kiểm tra để đảm bảo rằng không có lỗi cú pháp trong bất kì file nào trên service bằng lệnh: Kết quả Nếu không có bất kì lỗi nào được thông báo, chúng ta hãy khởi động lại nginx để kích hoạt các thay đổi: Truy cập trình duyệt để kiểm tra xem website của chúng ta đã hoạt động chưa (chúng ta có thể trỏ file host website của mình về địa chỉ IP VPS để kiểm tra bằng cách làm theo hướng dẫn tại đây): Bước 4: Cài đặt MariaDBĐầu tiên, chúng ta cần cập nhật hệ điều hành Debian 11 để đảm bảo các gói hiện có đều được cập nhật lên phiên bản mới nhất: Nhập kho lưu trữ Cài đặt Sau khi lệnh cài đặt hoàn thành, chúng ta có thể sử dụng lệnh sau để kiểm tra MariaDB đã được cài đặt thành công chưa: Kết quả Bước 5: Cấu hình bảo mật cho MariaDBSau khi đã cài đặt thành công MariaDB, chúng ta có thể cấu hình bảo mật cho MariaDB: Kết quả Bây giờ, chúng ta có thể đăng nhập vào MariaDB để tạo cơ sở dữ liệu cho riêng mình bằng lệnh sau: Bước 6: Cài đặt PHPĐầu tiên, chúng ta cần cài đặt kho lưu trữ PHP và cập nhật kho lưu trữ
Sau khi cài đặt kho lưu trữ xong bây giờ chúng ta có thể cài đặt PHP bằng lệnh sau: Bây giờ, chúng ta có thể kiểm tra xem PHP đã được cài đặt thành công chưa bằng lệnh: Kết quả 6.1. Cấu hình php-fpmBây giờ, chúng ta coppy pool php mặc định cho 2 website của mình: Tiếp theo, chúng ta cần truy cập vào file fpm-your-domain-1.com.vn.conf (tại /etc/php/8.1/fpm/pool.d/fpm-your-domain-1.com.vn.conf /etc/php/8.1/fpm/pool.d/fpm-your-domain-2.com.vn.conf Sau khi hoàn thành các bước cấu hình, chúng ta khởi động lại php-fpm và kiểm tra trạng thái php-fpm Kết quả Bây giờ, chúng ta hãy khởi động lại nginx và truy cập trình duyệt web kiểm tra kết quả: Website 1: ![website1](https://123host.vn/uploads/tutorial/5378538416.png Website 2: 6.2. Hướng dẫn tạo file info.php để kiểm tra thông tin PHPĐầu tiên, chúng ta cần di chuyển đến thư mục public_html của mã nguồn website1: Chúng ta sử dụng trình soạn thảo bất kì để tạo file /home/website1/public_html/info.php Tiếp theo, chúng ta di chuyển đến thư mục public_html của mã nguồn website2: Chúng ta sử dụng trình soạn thảo bất kì để tạo file /home/website2/public_html/info.php Bây giờ, chúng ta hãy khởi động lại nginx và truy cập trình duyệt web kiểm tra kết quả: Bây giờ chúng ta truy cập trình duyệt và kiểm tra trang PHP information cho mỗi trang web. Tại phần PHP Variables, $ _SERVER ['USER'] phải là website1 cho website1 và website2 cho website2 và đường dẫn thư mục gốc của website1 là $ _SERVER ['HOME']: /home/website1, của website2 là $ _SERVER ['HOME']: /home/website2: Thông tin php info website 1: Bước 7: Cài đặt và cấu hình Let's EncryptĐầu tiên, chúng ta cần cài thư viện certbot cho nginx để có thể cài đặt và cấu hình Let's Encrypt bằng lệnh sau: Sau khi cài đặt certbot thành công, chúng ta hãy cài đặt và cấu hình Kết quả Tổng kếtNhư vậy, qua bài viết này chúng ta đã biết cách cài đặt Nginx, MariaDB, PHP,cấu hình Virtualhost cho Nginx, cài đặt Let's Encrypt trên Debian 11 hoàn tất một cách đầy đủ nhất. Hy vọng bài viết này sẽ giúp bạn cài đặt thành công! |