Làm cách nào để kết nối MySQL với Nginx?

Hướng dẫn này sẽ chỉ cho bạn cách cài đặt LEMP Stack trên Ubuntu 22. 04 máy chủ. Bạn cũng sẽ học cách cài đặt các ứng dụng như phpMyAdmin

điều kiện tiên quyết

  • Một máy chủ chạy Ubuntu 22. 04
  • Người dùng không phải root có đặc quyền sudo
  • Tường lửa không biến chứng (UFW) được bật và đang chạy
  • Mọi thứ đều được cập nhật

    $ sudo apt update && sudo apt upgrade
    

Bước 1 - Định cấu hình Tường lửa

Bước đầu tiên trước khi cài đặt bất kỳ gói nào là định cấu hình tường lửa để cho phép kết nối HTTP và HTTPS

Kiểm tra trạng thái của tường lửa

$ sudo ufw status

Bạn sẽ thấy một cái gì đó như sau

Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)

Cho phép cổng HTTP và HTTPs

$ sudo ufw allow http
$ sudo ufw allow https

Kiểm tra lại trạng thái để xác nhận

$ sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
80/tcp                     ALLOW       Anywhere
443/tcp                    ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
80/tcp (v6)                ALLOW       Anywhere (v6)
443/tcp (v6)               ALLOW       Anywhere (v6)

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

Ubuntu 22. 04 tàu PHP 8. 1 theo mặc định. Bạn có thể cài đặt nó bằng cách chạy lệnh sau

$ sudo apt install php-fpm php-cli php-mysqlnd php-mbstring php-xml php-gd

Chúng tôi đã cài đặt các phần mở rộng MySQL, CLI, GD, Mbstring và XML của PHP. Bạn có thể cài đặt bất kỳ tiện ích mở rộng bổ sung nào theo yêu cầu của mình

Để luôn cập nhật phiên bản PHP mới nhất hoặc nếu bạn muốn cài đặt nhiều phiên bản PHP, hãy thêm kho lưu trữ PHP của Ondrej

Thêm kho lưu trữ PHP của Ondrej

$ sudo add-apt-repository ppa:ondrej/php

Bây giờ, bạn có thể cài đặt bất kỳ phiên bản PHP nào

$ sudo apt install php8.0-fpm php8.0-cli

Kiểm tra phiên bản PHP đã cài đặt

________số 8_______

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

Ubuntu 22. 04 xuất xưởng với phiên bản MySQL mới nhất. Bạn có thể cài đặt nó bằng một lệnh duy nhất

$ sudo apt install mysql-server

Kiểm tra phiên bản MySQL

$ sudo ufw status
0

Bước này là cần thiết cho MySQL phiên bản 8. 0. 28 trở lên. Nhập vỏ MySQL

$ sudo ufw status
1

Chạy lệnh sau để đặt mật khẩu cho người dùng root của bạn. Đảm bảo rằng nó có kết hợp các số, chữ hoa, chữ thường và ký tự đặc biệt

$ sudo ufw status
2

Thoát khỏi vỏ

$ sudo ufw status
3

Chạy tập lệnh cài đặt bảo mật MySQL

$ sudo ufw status
4

Bạn sẽ được yêu cầu cài đặt Thành phần xác thực mật khẩu. Nó kiểm tra độ mạnh của mật khẩu được sử dụng trong MySQL. Nhấn Y để cài đặt nó. Quảng cáo

Tiếp theo, bạn sẽ được yêu cầu đặt cấp chính sách xác thực mật khẩu. Chọn 2 vì nó mạnh nhất

Tiếp theo, nhập mật khẩu gốc của bạn. Nhấn N để từ chối thay đổi

Nhấn Y để xóa người dùng ẩn danh, không cho phép đăng nhập root từ xa, xóa cơ sở dữ liệu kiểm tra và tải lại các bảng đặc quyền

Bước 4 - Định cấu hình MySQL

