Hướng Dẫn Cài Đặt LEMP Trên Ubuntu 16.04

Hướng Dẫn Cài Đặt LEMP Trên Ubuntu 16.04

LEMP software stack là một nhóm phần mềm, được sử dụng để phục vụ các trang web động và các ứng dụng web. LEMP là từ viết tắt mô tả một hệ điều hành Linux, với máy chủ web Nginx. Các backend data được lưu trữ trong MySQL database và dynamic processing được xử lý bởi ngôn ngữ PHP.

Ưu điểm khi sử dụng LEMP?

LEMP được viết tắt của:

L - Linux
E - Nginx
M - MySQL
P - PHP

Trước đây hầu hết các web/blog đều chạy trên nền tảng LAMP (Linux, Apache, MySQL, PHP) nhưng từ khi chuyển sang LEMP thì thấy tài nguyên sử dụng giảm hơn trước khá nhiều.

Nginx là một web server nguồn mở hoạt động nhanh và sử dụng ít tài nguyên hệ thống hơn Apache. Khi ở trạng thái tải nhẹ thì sự khác nhau giữa Apache và Nginx là không đáng kể. Tuy vậy, ở trạng thái tải nặng, Nginx có thể mở rộng sao cho phù hợp và hoạt động nhanh mà không cần chiếm quá nhiều tài nguyên bộ nhớ như Apache.

Hiện nay, Nginx và Apache đang là hai web server phổ biến nhất. Thị trường máy chủ web đang hay đổi từng ngày, Apache đang dần bị thu hẹp, còn Nginx không chỉ bắt kịp với Apache, mà hiện còn là lựa chọn của nhiều trang web lưu lượng truy cập cao.

Đã có rất nhiều bài viết so sánh về Nginx và Apache, tuy nhiên, mỗi bên đều có những điểm mạnh riêng biệt. Apache đi kèm với tài liệu lớn hơn và hỗ trợ tốt hơn để tải các mô-đun động khác nhau, trong khi Nginx có thể phục vụ nhiều luồng nội dung và phương tiện tĩnh cho các trang web có lưu lượng truy cập cao.

Ngoài ra, cả hai máy chủ hiện cung cấp hỗ trợ và đào tạo thương mại. Tuy nhiên, nhiều developer thích sự tiện lợi của Apache. Mặt khác, Nginx chủ yếu được sử dụng cho lưu trữ VPS và lưu trữ dành riêng.

Một tùy chọn khác để xem xét là sử dụng kết hợp Apache và Nginx. Nginx có thể được đặt trước Apache dưới dạng proxy ngược. Điều này tận dụng tốc độ xử lý nhanh của Nginx để xử lý tất cả các yêu cầu từ khách hàng. Đối với nội dung động, chẳng hạn như các file PHP, Nginx cung cấp yêu cầu cho Apache, xử lý kết quả và trả về trang được hiển thị.

Điểm mấu chốt là nếu bạn đang chạy một trang web có lưu lượng truy cập cao với nhiều nội dung tĩnh, Nginx có thể là một lựa chọn thông minh để xem xét. Cho nên vì thế mình sẽ lựa chọn Nginx làm web server của mình và nếu bạn cũng lựa chọn như mình thì chúng ta cùng bắt đầu nhé :)

1. Cập nhật máy chủ 

Hãy đảm bảo rằng tất cả các gói đã cài đặt trên Ubuntu 16.04 máy chủ của bạn đều được cập nhật bằng câu lệnh sau:

sudo apt-get update

2. Cài đặt Nginx trên Ubuntu

Đầu tiên chúng ta sẽ add repository của nginx vào ubuntu bằng câu lệnh:

sudo add-apt-repository ppa:nginx/stable

Tiếp tục chúng ta sẽ dùng câu lệnh sau để máy chủ nhận repository:

sudo apt-get update

Tiếp theo là cài nginx

sudo apt-get install nginx

Nhấn y nếu được hỏi bạn có muốn tiếp tục không?

Sau khi chạy xong chúng ta có thể kiểm tra nginx đã chạy thành công chưa bằng câu lệnh

sudo service nginx status

3. Cài đặt PHP 7.2

Đầu tiên chúng ta sẽ add repository của php vào ubuntu bằng câu lệnh:

sudo add-apt-repository ppa:ondrej/php

Tiếp tục chúng ta sẽ dùng câu lệnh sau để máy chủ nhận repository:

sudo apt-get update

Tiếp đến chúng ta sẽ cài đặt php và các extension cần thiết của php bằng câu lệnh:

sudo apt-get install php7.2 php7.2-mysql php7.2-fpm php7.2-xml php7.2-gd php7.2-opcache php7.2-mbstring

Sau khi đã cài xong chúng ta check php bằng câu lệnh:

php -v

4. Cài đặt máy chủ MySQL

Chúng ta sẽ cài đặt máy chủ cơ sở dữ liệu MySQL bằng cách thực hiện lệnh sau:

sudo apt-get install mysql-server

Để khởi động MySQL và kích hoạt nó để khởi động ta dùng các câu lệnh sau:

sudo systemctl start mysql

sudo systemctl enable mysql

Tạm kết

Vậy là đến đây bạn đã cài đặt thành công LEMP stack trên máy chủ Ubuntu 16.04 của bạn rồi đấy. Bài sau mình sẽ cấu hình để chạy 1 project php laravel trên LEMP stack của bạn nhé.

Chúc các bạn thành công.