Cách cài đặt Nginx với PHP và MySQL (LEMP Stack) trên Ubuntu 18.04

theanh

Administrator
Nhân viên
Nginx(phát âm là "engine x") là một máy chủ HTTP miễn phí, mã nguồn mở, hiệu suất cao. Nginx được biết đến với tính ổn định, bộ tính năng phong phú, cấu hình đơn giản và mức tiêu thụ tài nguyên thấp. Hướng dẫn này chỉ cho bạn cách cài đặt Nginx trên máy chủ Ubuntu 18.04 LTS có hỗ trợ PHP 7.2 (thông qua PHP-FPM) và hỗ trợ MySQL (LEMP = Linux + nginx (phát âm là "engine x") + MySQL + PHP).

Điều kiện tiên quyết​

  • Máy chủ Ubuntu 18.04 LTS
  • Quyền root

Chúng ta sẽ làm gì?​

  1. Cài đặt Nginx
  2. Cài đặt MySQL
  3. Cài đặt PHP-FPM
  4. Cấu hình Nginx và PHP-FPM
  5. Cài đặt PhpMyAdmin
  6. Cấu hình PhpMyAdmin
  7. Kiểm tra

Bước 1 - Cài đặt Nginx​

Nginx hay engine x là máy chủ proxy và HTTP hiệu suất cao với mức tiêu thụ bộ nhớ thấp. Hầu hết các trang web quy mô lớn như Netflix, Pinterest, CloudFlare, GitHub đều sử dụng Nginx.

Trong bước này, chúng ta sẽ cài đặt máy chủ web Nginx từ kho lưu trữ Ubuntu.

Chạy lệnh bên dưới.
Mã:
sudo apt install nginx -y
Sau khi cài đặt hoàn tất, hãy khởi động dịch vụ Nginx và cho phép dịch vụ này khởi chạy mỗi khi khởi động hệ thống.
Mã:
systemctl start nginx
systemctl enable nginx
Quá trình cài đặt Nginx đã hoàn tất.

Cấu hình Tường lửa​

Bạn nên bật tường lửa trên máy chủ.

Thêm cổng dịch vụ SSH và HTTP vào cấu hình tường lửa.

Chạy lệnh UFW bên dưới.
Mã:
ufw allow ssh
ufw allow http
Bây giờ hãy khởi động tường lửa UFW và cho phép nó khởi chạy mọi lúc khi khởi động hệ thống.
Mã:
ufw enable
Máy chủ web Nginx đang hoạt động dưới tường lửa UFW.


Bước 2 - Cài đặt MySQL​

MySQL là Hệ thống quản lý cơ sở dữ liệu quan hệ (RDBMS) nguồn mở phổ biến nhất do Oracle Corporation tạo ra. Đây là thành phần trung tâm của LEMP Stack và chúng ta sẽ cài đặt phiên bản MySQL mới nhất từ kho lưu trữ Ubuntu.

Cài đặt MySQL bằng lệnh apt bên dưới.
Mã:
sudo apt install mysql-server mysql-client -y
Sau khi cài đặt MySQL hoàn tất, hãy khởi động dịch vụ MySQL và cho phép nó khởi chạy mọi lúc khi khởi động hệ thống.
Mã:
systemctl start mysql
systemctl enable mysql


Và chúng ta đã cài đặt MySQL 5.7 trên máy chủ Ubuntu 18.04.

Bước 3 - Cài đặt PHP-FPM​

PHP-FPM hay FastCGI Process Manager là một giải pháp thay thế cho PHP FastCGI cũ hơn, cung cấp các tính năng bổ sung và cải thiện tốc độ. Nó phù hợp với các trang web từ nhỏ đến lớn dựa trên ngôn ngữ lập trình PHP.

Trong bước này, chúng ta sẽ cài đặt PHP7.2-FPM với một số tiện ích mở rộng bổ sung mà phpmyadmin yêu cầu.

Cài đặt PHP-FPM bằng lệnh bên dưới.
Mã:
sudo apt install php7.2 php7.2-fpm php7.2-cli php7.2-curl php7.2-mysql php7.2-curl php7.2-gd php7.2-mbstring php-pear -y
Bây giờ hãy khởi động dịch vụ PHP-FPM và cho phép nó khởi chạy mỗi lần khởi động hệ thống sau khi hoàn tất quá trình cài đặt.
Mã:
systemctl start php7.2-fpm
systemctl enable php7.2-fpm
PHP7.2-FPM đã hoạt động trên Ubuntu 18.04 trong tệp sock, hãy kiểm tra bằng lệnh netstat.
Mã:
netstat -pl | grep php

Bước 4 - Cấu hình Nginx và PHP-FPM​

Trong bước này, chúng ta sẽ cấu hình máy chủ web Nginx và PHP-FPM.

Cấu hình Nginx​

Vào thư mục cấu hình '/etc/nginx' và chỉnh sửa tệp 'nginx.conf' bằng vim hoặc nano.
Mã:
cd /etc/nginx/
vim nginx.conf
Bỏ chú thích các dòng sau.
Mã:
keepalive_timeout 2;server_tokens tắt;
Lưu tệp cấu hình và thoát khỏi trình soạn thảo.