Đăng nhập vào vỏ MySQL. Nhập mật khẩu gốc của bạn khi được nhắc

$ sudo ufw status
5

Tạo cơ sở dữ liệu mẫu

$ sudo ufw status
6

Tạo tài khoản người dùng SQL

$ sudo ufw status
7

Cấp tất cả các đặc quyền trên cơ sở dữ liệu cho người dùng

$ sudo ufw status
8

Xóa đặc quyền người dùng

$ sudo ufw status
9

Thoát khỏi vỏ

$ sudo ufw status
3

Hãy để chúng tôi đăng nhập lại vào vỏ MySQL bằng người dùng mới được tạo

Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
1

Tạo một bảng kiểm tra

Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
2

Chèn dữ liệu thử nghiệm

Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
3

Lặp lại lệnh trên nhiều lần riêng biệt để thêm nhiều mục hơn. Chạy lệnh sau để kiểm tra nội dung của bảng

Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
4

Bạn sẽ nhận được đầu ra sau

Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
5

Thoát khỏi vỏ MySQL

$ sudo ufw status
3

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

Ubuntu 22. 04 tàu với phiên bản Nginx cũ hơn. Để cài đặt phiên bản mới nhất, bạn cần tải xuống kho Nginx chính thức

Nhập khóa ký của Nginx

Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
7

Thêm kho lưu trữ cho phiên bản ổn định của Nginx

Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
8

Cập nhật kho hệ thống

Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
9

Cài đặt Nginx

$ sudo ufw allow http
$ sudo ufw allow https
0

Xác minh cài đặt

$ sudo ufw allow http
$ sudo ufw allow https
1

Bước 6 - Định cấu hình PHP-FPM

Mở

$ sudo add-apt-repository ppa:ondrej/php
9 để chỉnh sửa

$ sudo ufw allow http
$ sudo ufw allow https
2

Để đặt kích thước tệp tải lên, hãy thay đổi giá trị của các biến

$ sudo apt install php8.0-fpm php8.0-cli
0 và
$ sudo apt install php8.0-fpm php8.0-cli
1

$ sudo ufw allow http
$ sudo ufw allow https
3

Định cấu hình giới hạn bộ nhớ của PHP tùy thuộc vào yêu cầu và tài nguyên máy chủ của bạn

$ sudo ufw allow http
$ sudo ufw allow https
4

Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc

Mở tệp

$ sudo apt install php8.0-fpm php8.0-cli
2

$ sudo ufw allow http
$ sudo ufw allow https
5

Chúng ta cần đặt người dùng/nhóm quy trình PHP của Unix thành nginx. Tìm các dòng

$ sudo apt install php8.0-fpm php8.0-cli
3 và
$ sudo apt install php8.0-fpm php8.0-cli
4 trong tệp và thay đổi chúng thành
$ sudo apt install php8.0-fpm php8.0-cli
5

$ sudo ufw allow http
$ sudo ufw allow https
6

Ngoài ra, hãy tìm các dòng

$ sudo apt install php8.0-fpm php8.0-cli
6 và
$ sudo apt install php8.0-fpm php8.0-cli
7 trong tệp và đổi chúng thành
$ sudo apt install php8.0-fpm php8.0-cli
5

$ sudo ufw allow http
$ sudo ufw allow https
7

Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc

Khởi động lại quy trình PHP-fpm

$ sudo ufw allow http
$ sudo ufw allow https
8

Bước 7 - Cài đặt phpMyAdmin

Tải xuống tệp lưu trữ của phpMyAdmin cho ngôn ngữ tiếng Anh

$ sudo ufw allow http
$ sudo ufw allow https
9

Tạo một thư mục công cộng cho trang web

$ sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
80/tcp                     ALLOW       Anywhere
443/tcp                    ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
80/tcp (v6)                ALLOW       Anywhere (v6)
443/tcp (v6)               ALLOW       Anywhere (v6)
0

