1. WordPress
1.1 WordPress là gì?
WordPress là một Hệ thống quản lý nội dung (CMS - Content Management System), mã nguồn mở, miễn phí và phổ biến.
Người ta sử dụng WordPress để tạo và quản lý các loại trang web một cách dễ dàng mà không cần phải biết nhiều về lập trình.
Một số đặc điểm chính của WordPress:
- Cung cấp một giao diện quản trị thân thiện để bạn có thể viết bài, đăng ảnh, chỉnh sửa trang web, và quản lý người dùng
- Được phát hành dưới giấy phép công cộng, nghĩa là bất kỳ ai cũng có thể sử dụng, nghiên cứu, sửa đổi và phân phối miễn phí
- Ban đầu, WordPress được tạo ra để viết blog, nhưng hiện nay nó được sử dụng để xây dựng hầu hết mọi loại trang web, bao gồm:
+ Website cá nhân, Blog
+ Website giới thiệu công ty/doanh nghiệp
+ Website thương mại điện tử (sử dụng plugin WooCommerce)
+ Website tin tức, tạp chí online
- Được viết bằng ngôn ngữ lập trình PHP và sử dụng cơ sở dữ liệu MySQL hoặc MariaDB
- Nhờ có hệ thống giao diện (themes) và phần bổ trợ (plugins) đa dạng, bạn có thể thay đổi giao diện tùy ý và thêm bất kỳ tính năng nào cho trang web của mình (ví dụ: tối ưu SEO, bảo mật, biểu mẫu liên hệ).
1.2 Web Server
Chúng ta đã biết có 3 cách để tạo ra một ứng dụng web là [1] viết thuần từ đầu, [2] dùng framework hoặc [3] sử dụng CMS.
Làm ứng dụng web bằng WordPress chính là cách thứ 3, sử dụng Hệ quản trị nội dung CMS.
Dù bạn lựa chọn phương pháp nào thì cũng cần phải có những hiểu biết căn bản về hạ tầng của một ứng dụng web. Web server là một thành phần của hạ tầng ứng dụng web. Chúng ta cùng tìm hiểu về chủ đề này.
Web server (máy chủ web) là một máy tính (hoặc một phần mềm), được sử dụng để lưu trữ và cung cấp toàn bộ nội dung cho một website/ứng dụng web (tạm gọi chung là ứng dụng web).
Web server hoạt động như một trung tâm lưu trữ toàn bộ thông tin để tạo ra một ứng dụng web, bao gồm văn bản, hình ảnh, video và dữ liệu khác. Khi bạn nhập địa chỉ ứng dụng web vào trình duyệt web, máy tính của bạn sẽ gửi yêu cầu (request) đến web server lưu trữ ứng dụng web đó. Sau đó, web server sẽ phản hồi (response) bằng cách gửi thông tin được yêu cầu trở lại máy tính của bạn, và trình duyệt của bạn sẽ hiển thị thông tin đó cho bạn xem. Xem hình minh họa:
Một số chức năng chính của web server
- Lưu trữ các tập tin của ứng dụng web: web server lưu trữ tất cả các tập tin và dữ liệu tạo nên ứng dụng web, ví dụ các tập tin HTML, hình ảnh và video.
- Nhận yêu cầu (request): khi người dùng truy cập một ứng dụng web, trình duyệt web của họ sẽ gửi một request tới web server. Web server sẽ tiếp nhận request này.
- Xử lý request: sau khi nhận được request, web server sẽ thực hiện xử lý request. Việc xử lý request có thể là: đọc nội dung các tập tin, thực thi các đoạn mã nguồn, kết nối và làm việc với cơ sở dữ liệu.
- Gửi phản hồi (response): sau khi xử lý xong request, web server sẽ gửi response cho trình duyệt của người dùng, sau đó, trình duyệt sẽ hiển thị kết quả response cho người dùng
Quá trình xử lý của web server
[1] nhận request
[2] phân tích request, gửi tới ứng dụng web để xử lý
[3] đọc dữ liệu từ cơ sở dữ liệu
[4] đổ dữ liệu vào trang HTML (các template HTML)
[5] gửi trang HTML (đã bao gồm dữ liệu) (response) về trình duyệt người dùng
[6] trình duyệt người dùng hiển thị nội dung response
[7] trình duyệt gửi riêng một request khác để lấy các nội dung tĩnh của ứng dụng web (HTML, CSS, JavaScript, hình ảnh, và các tài nguyên khác).
Một số phần mềm web server phổ biến
- Apache
- Nginx
- Nodejs
- IIS
- Tom cat
- Lighttpd
Kiến trúc của một web server
Như đã đề cập, web server là thuật ngữ để chỉ các phần mềm như Apache, Nginx, IIS, Nodejs; ngoài ra web server cũng là thuật ngữ để chỉ máy server có cài đặt các phần mềm web server.
Một máy web server có các đặc điểm sau:
- Phần cứng là một máy server chuyên dụng, cấu hình mạnh, khả năng chịu lỗi cao, chạy liên tục
- Hệ điều hành dành cho máy chủ
- Có cài đặt phần mềm web server (HTTP server - Apache, Nginx, IIS), có thể có hệ quản trị cơ sở dữ liệu (Database), trình dịch và thực thi mã nguồn (Scripting Language)
1.3 Bài tập và câu hỏi
Bài tập 1a. Đọc hiểu nội dung bài học.
Câu hỏi 1. Một số phần mềm web server phổ biến. Phát biểu nào không đúng?
A. Apache
B. Nginx
C. SSI
D. Nodejs
Câu hỏi 2. Các chức năng của Web server là gì. Phát biểu nào không đúng?
A. Lưu trữ các tập tin của ứng dụng web
B. Nhận request từ client
C. Xử lý request
D. Nhận response từ máy client


