Apache là gì? Tổng Quan Kiến Thức Về Apache cho người mới

Apache là gì? Tổng Quan Kiến Thức Về Apache cho người mới

Máy chủ Apache tương thích tốt với các loại mã nguồn mở hiện nay nên đây là phần mềm thường được các nhà cung cấp dịch vụ hosting sử dụng. Bởi nó hoàn toàn miễn phí và dễ cài đặt. Vậy Apache là gì? Mời bạn cùng tìm hiểu về chúng thông qua bài chia sẻ sau nhé.

Apache web server là gì?

Apache là tên gọi tắt của Apache HTTP Server do Novell Netware phát triển và điều hành. Nó là một phần mềm máy chủ giao tiếp thông qua giao thức HTTP. Apache hoạt động tốt trên các hệ điều hành phổ biến hiện nay như Windows, Linux, Unix, Novell Netware cùng các hệ điều hành khác. Phần mềm Apache hoàn toàn miễn phí nên nó chiếm đến 42% thị phần website của thế giới. 

Mục đích hoạt động của Apache là giúp chủ sở hữu website đưa nội dung lên site. Chính vì thế, nó được xếp vào nhóm phần mềm máy chủ web. Và Apache cũng là web server có bề dày lịch sử lâu đời (phiên bản đầu tiên ra mắt thị trường hơn 20 năm trước), cùng độ tin cậy cao. Máy chủ web này còn giúp doanh nghiệp tiết kiệm nhân lực quản lý và chi phí mà vẫn đảm bảo đạt hiệu quả cao trong vận hành website. Đặc biệt, nó rất phù hợp cho các tổ chức kinh doanh có quy mô vừa và nhỏ.

apache la gi

Cách thức hoạt động của Apache là gì?

Về cách thức hoạt động, Apache là một chương trình phần mềm chạy trên máy chủ để thiết lập kết nối giữa máy chủ và trình duyệt. Sau đó, nó truyền, trao đổi tập tin cấu trúc hai chiều có dạng người dùng – máy chủ (client – server). Có thể nói, Apache là một phần mềm hoạt động đa nền tảng.

Cụ thể, khi người dùng truy cập vào trang web thì trình duyệt sẽ tiến hành gửi yêu cầu lên máy chủ web. Kế đến, Apache thực hiện việc phản hồi thông tin, bao gồm toàn bộ các tập tin tạo nên trang web (nội dung, hình ảnh, âm thanh, video…) mà người dùng muốn truy cập. Thông qua giao thức HTTP, server và client giao tiếp với nhau. Lúc này, Apache đóng vai trò đảm bảo tiến trình giao tiếp được diễn ra mượt mà, bảo mật.

Nhờ có cách thức hoạt động này mà Apache trở thành nền tảng module có tính tùy biến cao. Nó cung cấp cho quản trị viên quyền tắt hoặc tùy ý thêm chức năng trên máy chủ. Ngoài ra, Apache còn có thêm module bảo mật caching, chứng thực mật khẩu, URL rewriting,… để người dùng bảo vệ tối đa website của mình.

Điểm khác biệt giữa NGINX và Apache server là gì?

NGINX là một ứng dụng của máy chủ web phát hành vào năm 2004 và nhanh chóng được giới lập trình sử dụng. Bởi nó là một trong các máy chủ web đầu tiên. NGINX được phát triển nhằm mục đích xử lý nhiều vấn đề nên có tên gọi là c10k problem (tức 10,000 connections). NGINX sử dụng threads để xử lý các truy vấn của người dùng, với lượng kết nối cùng một thời điểm có thể lên đến 10,000. 

Cùng là web server, nhưng Apache và NGINX có một chút khác biệt.

  • Apache dùng cấu trúc dạng thread nên các website có dữ liệu nhiều, traffic lớn thì có thể gặp vấn đề về hiệu suất. Còn NGINX có khả năng xử lý vấn đề c10k nên có lợi thế hơn ở khía cạnh này.
  • NGINX xử lý dạng “sự kiện” và không tạo tiến trình mới cho các truy vấn nên nó xử lý truy vấn trong thread duy nhất. Vì vậy, NGINX hiệu quả trong việc phân tán truy vấn và quản lý tốt nhưng lại bị hạn chế về tốc độ.

Tóm lại, nếu website có traffic lớn thì bạn nên lựa chọn NGINX để tiết kiệm tài nguyên nhưng xử lý được nhiều tiến trình. Đối với website có lượng traffic vừa và nhỏ thì Apache lại là lựa chọn hoàn hảo. Bởi Apache dễ cấu hình, có nhiều module và thân thiện với người dùng hơn.

Ưu điểm của Apache là gì?

