Skip to the content.

Tìm hiểu và cài đặt webserver sử dụng apache và sử dụng nginx.

1. Web server là gì?

Apache là một phần mềm mã nguồn mởi miễn phí được cài đặt trên các server(web server) để xử lý các yêu cầu tới máy chủ theo giao thức HTTP. Apache có tên chính thức là Apache HTTP Server

Ưu điểm của Apache:

Nhược điểm:

2.2. Cài đặt Apache.

Cài đặt Apache trên Centos 7

Test hoạt động Apache


- Truy cập địa chỉ ip của server trên trình duyệt để kiểm tra:

![](http://i.imgur.com/dfdXKAh.png)

### 2.3. Quản lý apache
- Dừng dịch vụ:

systemctl stop httpd

- Để khởi động máy chủ web khi dừng:

sudo systemctl start httpd

- Để khởi động lại dịch vụ, gõ:

sudo systemctl restart httpd

- Nếu chỉ cần cập nhật lại cấu hình mà không làm mất kêt nối chạy lệnh:

sudo systemctl reload httpd

- Enable để có thể khởi động apache cùng hệ thống:

systemctl enable httpd

- Disable để cấu hình không khởi động apache cùng hệ thống:

systemctl disable httpd


## 2.4. Log
Apache có hai file log:
- **Error log**: Là file lưu log về lỗi hay các chuẩn đoán về lỗi trong quá trình phục vụ các yêu cầu. Nó thường lưu 




## 3. Nginx

![](https://i.imgur.com/OG5ovek.png)

### 3.1. Nginx là gì? 
Nginx là một phần mềm webserver mã nguồn mở miễn phí, nó cũng được sử dụng làm một bộ đệm, cân bằng tải, reverse proxy,..
NGINX xuất bản chính thức vào tháng 10 năm 2004. Nhà sáng lập của phần mềm này là Igor Sysoev, triển khai dự án từ năm 2002 để giải quyết vấn đề C10k. C10k là giới hạn của việc xử lý 10 ngàn kết nối cùng lúc. Ngày nay, có nhiều web server còn phải chịu nhiều kết nối hơn vậy để xử lý. NGINX sử dụng kiến trúc hướng sự kiện (event-driven) không đồng bộ (asynchronous). Tính năng này khiến NGINX server trở nên đáng tin cậy, tốc độ và khả năng mở rộng lớn nhất.
Vì khả năng mạnh mẽ, và để có thể xử lý hàng ngàn kết nối cùng lúc, nhiều website có traffic lớn đã sử dụng dịch vụ NGINX. Một vài trong số những ông lớn công nghệ dùng nó là Google, Netflix, Adobe, Cloudflare, WordPress, và còn nhiều hơn nữa.


### 3.2. Nginx và Apache
#### Về hệ điều hành hỗ trợ
Cả Apache và Nginx đều hỗ trợ đa nền tảng, Apache có hiệu năng ổn định trên tất cả các nền tảng tuy nhiên, Nginx lại tỏ ra kém hiệu quả hơn khi sử dụng trên windows.
#### Hỗ trợ người dùng 
Cả hai đều có cộng đồng hỗ trợ lớn tuy nhiên Apache lại thiếu hỗ trợ từ chính công ty của nó, Apache Foundation.
#### Hiệu năng 
Nginx có hiệu năng tốt hơn với các website có nội dung tĩnh và sử dụng tài nguyên hiệu quả hơn so với Apache.


### 3.3. Cài đặt Nginx trên Centos 7.
Các bước trong bài đều yêu cầu quyền root.

- Thêm EPEL repository:

yum install epel-release yum update

- Cài đặt và bật dịch vụ Nginx:

yum install nginx -y systemctl start nginx

- Nếu sử dụng firewalld, cần cho phép dịch vụ HTTP và HTTPS:

sudo firewall-cmd –permanent –zone=public –add-service=http sudo firewall-cmd –permanent –zone=public –add-service=https sudo firewall-cmd –reload ```