Hướng dẫn cài đặt LEMP Stack Server trên CentOS 7
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
OutputLoaded 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
OutputPHP 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.