Apache mang đến cho người dùng nhiều ưu điểm nổi bật như:

  • Tiết kiệm chi phí vì Apache là phần mềm miễn phí và sử dụng mã nguồn mở.
  • Độ tin cậy và ổn định cao, nhờ phần mềm được thường xuyên nâng cấp nhiều phiên bản để vá lỗi bảo mật.
  • Apache có tính linh hoạt cao và cấu trúc các module vô cùng tiện lợi. Hơn nữa, phần mềm còn cấu hình dễ dàng, cách sử dụng đơn giản.
  • Apache hoạt động đa nền tảng (Widows, Linux, Unix…). Đặc biệt, nó hoạt động rất hiệu quả với website WordPress. 

apache la gi

Nhược điểm của Apache web server là gì?

Apave vẫn còn tồn tại một số nhược điểm như:

  • Không phù hợp với website có lượng truy cập lớn.
  • Nhiều lựa chọn thiết lập nên dễ gây ra điểm yếu bảo mật.

Apache spark là gì?

Apache Spark là một nền tảng mã nguồn mở. Sơ khởi, Apache Spark do AMPLab thuộc đại học California phát triển vào năm 2009. Đến năm 2013, Spark được trao cho Apache Software Foundation phát triển. Phần mềm này cho phép người dùng xây dựng những mô hình dự đoán nhanh, cùng khả năng tính toán được thực hiện trên nhiều máy tính trong một nhóm. Chúng có thể tính toán trên cùng dữ liệu tại cùng thời điểm mà không cần trích xuất mẫu để tính toán thử nghiệm. 

Việc tính toán không chỉ được thực hiện trên nhiều máy tính mà chúng còn được tiến hành hoàn toàn trên RAM.

Các tính năng nổi bật của Apache spark là gì?

Apache Spark có các tính năng nổi bật sau:

  • Giao diện quản lý thân thiện, dễ sử dụng.
  • Tăng tốc độ và giảm độ trễ của task thực hiện xuống chỉ tính bằng giây, nhờ vào việc tạo sẵn spark context cho những yêu cầu dùng chung.
  • Dễ dàng dừng tiến trình đang chạy bằng cách dừng spark context.
  • Cung cấp cả 2 cơ chế là chạy task đồng bộ, cũng như không đồng bộ.
  • Hỗ trợ cache RDD theo tên, tăng khả năng chia sẻ và dùng lại RDD giữa các tiến trình.
  • Hỗ trợ viết task cho spark bằng cách sử dụng cú pháp SQL.
  • Có thể tích hợp được với nhiều công cụ báo cáo: Analytics, Business Intelligence, Data Integration Tools

apache la gi

Apache tomcat là gì

Đây là một máy chủ web giao tiếp bằng giao thức HTTP do Apache Software Foundation phát triển. Chúng hỗ trợ tương đối mạnh cho Java. Vì thế, nó dễ dàng chạy được trên nhiều phiên bản Java như Java Servlet, Java EL, JavaServer Pages và WebSocket.

Bên cạnh đó, bạn có thể sử dụng các ngôn ngữ lập trình như PHP, Perl, Python,… với Apache Tomcat, bằng cách nhờ sự hỗ trợ của  mod_php, mod_perl, mod_python,…

apache la gi

Apache kafka là gì?

Apache kafka là hệ thống messenger pub/sub phân tán. Vì là sản phẩm của mã nguồn mở nên chúng cho phép người dùng có thể mở rộng. 

Ban đầu, Kafka được Linkedin phát triển và đến năm 2011, trở thành dự án Apache và viết bằng ngôn ngữ lập trình Scala và Java. Apache kafka được xây dựng nhằm phục vụ cho mục đích cung cấp nền tảng có độ trễ thấp, thông lượng cao, đáp ứng nhu cầu phản hồi dữ liệu theo thời gian thực. 

Cách thức hoạt động của Apache kafka là gì?

Nền tảng Kafka được xây dựng dựa vào mô hình publish/subcribe. Trong đó, các ứng dụng (gọi là producer) gửi messenger (gọi là records) tới một node kafka (gọi là broker), đồng thời phát thông báo là các messenger đã được các ứng dụng consumers xử lý. Những messenger gửi tới kafka node được lưu trữ tại nơi gọi là topic. Tiếp đến, consumer subcribe tới topic này để có thể lắng nghe messages. Messages được hiểu là tất cả các thông tin bao gồm hành động người dùng, giá trị cảm biến…

apache la gi

Apache solr là gì?

Solr là một dự án Apache Lucene. Nó là nền tảng tìm kiếm chuyên nghiệp có mã nguồn mở, viết bằng ngôn ngữ Java. Công cụ này được doanh nghiệp sử dụng phổ biến thứ 2, chỉ đứng sau Elasticsearch.