Trích xuất kho lưu trữ vào thư mục chung

$ sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
80/tcp                     ALLOW       Anywhere
443/tcp                    ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
80/tcp (v6)                ALLOW       Anywhere (v6)
443/tcp (v6)               ALLOW       Anywhere (v6)
1

Chuyển sang thư mục chung

$ sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
80/tcp                     ALLOW       Anywhere
443/tcp                    ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
80/tcp (v6)                ALLOW       Anywhere (v6)
443/tcp (v6)               ALLOW       Anywhere (v6)
2

Đổi tên thư mục giải nén thành một cái gì đó khó hiểu để cải thiện bảo mật

$ sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
80/tcp                     ALLOW       Anywhere
443/tcp                    ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
80/tcp (v6)                ALLOW       Anywhere (v6)
443/tcp (v6)               ALLOW       Anywhere (v6)
3

Bước 8 - Cấu hình phpMyAdmin

Sao chép tập tin cấu hình mẫu

$ sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
80/tcp                     ALLOW       Anywhere
443/tcp                    ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
80/tcp (v6)                ALLOW       Anywhere (v6)
443/tcp (v6)               ALLOW       Anywhere (v6)
4

Mở tệp cấu hình để chỉnh sửa

$ sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
80/tcp                     ALLOW       Anywhere
443/tcp                    ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
80/tcp (v6)                ALLOW       Anywhere (v6)
443/tcp (v6)               ALLOW       Anywhere (v6)
5

Tìm dòng

$ sudo apt install php8.0-fpm php8.0-cli
9 và nhập chuỗi ngẫu nhiên gồm 32 ký tự để xác thực dựa trên cookie

Bạn có thể sử dụng trình tạo blowfish trực tuyến của phpSolved hoặc thực hiện thông qua dòng lệnh

Sao chép giá trị và dán nó như được hiển thị

$ sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
80/tcp                     ALLOW       Anywhere
443/tcp                    ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
80/tcp (v6)                ALLOW       Anywhere (v6)
443/tcp (v6)               ALLOW       Anywhere (v6)
6

Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc

Thay đổi quyền sở hữu trang web và phpMyAdmin thành máy chủ Nginx

$ sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
80/tcp                     ALLOW       Anywhere
443/tcp                    ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
80/tcp (v6)                ALLOW       Anywhere (v6)
443/tcp (v6)               ALLOW       Anywhere (v6)
7

Xóa thư mục cài đặt của phpMyAdmin

$ sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
80/tcp                     ALLOW       Anywhere
443/tcp                    ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
80/tcp (v6)                ALLOW       Anywhere (v6)
443/tcp (v6)               ALLOW       Anywhere (v6)
8

Bước 9 - Định cấu hình Opcache

Opcache là hệ thống bộ nhớ đệm của PHP. Nó hoạt động bằng cách lưu mã byte của tập lệnh được biên dịch sẵn vào bộ nhớ, vì vậy mỗi khi người dùng truy cập một trang, nó sẽ tải nhanh hơn. Opcache được cài đặt theo mặc định. Để xác minh, hãy kiểm tra phiên bản PHP

________số 8_______

Điều này cho chúng tôi biết rằng Opcache đã được cài đặt và khả dụng. Trong trường hợp nó không hiển thị ở đây, bạn có thể cài đặt thủ công bằng cách chạy lệnh sau

$ sudo apt install php-fpm php-cli php-mysqlnd php-mbstring php-xml php-gd
0

Để thay đổi cài đặt Opcache, hãy mở tệp

$ php --version
PHP 8.1.2 (cli) (built: Jun 13 2022 13:52:54) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.2, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.2, Copyright (c), by Zend Technologies
0 để chỉnh sửa

$ sudo apt install php-fpm php-cli php-mysqlnd php-mbstring php-xml php-gd
1