Bây giờ hãy chỉnh sửa tệp máy chủ ảo Nginx mặc định.
Mã:
vim sites-available/default
Bỏ chú thích dòng PHP hiển thị bên dưới và thay đổi dòng tệp sock.
Mã:
location ~ \.php$ { include snippets/fastcgi-php.conf; # # # Với php-fpm (hoặc các socket unix khác): fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; # # Với php-cgi (hoặc các socket tcp khác): # fastcgi_pass 127.2.0.1:9000; }
Lưu và thoát.

Kiểm tra cấu hình Nginx và đảm bảo không có lỗi, sau đó khởi động lại dịch vụ.
Mã:
nginx -t
systemctl reload nginx

Cấu hình PHP-FPM​

Đi tới thư mục '/etc/php/7.2' và chỉnh sửa tệp 'php.ini'.
Mã:
cd /etc/php/7.2/
vim fpm/php.ini
Bỏ chú thích dòng 'cgi.fix_patinfo' và đổi giá trị thành '0'.
Mã:
cgi.fix_pathinfo=0
Lưu và thoát.

Tải lại dịch vụ PHP-FPM.
Mã:
systemctl reload php7.2-fpm
Và chúng ta đã hoàn tất cấu hình máy chủ web Nginx và PHP-FPM.

Bước 5 - Cài đặt PhpMyAdmin​

PhpMyAdmin là ứng dụng dựa trên PHP để quản lý cơ sở dữ liệu MySQL hoặc MariaDB từ trình duyệt web.

Trong bước này, chúng ta sẽ cài đặt và cấu hình phpmyadmin theo ngăn xếp LEMP (Linux, Nginx, MySQL và PHP-FPM).

Cài đặt PHPMyAdmin bằng lệnh apt bên dưới.
Mã:
sudo apt install phpmyadmin -y
Trong quá trình cài đặt, nó sẽ hỏi bạn về cấu hình máy chủ web cho phpmyadmin.



Chọn tùy chọn none và di chuyển con trỏ đến 'OK'.

Đối với cấu hình cơ sở dữ liệu phpmyadmin, hãy chọn 'Yes'.



Và nhập lệnh 'STRONG' phpmyadmin admin mới như 'Hakaselabs001@#'.



Nhập lại mật khẩu 'Hakaselabs001@#'.



Và quá trình cài đặt phpmyadmin đã hoàn tất.

Bước 6 - Cấu hình PhpMyAdmin​

Sau khi cài đặt phpmyadmin, chúng ta cần cấu hình phpmyadmin để chạy dưới máy chủ web Nginx và cấu hình quyền truy cập phpmyadmin của người dùng MySQL.

Cấu hình PhpMyAdmin với Nginx​

Để chạy phpmyadmin dưới máy chủ web Nginx, chúng ta cần thêm cấu hình vào tệp cấu hình máy chủ ảo.

Vào thư mục cấu hình '/etc/nginx' và chỉnh sửa tệp máy chủ ảo mặc định.
Mã:
cd /etc/nginx/
vim sites-available/default
Dán Nginxconfiguration sau cho phpmyadmin vào trong dấu ngoặc 'server {...}'.
Mã:
location /phpmyadmin { root /usr/share/; index index.php; try_files $uri $uri/ =404;location ~ ^/phpmyadmin/(doc|sql|setup)/ { deny all; }location ~ /phpmyadmin/(.+\.php)$ { fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; include snippets/fastcgi-php.conf; }}
Lưu và thoát.

Kiểm tra cấu hình nginx và khởi động lại dịch vụ nginx.
Mã:
nginx -t
systemctl reload nginx
Và chúng tôi đã thêm cấu hình Nginx cho phpmyadmin.

Cấu hình người dùng MySQL cho PhpMyAdmin​

Trong hướng dẫn này, chúng tôi sẽ sử dụng người dùng MySQL không phải root cho phpmyadmin. Chúng tôi sẽ tạo một người dùng mới và cấp tất cả các quyền của cơ sở dữ liệu bên trong máy chủ cho người dùng đó.

Đăng nhập vào shell MySQL.
Mã:
mysql -u root -p
Bây giờ hãy tạo một người dùng mới bằng các truy vấn MySQL bên dưới.
Mã:
create user hakase@'localhost' defined by 'Hakaselabs001@#';
grant all privileges on *.* to hakase@'localhost' defined by 'Hakaselabs001@#';
flush privileges;
exit;
Và chúng tôi đã tạo một người dùng mới để truy cập phpmyadmin.


Bước 7 - Kiểm tra​

Kiểm tra các tệp PHP​

Vào thư mục gốc web '/var/www/html' và tạo một phpinfo mới file.
Mã:
cd /var/www/html/
vim info.php
Dán tập lệnh phpinfo bên dưới.
Mã:
Lưu và thoát.

Bây giờ hãy mở trình duyệt web và nhập địa chỉ IP của máy chủ như hiển thị bên dưới. Thay thế IP bằng IP máy chủ của bạn.


Và bên dưới là tất cả thông tin về cấu hình máy chủ PHP.


Kiểm tra Đăng nhập PhpMyAdmin​

Trên trình duyệt web, nhập URL phpmyadmin sau (thay thế IP bằng IP máy chủ của bạn).


Trên trang đăng nhập phpmyadmin, nhập người dùng 'hakase' với mật khẩu 'Hakaselabs001@#' và nhấp vào nút 'Go'.



Bây giờ chúng ta sẽ thấy bảng điều khiển phpmyadmin như bên dưới.



LEMP Stack và PhpMyAdmina đã được cài đặt thành công trên Ubuntu 18.04 LTS.
 
Back
Bên trên