LEMP Stack Là Gì?
LEMP Stack là viết tắt của bốn công nghệ chính được sử dụng để chạy các website và ứng dụng web:
- Linux: Hệ điều hành mã nguồn mở.
- Nginx: Web server hiệu suất cao.
- MySQL: Hệ quản trị cơ sở dữ liệu quan hệ.
- PHP: Ngôn ngữ lập trình phía server.
Với Docker, LEMP Stack trở nên dễ dàng hơn trong việc triển khai, bảo trì và nâng cấp. Docker là một nền tảng mã nguồn mở giúp đóng gói, phân phối và chạy ứng dụng trong các container, đảm bảo ứng dụng hoạt động đồng nhất trong mọi môi trường.
Lợi Ích Của Việc Sử Dụng LEMP Stack Với Docker
1. Dễ Dàng Bảo Trì và Nâng Cấp
Docker hóa LEMP Stack giúp việc bảo trì và nâng cấp trở nên dễ dàng hơn. Bạn có thể cập nhật từng thành phần như PHP, Nginx, hoặc MySQL mà không ảnh hưởng đến các phần khác của hệ thống. Điều này giảm thiểu rủi ro và đảm bảo tính liên tục của dịch vụ.
2. Bảo Mật Cao
Việc đóng gói ứng dụng trong các container giúp cô lập từng thành phần, từ đó tăng cường bảo mật. Bất kỳ lỗ hổng bảo mật nào trong một thành phần sẽ không ảnh hưởng đến toàn bộ hệ thống.
3. Hiệu Suất Cao
Nginx được biết đến với khả năng xử lý hàng nghìn kết nối đồng thời, giúp website của bạn luôn hoạt động mượt mà ngay cả khi lưu lượng truy cập tăng đột biến.
4. Triển Khai Nhanh Chóng
Với Docker Compose, bạn chỉ cần một lệnh để triển khai toàn bộ môi trường LEMP Stack. Điều này tiết kiệm thời gian và giảm thiểu sai sót trong quá trình cấu hình.
Hướng Dẫn Cài Đặt LEMP Stack Với Docker
Hàng có sẵn: https://github.com/Tuanyk/leowebstack
Hoặc, bạn có thể tự build một project docker để tùy chỉnh
Bước 1: Tạo File docker-compose.yml
Tạo một file docker-compose.yml
với nội dung sau:
version: '3.1'
services:
web:
image: nginx:latest
ports:
- "80:80"
volumes:
- ./web:/var/www/html
- ./nginx/conf.d:/etc/nginx/conf.d
depends_on:
- php
php:
image: php:7.4-fpm
volumes:
- ./web:/var/www/html
depends_on:
- db
db:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: ADMIN_PASSWORD_HERE
MYSQL_DATABASE: exampledb
MYSQL_USER: exampleuser
MYSQL_PASSWORD: PASSWORD_HERE
volumes:
- db_data:/var/lib/mysql
volumes:
db_data:
Bước 2: Chạy Lệnh Triển Khai
Mở terminal và chạy lệnh:
docker-compose up -d
Bước 3: Cấu Hình Nginx
Tạo một file cấu hình Nginx trong thư mục nginx/conf.d/
với nội dung:
server {
listen 80;
server_name yourwebsite.com www.yourwebsite.com;
root /var/www/html;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass php:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
access_log /var/log/nginx/yourwebsite.com.access.log;
error_log /var/log/nginx/yourwebsite.com.error.log;
}
Bước 4: Đặt Mã Nguồn Website
Đặt mã nguồn website của bạn vào thư mục web
. Bạn có thể sử dụng PHP hoặc WordPress tùy ý.
Bước 5: Cấu Hình SSL (Tùy Chọn)
Nếu bạn muốn sử dụng SSL, bạn có thể sử dụng Certbot để tạo chứng chỉ SSL. Chạy lệnh sau trong container Nginx:
certbot --nginx -d yourwebsite.com -d www.yourwebsite.com
Sau đó, cấu hình lại file Nginx để sử dụng chứng chỉ SSL.
Kết Luận
Sử dụng LEMP Stack với Docker mang lại rất nhiều lợi ích về hiệu suất, bảo mật và tính dễ dàng trong việc triển khai và bảo trì. Với các bước cài đặt đơn giản như trên, bạn sẽ nhanh chóng có được một môi trường làm việc chuyên nghiệp và hiệu quả cho website của mình.
Để lại một bình luận