Các cài đặt sau sẽ giúp bạn bắt đầu sử dụng Opcache và thường được khuyến nghị để có hiệu suất tốt. Bạn có thể bật cấu hình bằng cách bỏ ghi chú bằng cách xóa dấu chấm phẩy phía trước cấu hình đó

$ sudo apt install php-fpm php-cli php-mysqlnd php-mbstring php-xml php-gd
2

Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc

Bước 10 - Cài đặt Certbot cho SSL

Chúng ta cần cài đặt Certbot để tạo chứng chỉ SSL miễn phí do Let's Encrypt cung cấp

Bạn có thể cài đặt Certbot bằng kho lưu trữ của Ubuntu hoặc lấy phiên bản mới nhất bằng công cụ Snapd. Chúng tôi sẽ sử dụng phiên bản Snapd

Ubuntu 22. 04 đi kèm với Snapd được cài đặt theo mặc định. Chạy các lệnh sau để đảm bảo rằng phiên bản Snapd của bạn được cập nhật

$ sudo apt install php-fpm php-cli php-mysqlnd php-mbstring php-xml php-gd
3

Cài đặt Certbot

$ sudo apt install php-fpm php-cli php-mysqlnd php-mbstring php-xml php-gd
4

Sử dụng lệnh sau để đảm bảo rằng lệnh Certbot có thể chạy được bằng cách tạo một liên kết tượng trưng đến thư mục

$ php --version
PHP 8.1.2 (cli) (built: Jun 13 2022 13:52:54) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.2, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.2, Copyright (c), by Zend Technologies
1

$ sudo apt install php-fpm php-cli php-mysqlnd php-mbstring php-xml php-gd
5

Bước 11 - Kiểm tra trang demo

Tạo trang web

Tạo và mở một trang thử nghiệm để chỉnh sửa

$ sudo apt install php-fpm php-cli php-mysqlnd php-mbstring php-xml php-gd
6

Dán đoạn mã sau vào đó

$ sudo apt install php-fpm php-cli php-mysqlnd php-mbstring php-xml php-gd
7

Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc

Tạo chứng chỉ SSL

Chạy lệnh sau để tạo Chứng chỉ SSL

$ sudo apt install php-fpm php-cli php-mysqlnd php-mbstring php-xml php-gd
8

Lệnh trên sẽ tải chứng chỉ xuống thư mục

$ php --version
PHP 8.1.2 (cli) (built: Jun 13 2022 13:52:54) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.2, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.2, Copyright (c), by Zend Technologies
2 trên máy chủ của bạn

Tạo chứng chỉ nhóm Diffie-Hellman

$ sudo apt install php-fpm php-cli php-mysqlnd php-mbstring php-xml php-gd
9

Mở tệp

$ php --version
PHP 8.1.2 (cli) (built: Jun 13 2022 13:52:54) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.2, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.2, Copyright (c), by Zend Technologies
3 để chỉnh sửa

$ sudo add-apt-repository ppa:ondrej/php
0

Dán đoạn mã sau vào dưới cùng

$ sudo add-apt-repository ppa:ondrej/php
1

Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc

Chúng tôi đã tạo chứng chỉ SSL bằng tùy chọn độc lập của Certbot. Nó chạy máy chủ web của nó để tạo chứng chỉ, điều đó có nghĩa là Nginx sẽ bị tắt trong quá trình gia hạn. Các lệnh pre_hook và post_hook chạy trước và sau khi gia hạn để tự động tắt và khởi động lại máy chủ Nginx do đó không cần can thiệp thủ công

Để kiểm tra xem việc gia hạn SSL có hoạt động tốt hay không, hãy chạy thử quy trình

$ sudo add-apt-repository ppa:ondrej/php
2

Nếu bạn không thấy lỗi, bạn đã hoàn tất. Chứng chỉ của bạn sẽ tự động gia hạn

Định cấu hình Nginx

Tạo và mở tệp

$ php --version
PHP 8.1.2 (cli) (built: Jun 13 2022 13:52:54) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.2, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.2, Copyright (c), by Zend Technologies
4 để chỉnh sửa

