LEMP là viết tắt của Linux, Nginx, MariaDB/MySQL và PHP, tất cả đều là phần mềm miễn phí. Trong bài viết này VINASTAR sẽ hướng dẫn cài đặt LEMP trên CentOS 8.
Cài đặt LEMP trên CentOS 8 – LEMP là viết tắt của Linux, Nginx (Engine-X), MariaDB/MySQL và PHP, tất cả đều là phần mềm miễn phí. Đây là những phần mềm phổ biến nhất cung cấp môi trường hoạt động cho các trang web.
Trong bài viết này VINASTAR sẽ hướng dẫn các bạn cài đặt LEMP trên CentOS 8.
Cài đặt LEMP trên CentOS 8
1. Tắt Selinux
Để tắt Selinux các bạn dùng lệnh sau
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config && setenforce 0
2. Cài đặt LEMP trên CentOS 8
2.1. Bước 1: Cài đặt Nginx
Nginx là một máy chủ web có hiệu suất cao và rất phổ biến ngày nay. Nó cũng có thể được sử dụng như một proxy ngược và caching server. Để cài đặt Nginx hãy xem hướng dẫn cài đặt Nginx trên CentOS 8.
2.2. Bước 2: Cài đặt MariaDB
MariaDB là một phần mềm thay thế cho MySQL. Nó được phát triển bởi các thành viên cũ của nhóm MySQL, những người lo ngại rằng Oracle có thể biến MySQL thành một sản phẩm mã nguồn đóng. Để cài đặt MariaDB hãy xem hướng dẫn cài đặt MariaDB trên CentOS 8.
2.3. Bước 3: Cài đặt PHP
Tại thời điểm viết bài này, PHP7.4 là phiên bản ổn định mới nhất của PHP. Để cài đặt PHP7.4 và một số module PHP phổ biến hãy các chạy lệnh sau.
dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm -y dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm -y dnf module enable php:remi-7.4 -y dnf install php php-fpm php-mysql php-cli php-common php-curl php-json php-cgi php-xsl php-mbstring php-opcache php-gd php-pgsql php-intl php-bcmath php-soap -y
Sau khi quá trình cài đặt hoàn tất hãy khởi động php-fpm.
systemctl start php-fpm
Cho phép php-fpm khởi động cùng hệ thống.
sudo systemctl enable php-fpm
Kiểm tra trạng thái của php-fpm:
systemctl status php-fpm
2.5. Tạo Nginx Server Block
Nginx Server Block giống như Virtual Host trong Apache. VINASTAR sẽ không sử dụng Server Block mặc định vì nó không có cấu hình để chạy PHP, vì vậy hãy loại bỏ Server Block mặc định bằng lệnh sau:
rm -f /etc/nginx/conf.d/default.conf
Sau đó, sử dụng trình soạn thảo Nano để tạo tệp Server Block hoàn toàn mới trong thư mục /etc/nginx/conf.d/.
nano /etc/nginx/conf.d/default.conf
Dán đoạn cấu hình sau vào tập tin. Đoạn mã sau sẽ cấu hình Nginx lắng nghe trên cổng IPv4 80 và IPv6 cổng 80.
server { listen 80; listen [::]:80; server_name _; root /usr/share/nginx/html/; index index.php index.html index.htm; location / { try_files $uri $uri/ /index.php; } location ~ .php$ { try_files $uri $uri/ =404; fastcgi_split_path_info ^(.+.php)(/.+)$; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; fastcgi_intercept_errors on; if (-f $request_filename) { fastcgi_pass unix:/run/php-fpm/www.sock; } } # A long browser cache lifetime can speed up repeat visits to your page location ~* .(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$ { access_log off; log_not_found off; expires 360d; } # disable access to hidden files location ~ /.ht { access_log off; log_not_found off; deny all; } }
Lưu và đóng tập tin. (Để lưu tệp trong trình soạn thảo văn bản Nano, nhấn Ctrl + O, sau đó nhấn Enter để xác nhận. Để thoát, nhấn Ctrl + X.). Sau đó reload lại Nginx.
systemctl reload nginx
2.4. Bước 4: Kiểm tra PHP-FPM
Để kiểm tra PHP-FPM với máy chủ Nginx, chúng ta cần tạo một tệp info.php trong thư mục webroot.
nano /usr/share/nginx/html/info.php
Dán mã PHP sau vào tệp.
<?php phpinfo(); ?>
Bây giờ trong thanh địa chỉ của trình duyệt, nhập server-ip-address/info.php. Thay thế địa chỉ server-ip-address bằng IP thực tế của bạn. Nếu bạn làm theo hướng dẫn này trên máy tính của mình, hãy nhập 127.0.0.1/info.php hoặc localhost/info.php.
Chúc mừng! Bạn đã cài đặt thành công Nginx, MariaDB và PHP7.4 trên CentOS 8. Để bảo mật máy chủ của bạn, bạn nên xóa tệp info.php để ngăn chặn tin tặc nhìn thấy nó.
rm -f /usr/share/nginx/html/info.php
3. Link tham khảo
4. Kết luận
VINASTAR hy vọng hướng dẫn này đã giúp các bạn cài đặt LEMP stack trên CentOS 8. Nếu có bất kỳ ý kiến đóng góp nào các bạn có thể để lại bình luận ở bên dưới.