Giới Thiệu
LEMP stack là tập hợp các phần mềm dùng để phục vụ các trang web động và ứng dụng web. Tên viết tắt này gồm:
- Linux: Hệ điều hành
- Engine-X (Nginx): Máy chủ web
- MySQL: Hệ quản trị cơ sở dữ liệu lưu trữ dữ liệu phía sau
- PHP: Ngôn ngữ lập trình xử lý các nội dung động
Hướng dẫn này sẽ giúp bạn cài đặt LEMP stack trên máy chủ Ubuntu 18.04. Ubuntu đã cung cấp nền tảng hệ điều hành, và các bước tiếp theo sẽ giúp bạn cài đặt và cấu hình các thành phần còn lại.
Nếu bạn chưa có môi trường thử nghiệm để cài đặt LEMP, hãy cân nhắc sử dụng dịch vụ VPS Server của chúng tôi. Với hiệu suất ổn định và quyền truy cập root, bạn có thể dễ dàng triển khai các ứng dụng web, thử nghiệm cấu hình server, hoặc học tập chuyên sâu về quản trị hệ thống.
Yêu Cầu Ban Đầu
Trước khi bắt đầu, bạn cần có một tài khoản người dùng không phải root với quyền sudo. Hãy đảm bảo đã thiết lập tài khoản này theo hướng dẫn cài đặt ban đầu cho Ubuntu 18.04.
Bước 1 – Cài Đặt Máy Chủ Web Nginx
Để phục vụ các trang web cho khách truy cập, bạn sẽ cài đặt Nginx – một máy chủ web hiện đại và hiệu quả.
Các phần mềm sẽ được cài đặt từ kho lưu trữ mặc định của Ubuntu thông qua apt:
- Cập nhật chỉ mục gói:
sudo apt update
- Cài đặt Nginx:
bash
sudo apt install nginx
Sau khi cài đặt, Nginx sẽ tự động chạy. Nếu bạn đang sử dụng tường lửa ufw, hãy cho phép lưu lượng truy cập HTTP trên cổng 80:
sudo ufw allow 'Nginx HTTP'
Bạn có thể kiểm tra trạng thái của ufw bằng:
sudo ufw status
Để kiểm tra máy chủ có hoạt động không, hãy truy cập địa chỉ IP công khai hoặc tên miền của máy chủ trong trình duyệt (ví dụ: http://server_domain_or_IP). Nếu bạn thấy trang “Welcome to nginx”, tức là Nginx đã được cài đặt thành công.
Bước 2 – Cài Đặt MySQL Để Quản Lý Dữ Liệu
Sau khi đã cài đặt máy chủ web, bạn cần cài đặt MySQL để lưu trữ và quản lý dữ liệu cho website:
- Cài đặt MySQL:
bash
sudo apt install mysql-server
- Bảo mật MySQL: Chạy script bảo mật:
bash
sudo mysql_secure_installation
Script sẽ hỏi bạn về việc kích hoạt VALIDATE PASSWORD PLUGIN để kiểm tra độ mạnh của mật khẩu. Bạn có thể chọn bật hoặc bỏ qua (ưu tiên dùng mật khẩu mạnh).
- Cấu hình tài khoản root (tuỳ chọn): Nếu bạn muốn sử dụng mật khẩu cho tài khoản root thay vì phương thức auth_socket, mở MySQL prompt:
bash
sudo mysql
Sau đó, chuyển đổi phương thức xác thực:
sqlALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; FLUSH PRIVILEGES;
(Thay ‘password’ bằng mật khẩu mạnh mà bạn chọn.)
Sau đó, thoát khỏi MySQL:
exit
Bước 3 – Cài Đặt PHP và Cấu Hình Nginx Sử Dụng Bộ Xử Lý PHP
Nginx không xử lý PHP một cách tự nhiên, do đó bạn cần cài đặt php-fpm (“fastCGI process manager”) để xử lý các tệp PHP:
- Thêm kho lưu trữ universe (nếu cần):
bash
sudo add-apt-repository universe
- Cài đặt php-fpm và php-mysql:
bash
sudo apt install php-fpm php-mysql
- Cấu hình Nginx: Tạo một server block mới trong thư mục
/etc/nginx/sites-available/
(ví dụ: tên tệp làyour_domain
):bashsudo nano /etc/nginx/sites-available/your_domain
Thêm nội dung cấu hình sau:
nginxserver { listen 80; root /var/www/html; index index.php index.html index.htm index.nginx-debian.html; server_name your_domain; location / { try_files $uri $uri/ =404; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; } location ~ /\.ht { deny all; } }
Lưu và đóng tệp.
- Kích hoạt server block mới: Tạo liên kết tượng trưng:
bash
sudo ln -s /etc/nginx/sites-available/your_domain /etc/nginx/sites-enabled/
Loại bỏ liên kết của tệp cấu hình mặc định:
bashsudo unlink /etc/nginx/sites-enabled/default
- Kiểm tra cấu hình và tải lại Nginx: Kiểm tra cú pháp:
bash
sudo nginx -t
Sau đó, tải lại Nginx:
bashsudo systemctl reload nginx
Bước 4 – Tạo Tệp PHP Kiểm Tra Cấu Hình
Để xác nhận rằng PHP đã được cấu hình chính xác, tạo một tệp kiểm tra tên là info.php
trong thư mục gốc website:
- Tạo tệp info.php:
bash
sudo nano /var/www/html/info.php
Thêm nội dung sau:
php<?php phpinfo();
Lưu và đóng tệp.
- Truy cập tệp kiểm tra trong trình duyệt: Truy cập đường dẫn:
http://your_server_domain_or_IP/info.php
Nếu trang hiển thị thông tin chi tiết về PHP, cấu hình đã thành công. - Xóa tệp kiểm tra sau khi xác nhận:
bash
sudo rm /var/www/html/info.php
Kết Luận
Bạn đã hoàn thành việc cài đặt và cấu hình LEMP stack trên Ubuntu 18.04. Với nền tảng này, bạn có thể phục vụ hầu hết các website và ứng dụng web. Bước tiếp theo, bạn có thể nâng cao bảo mật cho máy chủ, ví dụ như sử dụng Let’s Encrypt để cài đặt chứng chỉ TLS/SSL và phục vụ nội dung qua HTTPS.
Trong khi triển khai LEMP stack, việc lựa chọn một nhà cung cấp có giá thuê VPS hợp lý cũng rất quan trọng. Chúng tôi cung cấp nhiều gói VPS linh hoạt, phù hợp với mọi ngân sách – từ cá nhân học tập đến doanh nghiệp triển khai website thực tế.