$ sudo add-apt-repository ppa:ondrej/php
3

Dán đoạn mã sau vào đó

$ sudo add-apt-repository ppa:ondrej/php
4

Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc

Mở tệp

$ php --version
PHP 8.1.2 (cli) (built: Jun 13 2022 13:52:54) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.2, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.2, Copyright (c), by Zend Technologies
5 để chỉnh sửa

$ sudo add-apt-repository ppa:ondrej/php
5

Thêm dòng sau vào trước dòng

$ php --version
PHP 8.1.2 (cli) (built: Jun 13 2022 13:52:54) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.2, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.2, Copyright (c), by Zend Technologies
6

$ sudo add-apt-repository ppa:ondrej/php
6

Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc

Xác minh cấu hình Nginx của bạn

$ sudo add-apt-repository ppa:ondrej/php
7

Nếu bạn không thấy lỗi nào, điều đó có nghĩa là bạn đã sẵn sàng. Khởi động máy chủ Nginx

$ sudo add-apt-repository ppa:ondrej/php
8

Tải trang web của bạn bằng cách truy cập

$ php --version
PHP 8.1.2 (cli) (built: Jun 13 2022 13:52:54) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.2, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.2, Copyright (c), by Zend Technologies
7 trong trình duyệt của bạn và bạn sẽ thấy trang sau

LEMP Test Site Output

Bạn có thể truy cập cài đặt phpMyAdmin của mình bằng cách truy cập URL

$ php --version
PHP 8.1.2 (cli) (built: Jun 13 2022 13:52:54) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.2, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.2, Copyright (c), by Zend Technologies
8 trong trình duyệt của bạn. Bạn có thể nhập người dùng root của mình hoặc người dùng đã tạo trước đó để đăng nhập

Phần kết luận

Điều này kết thúc hướng dẫn của chúng tôi, nơi bạn đã học cách thiết lập ngăn xếp LEMP trên Ubuntu 22. 04 máy chủ và tạo một trang web demo. Nếu bạn có bất kỳ câu hỏi nào, hãy gửi chúng trong phần bình luận bên dưới

Làm cách nào để sử dụng Nginx với MySQL?

điều kiện tiên quyết
Bước 1. Cài đặt máy chủ web Nginx
Bước 2. Cài đặt MySQL để quản lý dữ liệu trang web
Bước 3. Cài đặt PHP để xử lý
Bước 4. Định cấu hình Nginx để sử dụng Bộ xử lý PHP
Bước 5. Tạo một tệp PHP để kiểm tra cấu hình
Phần kết luận

Nginx có hỗ trợ MySQL không?

Trong môi trường này NGINX Plus hoạt động như một proxy ngược cho máy chủ cơ sở dữ liệu, lắng nghe trên cổng MySQL mặc định là 3306 . Điều này cung cấp một giao diện đơn giản cho máy khách, trong khi các nút MySQL phụ trợ có thể được thu nhỏ (và thậm chí ngoại tuyến) mà không ảnh hưởng đến máy khách theo bất kỳ cách nào.

Làm cách nào để cài đặt MySQL trong nginx?

Hãy bắt đầu. .
Bước 1. Định cấu hình máy chủ của bạn với Ubuntu 20. 04. .
Bước 2. Cài đặt và cấu hình máy chủ Nginx. .
Bước 3. Cài đặt hệ quản trị cơ sở dữ liệu MySQL. .
Bước 4. Cài đặt PHP và Thiết lập Nginx để Sử dụng Bộ xử lý PHP. .
Bước 5. Tạo tệp PHP để kiểm tra ngăn xếp LEMP của bạn

Nginx và MySQL là gì?

MySQL là hệ quản trị cơ sở dữ liệu quan hệ dựa trên SQL. NGINX là máy chủ web nguồn mở và máy chủ proxy ngược được xây dựng cho web hiện đại .