Apache solr có các tính năng chính là tìm kiếm toàn văn bản (full-text search), tìm kiếm sắc cạnh (faceted search), đánh dấu (hit highlighting), đánh chỉ mục theo thời gian thực (real-time index), phân nhóm linh động (dynamic clustering), tích hợp cơ sở dữ liệu (database integration), NoSQL, xử lý văn bản. Trong đó, tính năng tìm kiếm phân tán, nhân rộng index có khả năng mở rộng. 

Apache hadoop là gì?

Đây là một nền tảng Apache sử dụng mã nguồn mở, viết bằng ngôn ngữ Java nhưng nó có thể hỗ trợ ngôn ngữ ++, Python và Perl thông qua cơ chế streaming. Hadoop phát triển những ứng dụng phân tán để lưu trữ, quản lý dữ liệu lớn. Hadoop thực hiện mô hình MapReduce. Mô hình này được chia nhỏ thành nhiều phân đoạn chạy song song trên các node khác nhau. 

Các vấn đề được Apache hadoop xử lý là:

  • Xử lý một lượng lớn dữ liệu khồng lồ với dung lượng tính bằng Petabyte.
  • Xử lý được trong trường hợp dữ liệu bị phân tán, lưu trữ trên nhiều phần cứng.
  • Xử lý các lỗi thường xuyên xuất hiện.
  • Băng thông các phần cứng vật lý dùng để lưu trữ dữ liệu bị hạn chế.

apache la gi

Apache cassandra là gì?

Đây là cơ sở dữ liệu NoSQL phân tán do Facebook phát triển và vào năm 2008 chính thức trở thành công cụ mã nguồn mở. Đến năm 2009, Apache tiếp nhận và tiếp tục phát triển.

Apache cassandra thực hiện lưu trữ dữ liệu thông qua việc phân tán chúng ra thành các node khác nhau trong cùng một cluster. Điều này giúp đảm bảo cho việc xử lý dữ liệu diễn ra an toàn và nhanh chóng, dù có lỗi xảy ra ở bất kỳ node nào.

Keyspace là thành phần chính của Apache cassandra. Nó có các thuộc tính:

  • Replication factor: Xác định trong cluster có bao nhiêu node nhận bản copy của một dữ liệu.
  • Replica placement strategy: Xác định cách thức lưu trữ replicas.
  • Column families: Mô tả cấu trúc dữ liệu. Mỗi Column family có nhiều hàng (rows), mỗi hàng có nhiều cột (column) với thứ tự nhất định. Mỗi Keyspace sẽ có một hoặc một số Column families.

Apache cordova là gì?

Apache cordova có tên tiền thân là PhoneGap. Đây là một nền tảng phát triển ứng dụng di động được phát triển bởi Nitobi. Apache cordova sử dụng Javascript, HTML và CSS. Nó có thể chạy trên nhiều nền tảng như Windows, iOS, Android…

Các tính năng nổi bật của Apache cordova:

  • Chạy được trên nhiều nền tảng của máy tính và thiết bị di động.
  • Dùng Apache cordova nhanh hơn nhiều so với việc phát triển ứng dụng chỉ sử dụng thuần iOS hay Android.
  • Vì sử dụng Javascript để làm việc với Apache cordova nên người dùng không cần biết rõ hơn các ngôn ngữ lập trình khác.

Tuy nhiên, Apache cordova lại tồn tại một số hạn chế như:

  • Hiệu suất của hybrid app chậm hơn native app nên Apache cordova không được sử dụng để thiết kế các ứng dụng lớn, đòi hỏi nhiều chức năng và dữ liệu.
  • Có thể xuất hiện tình trạng một số plugin không tương thích với vài thiết bị và nền tảng.

Apache netbeans là gì?

NetBeans IDE là công cụ cho phép người dùng có thể viết mã code miễn phí và được đánh giá tốt nhất tính đến hiện nay. Bởi nó cung cấp nhiều tính năng cần thiết cho việc tạo ra các ứng dụng. Do đó, nó được dùng để các developer phát triển Java. Tuy nhiên, dung lượng của phần mềm nặng nên đòi hỏi máy tính phải có cấu hình mạnh để có thể vận hành.

NetBeans IDE hoạt động tốt trên các hệ điều hành Windows, Linux, MacOS… và hỗ trợ đa dạng ngôn ngữ lập trình, điển hình là JavaScript, C / C ++, Python, Groovy, Ruby, và PHP.

