Cài đặt LEMP trên CentOS

Cài đặt LEMP

Bài viết này sẽ hướng dẫn các bạn cài đặt bộ Web Server (cài đặt LEMP) để chạy các source web. LEMP là gì ? Tại sao nó có tên như vậy ? 

LEMP là tên viết tắt của 4 kí tự đầu trong bộ cài đặt bao gồm: Linux, NGINX, MariaDB, PHP. Vậy các bạn có thắc mắc chữ NGINX tại sao là chữ E không, NGINX đọc là “Engine X” nên chữ E được lấy từ đây.

Ngoài ra còn một bộ cài đặt Web Server nữa là LAMP sẽ được tìm hiểu trong một bài viết khác.

>> Cài đặt LAMP trên CentOS: tại đây

Các phần mềm sẽ cài đặt trong bài viết này là:

  • Linux: sử dụng CentOS 7
  • NGINX : web server
  • MariaDB: là phiên bản mã nguồn đóng được tách ra từ mã nguồn mở MySQL. (theo wikipedia )
  • PHP phiên bản 5.6 hoặc 7.3 ( cân nhắc khi sử dụng phiên bản mới nhất) 

Cài đặt LEMP bao gồm các bước sau:

 

1. Chuẩn bị CentOS 7

 

Hãy chắc chắn rằng server CentOS 7 của bạn đang được cập nhật mới nhất, hoặc gõ lệnh sau để cập nhật và cài phần mềm cần thiết:

yum update -y && yum install nano  -y

Cài đặt các Repo cần thiết

  • CentOS 7 EPEL repository
yum install epel-release
  • CentOS 7  Remi repository
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
  • CentOS 7 Nginx repository
rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

 

2. Cài đặt NGINX

 

yum install -y nginx

Chờ một vài phút để server cài đặt NGINX từ repo 

 

3. Cài đặt PHP và Module

 

Enable PHP 7.3 và cài đặt

yum-config-manager --enable remi-php73
yum install -y php php-fpm php-common

Cài đặt module php cần thiết cho web của bạn, chứ không cần phải bắt buộc cài đặt hết:

  • APCu (php-pecl-apc) – APCu userland caching
  • CLI (php-cli) – Command-line interface for PHP
  • PEAR (php-pear) – PHP Extension and Application Repository framework
  • PDO (php-pdo) – A database access abstraction module for PHP applications
  • MySQL (php-mysqlnd) – A module for PHP applications that use MySQL databases
  • Memcache (php-pecl-memcache) – Extension to work with the Memcached caching daemon
  • XML (php-xml) – A module for PHP applications which use XML
  • MBString (php-mbstring) – A module for PHP applications which need multi-byte string handling

Để cài đặt các module trên dùng lệnh sau:

yum install -y php-pecl-apcu php-cli php-pear php-pdo php-mysqlnd php-pecl-memcache php-pecl-memcached php-mbstring

4. Cài đặt MariaDB

Dùng lệnh sau để cài đặt: 

yum install -y mariadb mariadb-server

Start MariaDB và bật khi khởi động:

systemctl start mariadb.service

systemctl enable mariadb.service

Cài đặt ban đầu và cấu hình mật khẩu cho user root MariaDB

mysql_secure_installation

Thực hiện các câu hỏi tiếp theo khi chạy lệnh này:

Enter current password for root (enter for none): Enter

Set root password? [Y/n] y

New password:

Re-enter new password:

Password updated successfully!

Remove anonymous users? [Y/n] y

Disallow root login remotely? [Y/n] y

Remove test database and access to it? [Y/n] y

Reload privilege tables now? [Y/n] y

Thanks for using MariaDB!

 

5. Cấu hình NGINX

 

Mở file config của NGINX để chỉnh sửa cấu hình:

nano /etc/nginx/nginx.conf

Chỉnh worker_processes bằng với số CPU trên server của bạn

Cấu hình nginx virtual hosts

nano /etc/nginx/conf.d/default.conf

Sửa lại nội dung file như sau:

############

server {

    listen       80 default_server;

    server_name example.com;

 

    location / {

        root   /var/www/html;

        index index.php index.html index.htm;

        try_files $uri $uri/ /index.php?q=$uri&$args;

    }

 

    error_page  404     /404.html;

    location = /404.html {

        root   /usr/share/nginx/html;

    }

 

    error_page   500 502 503 504  /50x.html;

    location = /50x.html {

        root   /usr/share/nginx/html;

    }

 

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

    #

    location ~ \.php$ {

        root           /var/www/html;

        fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

        fastcgi_param  SCRIPT_FILENAME   $document_root$fastcgi_script_name;

        include        fastcgi_params;

    }

}

############

 

Lưu lại và restart dịch vụ để áp dụng cấu hình.

systemctl stop nginx.service

systemctl start nginx.service

 

6. Cấu hình PHP-FPM

 

Chỉnh sửa user và group

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

user = nginx

group = nginx

Restart dịch vụ php-fpm

systemctl stop php-fpm.service

systemctl start php-fpm.service

 

7. Cấu hình firewalld

 

Mặc định trên CentOS 7 dịch vụ tường lửa được bật và chỉ mở 1 cổng duy nhất là SSH. Để mở cổng truy cập web (http,https) ta làm như sau:

firewall-cmd --permanent --add-port=80/tcp

firewall-cmd --permanent --add-port=443/tcp

firewall-cmd –reload

 

8. Kiểm tra hoạt động

 

Chạy một file info.php để kiểm tra có Web Server có hoạt động hay không

nano /var/www/html/info.php

Thêm đoạn sau và lưu lại

<?php

phpinfo();

?>

Mở trình duyệt web nhập địa chỉ server như sau: http://<ip-address>/info.php

File info.php này chứa thông tin version  PHP và các module đã cài đặt.

Như vậy là đã hoàn thành việc cài đặt LEMP trên CentOS 7. 

Video hướng dẫn

Tham khảo tài liệu:

https://nginx.org/en/docs/install.html 

https://mariadb.com/kb/en/library/documentation/

https://php.net/manual/en/install.php 

Thông tin khóa học PHP: tại đây


Mọi thắc mắc vui lòng liên hệ:
🌐 Website: https://tel4vn.edu.vn/
🔗 Fanpage: https://www.facebook.com/tel4vn
🏠 Địa chỉ: 82/2/9 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP.HCM
☎️ SĐT: 028 3622 0868
📩 Email: tuyensinh@tel4vn.com

Để lại bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *