Hướng dẫn cài đặt LEMP Stack Server trên CentOS 7

Mục lục

LEMP là gì?

LEMP là một nhóm phần mềm nguồn mở thường được cài đặt cùng nhau để cho phép máy chủ lưu trữ các trang web động và ứng dụng web. Thuật ngữ này thực sự là một từ viết tắt đại diện cho hệ điều hành Linux, với máy chủ web ENginx (thay thế thành phần Apache của ngăn xếp LAMP). Dữ liệu trang web được lưu trữ trong cơ sở dữ liệu dựa trên MySQL và nội dung động được xử lý bởi PHP.

Bước 1: cài đặt NGINX

Cài đặt CentOS 7 EPEL repository

yum install epel-release

Bây giờ kho lưu trữ EPEL đã được cài đặt trên máy chủ của bạn, hãy cài đặt Nginx bằng lệnh yum sau:

yum install nginx

Khi quá trình cài đặt hoàn tất, chúng ta cần khởi động NGINX và cho phép tự khởi động khi boot bằng lệnh sau:

systemctl enable nginx
systemctl start nginx

Bước 2: cài đặt MariaDB

yum install mariadb-server mariadb

Khi quá trình cài đặt hoàn tất, chúng ta cần khởi động MariaDB và cho phép tự khởi động khi boot bằng lệnh sau:

systemctl enable mariadb
systemctl start mariadb

Bây giờ MariaDB Server của chúng ta đã chạy, bước tiếp theo chúng ta cần bảo mật cho MariaDB Server bằng cách chạy lệnh sau:

mysql_secure_installation

Bước 3: cài đặt PHP

Phiên bản PHP có sẵn theo mặc định trong các máy chủ CentOS 7 đã lỗi thời và vì lý do đó, chúng ta sẽ cần cài đặt kho lưu trữ gói của bên thứ ba để có được PHP 7+ và cài đặt nó trên máy chủ CentOS 7 của bạn.

Remi là kho lưu trữ gói phổ biến cung cấp các bản phát hành PHP cập nhật nhất cho các máy chủ CentOS.

Để cài đặt kho Remi cho CentOS 7, hãy chạy:

yum install yum-utils http://rpms.remirepo.net/enterprise/remi-release-7.rpm

Sau khi cài đặt xong, bạn sẽ cần chạy một lệnh để kích hoạt kho lưu trữ chứa phiên bản PHP ưa thích của bạn. Để kiểm tra bản phát hành PHP 7+ nào có sẵn trong kho Remi, hãy chạy:

yum --disablerepo="*" --enablerepo="remi-safe" list php[7-9][0-9].x86_64
Output
Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * remi-safe: mirrors.ukfast.co.uk Available Packages php70.x86_64 2.0-1.el7.remi remi-safe php71.x86_64 2.0-1.el7.remi remi-safe php72.x86_64 2.0-1.el7.remi remi-safe php73.x86_64 2.0-1.el7.remi remi-safe php74.x86_64 1.0-3.el7.remi remi-safe php80.x86_64 1.0-3.el7.remi remi-safe

Trong hướng dẫn này, chúng ta sẽ cài đặt PHP 7.4, hiện là phiên bản ổn định được cập nhật nhất của PHP. Để kích hoạt gói Remi chính xác để cài đặt PHP 7.4, hãy chạy:

yum-config-manager --enable remi-php74

Bây giờ chúng ta có thể tiến hành sử dụng yum để cài đặt PHP như bình thường. Lệnh sau sẽ cài đặt tất cả các gói cần thiết để cài đặt PHP 7.4 trong Nginx và cho phép nó kết nối với cơ sở dữ liệu dựa trên MySQL:

yum install php php-fpm php-gd php-json php-mbstring php-mysqlnd php-xml php-xmlrpc php-opcache php-mysql

Để xác nhận rằng PHP có sẵn như là phiên bản bạn đã chọn, hãy chạy:

php --version
Output
PHP 7.4.5 (cli) (built: Apr 14 2020 12:54:33) ( NTS ) Copyright (c) The PHP Group Zend Engine v3.4.0, Copyright (c) Zend Technologies

PHP hiện đã được cài đặt thành công trên hệ thống của bạn. Tiếp theo, chúng ta cần thực hiện một vài điều chỉnh cho cấu hình mặc định.

Mở tệp cấu hình /etc/php-fpm.d/www.conf bằng vi hoặc trình chỉnh sửa bạn chọn:

vi /etc/php-fpm.d/www.conf

Tìm các giá trị sau và sửa theo đề xuất bên dưới.


user = apache         			user = nginx
group = apache         			group = nginx
listen = 127.0.0.1:9000    ===> 	listen = /var/run/php_fpm.sock
;listen.owner = nobody         		listen.owner = nginx
;listen.group = nobody        		listen.group = nginx
;listen.mode = 0660        		listen.mode = 0660

Save lại và tiến hành khởi động lại PHP-FPM, chạy lệnh:

systemctl restart php-fpm

Bước 4: cấu hình NGINX xử lý các mã nguồn PHP

Chỉnh sửa file default.conf, nếu không có thì tạo mới bằng lệnh:

vi /etc/nginx/conf.d/default.conf

Dán đoạn cấu hình sau vào default.conf và thay server_domain_or_IP bằng IP VPS của bạn.

server {
    listen       80;
    server_name  server_domain_or_IP;

    root   /usr/share/nginx/html;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }
    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;

    location = /50x.html {
        root /usr/share/nginx/html;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/var/run/php_fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

Lưu config và restart lại NGINX:

systemctl restart nginx

Bước 5: Upload website và kiểm tra

Như vậy, sau khi hoàn tất các bước trên bạn đã có cho mình một Web Server NGINX.

Bước tiếp theo bạn chỉ cần upload source web theo đường dẫn /usr/share/nginx/html.

Sau khi upload xong, tiến hành phân quyền cho thư mục, chạy lệnh:

chown -R nginx:nginx /usr/share/nginx/html

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