Hiện nay, phiên bản 8.2 của NetBeans IDE có nhiều tính năng nâng cấp như:

  • Nâng cao ngôn ngữ C, C++.
  • Cải tiến công cụ soạn thảo Profiler, Java.
  • Có ECMAScript 6, đồng thời cho phép thử nghiệm ECMAScript 7.
  • Hỗ trợ Docker và PHP 7.
  • Cải tiến HTML 5, Javascript

Tuy nhiên, để cài đặt NetBeans IDE thì máy tính phải có sẵn cấu hình JDK. Ngoài ra, NetBeans IDE còn chia thành nhiều gói, để người dùng tùy ý tải và cài đặt từng phần phù hợp nhu cầu sử dụng, giúp tiết kiệm dung lượng.

Tương tự Notepad++, NetBean IDE có cú pháp tốt và nhiều tính năng như căn chỉnh mã nguồn tự động, SVN, Remote FTP,… 

Các tính năng chính và nổi bật của Apache netbeans là gì?

  • Hỗ trợ đa dạng ngôn ngữ lập trình.
  • Chức năng chỉnh sửa mã nguồn tự động.
  • Giao diện trực quan, dễ sử dụng.
  • Có thể xử lý các vấn đề lỗi mạng từ xa.
  • Cho phép thử nghiệm tính năng thiết lập giao diện đồ họa.
  • Có tính năng tìm kiếm nhanh, biên dịch tự động; hỗ trợ nền tảng cho website, máy chủ GlassFish cùng database. 

apache la gi

Hướng dẫn cài đặt Apache


  1. Hướng dẫn cài đặt Apache lên Windows

  • Bước 1: Download Apache

Download Apache ở đâu? Đó là bạn vào tải Apache từ Apache Lounge, lưu ý chọn phiên bản 32 bytes hoặc 64 bytes. File download về máy có dạng file .zip (httpd – 2.4.33 – win64 – VC15. Zip).

  • Bước 2: Cài đặt Apache

Sau khi hoàn tất download, bạn giải nén thư mục Apache24 tại ổ C (do source của Apache được xây dựng mặc định cho ổ cứng C). 

Tiếp đến, bạn vào thư mục đã giải nén, tìm và khởi chạy tập tin httpd.exe. Khi hệ thống xuất hiện thông báo “It works!” hoặc kiểm tra thấy câu này trên http://localhost thì có nghĩa bạn đã cài đặt thành công Apache.

  1. Hướng dẫn cài đặt Apache lên Ubuntu

Bạn dùng Synaptic Package Manager vàUbuntu Software Center để thực hiện tìm, cài đặt module apache2. Hoặc bạn có thể gõ câu lệnh sau trong Terminal để tiến hành cài đặt Apache:

sudo aptget install apache2

Sau khi hoàn tất quá trình cài đặt, bạn nhập vào trình duyệt địa chỉ http://localhost. Nếu xuất hiện thông báo “ It Works!” có nghĩa cài đặt thành công.

Thiết lập và tùy chỉnh Apache

Sau khi cài đặt thành công, Apache sẽ tự động được thêm vào danh sách init.d. Vì vậy, nó có thể được khởi động cùng hệ điều hành. Nếu bạn muốn thay đổi thời điểm khởi động, hay cho nó ngừng hoặc tái khởi động thì sử dụng các câu lệnh sau:

sudo /etc/init.d/apache2 start #start apache

sudo /etc/init.d/apache2 stop #stop apache

sudo /etc/init.d/apache2 restart #restart apache

Nếu muốn bỏ tính năng khởi động Apache cùng hệ thống thì dùng câu lệnh: 

sudo updaterc.d f apache2 remove

Còn câu lệnh sau sẽ giúp bạn làm ngược lại các quá trình trên:

sudo updaterc.d apache2 defaults

Cách thay đổi thư mục localhost trên Ubuntu của Apache

Apache chỉ hoạt động trên thư mục/var/www. Vì thế, nếu bạn muốn thay đổi thư mục các tập tin khi truy cập thông qua localhost thì thực hiện như hướng dẫn sau.

  • Tạo trang HTML mới với tên là index.html.
  • Đặt trang HTML này trong thư mục public_html.
  • Mở Terminal rồi gõ câu lệnh:

gksu gedit /etc/apache2/sitesenabled/000default

  • Sau đó, đổi DocumentRoot /var/www thành đường dẫn DocumentRoot /home/user/public_html, còn <Directory /var/www/>  thành <Directory /home/user/public_html/>.
  • Lưu lại các thay đổi và khởi động lại Apache. Câu lệnh là “sudo /etc/init.d/apache2 restart”.

Cuối cùng, gõ trên trình duyệt đường dẫn http://localhost. Lúc này, file html sẽ nằm bên trong thư mục public_html.

Bài viết cùng chuyên mục :