Hướng dẫn install php 7.3 ubuntu 20.04 nginx - cài đặt php 7.3 ubuntu 20.04 nginx

Giới thiệu

Stack phần mềm LEMP là một nhóm phần mềm có thể được sử dụng để phục vụ các trang web động và các ứng dụng web được viết bằng PHP. Đây là một từ viết tắt mô tả một hệ điều hành Linux, với máy chủ web NGINX (được phát âm như động cơ của động cơ X-X). Dữ liệu phụ trợ được lưu trữ trong cơ sở dữ liệu MySQL và xử lý động được xử lý bởi PHP.Linux operating system, with an Nginx (pronounced like “Engine-X”) web server. The backend data is stored in the MySQL database and the dynamic processing is handled by PHP.

Hướng dẫn này trình bày cách cài đặt ngăn xếp LEMP trên máy chủ Ubuntu 20.04. Hệ điều hành Ubuntu quan tâm đến yêu cầu đầu tiên. Chúng tôi sẽ mô tả cách đưa phần còn lại của các thành phần lên và chạy.

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

Để hoàn thành hướng dẫn này, bạn sẽ cần truy cập vào máy chủ Ubuntu 20.04 dưới dạng người dùng thông thường, không root

Output

Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere Nginx HTTP ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Nginx HTTP (v6) ALLOW Anywhere (v6)
0 và tường lửa được bật trên máy chủ của bạn. Để thiết lập điều này, bạn có thể làm theo hướng dẫn thiết lập máy chủ ban đầu của chúng tôi cho Ubuntu 20.04.

Bước 1 - Cài đặt máy chủ web nginx

Để hiển thị các trang web cho khách truy cập trang web của chúng tôi, chúng tôi sẽ sử dụng Nginx, một máy chủ web hiệu suất cao. Chúng tôi sẽ sử dụng Trình quản lý gói

Output

Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere Nginx HTTP ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Nginx HTTP (v6) ALLOW Anywhere (v6)
1 để có được phần mềm này.

Vì đây là lần đầu tiên chúng tôi sử dụng

Output

Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere Nginx HTTP ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Nginx HTTP (v6) ALLOW Anywhere (v6)
1 cho phiên này, hãy bắt đầu bằng cách cập nhật chỉ mục gói máy chủ của bạn. Theo đó, bạn có thể sử dụng

Output

Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere Nginx HTTP ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Nginx HTTP (v6) ALLOW Anywhere (v6)
3 để cài đặt Nginx:

  1. sudo apt update
  2. sudo apt install nginx

Khi được nhắc, nhập

Output

Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere Nginx HTTP ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Nginx HTTP (v6) ALLOW Anywhere (v6)
4 để xác nhận rằng bạn muốn cài đặt Nginx. Sau khi cài đặt kết thúc, máy chủ web nginx sẽ hoạt động và chạy trên máy chủ Ubuntu 20.04 của bạn.

Nếu bạn đã bật tường lửa

Output

Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere Nginx HTTP ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Nginx HTTP (v6) ALLOW Anywhere (v6)
5, như được đề xuất trong Hướng dẫn thiết lập máy chủ ban đầu của chúng tôi, bạn sẽ cần cho phép kết nối với NGINX. Nginx đăng ký một vài hồ sơ ứng dụng UFW khác nhau khi cài đặt. Để kiểm tra cấu hình UFW nào có sẵn, hãy chạy:

  1. sudo ufw app list

Output

Available applications: Nginx Full Nginx HTTP Nginx HTTPS OpenSSH

Bạn nên bật hồ sơ hạn chế nhất vẫn cho phép lưu lượng truy cập bạn cần. Vì bạn đã định cấu hình SSL cho máy chủ của mình trong hướng dẫn này, bạn sẽ chỉ cần cho phép lưu lượng HTTP thông thường trên cổng

Output

Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere Nginx HTTP ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Nginx HTTP (v6) ALLOW Anywhere (v6)
6.

Bật này bằng cách gõ:

  1. sudo ufw allow 'Nginx HTTP'

Bạn có thể xác minh thay đổi bằng cách chạy:

  1. sudo ufw status

Lệnh đầu ra này sẽ cho thấy lưu lượng HTTP hiện được cho phép:

Output

Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere Nginx HTTP ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Nginx HTTP (v6) ALLOW Anywhere (v6)

Với quy tắc tường lửa mới được thêm vào, bạn có thể kiểm tra xem máy chủ có hoạt động và chạy bằng cách truy cập tên miền máy chủ hoặc địa chỉ IP công khai trong trình duyệt web của bạn.

Nếu bạn không có tên miền được trỏ vào máy chủ của mình và bạn không biết địa chỉ IP công khai máy chủ của bạn, bạn có thể tìm thấy nó bằng cách chạy lệnh sau:

  1. ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'

Điều này sẽ in ra một vài địa chỉ IP. Bạn có thể thử lần lượt từng người trong số họ trong trình duyệt web của bạn.

Thay vào đó, bạn có thể kiểm tra địa chỉ IP nào có thể truy cập được, như được xem từ các vị trí khác trên Internet:

  1. curl -4 icanhazip.com

Nhập địa chỉ mà bạn nhận được trong trình duyệt web của mình và nó sẽ đưa bạn đến trang đích mặc định của Nginx,:

http://server_domain_or_IP

Hướng dẫn install php 7.3 ubuntu 20.04 nginx - cài đặt php 7.3 ubuntu 20.04 nginx

Nếu bạn thấy trang này, điều đó có nghĩa là bạn đã cài đặt thành công nginx và bật lưu lượng HTTP cho máy chủ web của mình.

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

Bây giờ bạn đã có một máy chủ web và đang chạy, bạn cần cài đặt hệ thống cơ sở dữ liệu để có thể lưu trữ và quản lý dữ liệu cho trang web của bạn. MySQL là một hệ thống quản lý cơ sở dữ liệu phổ biến được sử dụng trong môi trường PHP.

Một lần nữa, hãy sử dụng

Output

Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere Nginx HTTP ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Nginx HTTP (v6) ALLOW Anywhere (v6)
1 để có được và cài đặt phần mềm này:

  1. sudo apt install mysql-server

Khi được nhắc, xác nhận cài đặt bằng cách nhập

Output

Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere Nginx HTTP ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Nginx HTTP (v6) ALLOW Anywhere (v6)
4, và sau đó

Output

Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere Nginx HTTP ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Nginx HTTP (v6) ALLOW Anywhere (v6)
9.

Khi cài đặt kết thúc, nó khuyến nghị bạn nên chạy một tập lệnh bảo mật được cài đặt sẵn với MySQL. Tập lệnh này sẽ xóa một số cài đặt mặc định không an toàn và khóa truy cập vào hệ thống cơ sở dữ liệu của bạn. Bắt đầu tập lệnh tương tác bằng cách chạy:

  1. sudo ufw app list
0

Điều này sẽ hỏi nếu bạn muốn định cấu hình

  1. ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'
0.

Lưu ý: Kích hoạt tính năng này là một cái gì đó của một cuộc gọi phán xét. Nếu được bật, mật khẩu không phù hợp với các tiêu chí được chỉ định sẽ bị MySQL từ chối với lỗi. Có thể để lại xác thực, nhưng bạn phải luôn sử dụng mật khẩu mạnh mẽ, duy nhất cho thông tin xác thực cơ sở dữ liệu. Enabling this feature is something of a judgment call. If enabled, passwords which don’t match the specified criteria will be rejected by MySQL with an error. It is safe to leave validation disabled, but you should always use strong, unique passwords for database credentials.

Trả lời

Output

Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere Nginx HTTP ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Nginx HTTP (v6) ALLOW Anywhere (v6)
4 cho Có, hoặc bất cứ điều gì khác để tiếp tục mà không cho phép.

  1. sudo ufw app list
1

Nếu bạn trả lời, có, bạn sẽ được yêu cầu chọn mức xác thực mật khẩu. Hãy nhớ rằng nếu bạn nhập

  1. ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'
2 cho cấp độ mạnh nhất, bạn sẽ nhận được lỗi khi cố gắng đặt bất kỳ mật khẩu nào không chứa số, chữ trên và chữ thường và các ký tự đặc biệt hoặc dựa trên các từ từ điển phổ biến.

  1. sudo ufw app list
2

Bất kể bạn có chọn thiết lập

  1. ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'
0 hay không, máy chủ của bạn tiếp theo sẽ yêu cầu bạn chọn và xác nhận mật khẩu cho người dùng gốc MySQL. Điều này không được nhầm lẫn với root hệ thống. Người dùng gốc cơ sở dữ liệu là người dùng quản trị với toàn bộ đặc quyền đối với hệ thống cơ sở dữ liệu. Mặc dù phương thức xác thực mặc định cho người dùng gốc MySQL phân phối việc sử dụng mật khẩu, ngay cả khi được đặt, bạn nên xác định mật khẩu mạnh ở đây là biện pháp an toàn bổ sung. Chúng tôi sẽ nói về điều này trong một khoảnh khắc.root user. This is not to be confused with the system root. The database root user is an administrative user with full privileges over the database system. Even though the default authentication method for the MySQL root user dispenses the use of a password, even when one is set, you should define a strong password here as an additional safety measure. We’ll talk about this in a moment.

Nếu bạn đã bật xác thực mật khẩu, bạn sẽ được hiển thị cường độ mật khẩu cho mật khẩu gốc bạn vừa nhập và máy chủ của bạn sẽ hỏi bạn có muốn tiếp tục với mật khẩu đó không. Nếu bạn hài lòng với mật khẩu hiện tại của mình, hãy nhập

Output

Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere Nginx HTTP ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Nginx HTTP (v6) ALLOW Anywhere (v6)
4 để có được có tại đó tại dấu nhắc:

  1. sudo ufw app list
3

Đối với phần còn lại của các câu hỏi, nhấn

Output

Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere Nginx HTTP ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Nginx HTTP (v6) ALLOW Anywhere (v6)
4 và nhấn phím

Output

Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere Nginx HTTP ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Nginx HTTP (v6) ALLOW Anywhere (v6)
9 tại mỗi lời nhắc. Điều này sẽ loại bỏ một số người dùng ẩn danh và cơ sở dữ liệu thử nghiệm, vô hiệu hóa đăng nhập từ xa và tải các quy tắc mới này để MySQL ngay lập tức tôn trọng các thay đổi bạn đã thực hiện.

Khi bạn hoàn thành, hãy kiểm tra xem bạn có thể đăng nhập vào bảng điều khiển MySQL bằng cách nhập:

  1. sudo ufw app list
4

Điều này sẽ kết nối với máy chủ MySQL với tư cách là người dùng cơ sở dữ liệu quản trị, được suy ra bằng cách sử dụng

Output

Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere Nginx HTTP ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Nginx HTTP (v6) ALLOW Anywhere (v6)
0 khi chạy lệnh này. Bạn sẽ thấy đầu ra như thế này:root, which is inferred by the use of

Output

Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere Nginx HTTP ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Nginx HTTP (v6) ALLOW Anywhere (v6)
0 when running this command. You should see output like this:

  1. sudo ufw app list
5

Để thoát khỏi bảng điều khiển MySQL, loại:

  1. sudo ufw app list
6

Lưu ý rằng bạn đã không cần cung cấp mật khẩu để kết nối với tư cách là người dùng gốc, mặc dù bạn đã định nghĩa một khi chạy tập lệnh

  1. ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'
8. Đó là do phương thức xác thực mặc định cho người dùng MySQL quản trị là
  1. ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'
9 thay vì
  1. curl -4 icanhazip.com
0. Mặc dù ban đầu điều này có thể trông giống như một mối quan tâm bảo mật, nhưng nó làm cho máy chủ cơ sở dữ liệu an toàn hơn vì người dùng duy nhất được phép đăng nhập vì người dùng MySQL gốc là người dùng hệ thống có đặc quyền sudo kết nối từ bảng điều khiển hoặc thông qua ứng dụng chạy với cùng một đặc quyền. Trong các thuật ngữ thực tế, điều đó có nghĩa là bạn đã thắng được có thể sử dụng người dùng gốc cơ sở dữ liệu quản trị để kết nối từ ứng dụng PHP của mình. Đặt mật khẩu cho tài khoản MySQL gốc hoạt động như một biện pháp bảo vệ, trong trường hợp phương thức xác thực mặc định được thay đổi từ
  1. ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'
9 thành
  1. curl -4 icanhazip.com
0.root user, even though you have defined one when running the
  1. ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'
8 script. That is because the default authentication method for the administrative MySQL user is
  1. ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'
9 instead of
  1. curl -4 icanhazip.com
0. Even though this might look like a security concern at first, it makes the database server more secure because the only users allowed to log in as the root MySQL user are the system users with sudo privileges connecting from the console or through an application running with the same privileges. In practical terms, that means you won’t be able to use the administrative database root user to connect from your PHP application. Setting a password for the root MySQL account works as a safeguard, in case the default authentication method is changed from
  1. ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'
9 to
  1. curl -4 icanhazip.com
0.

Để tăng cường bảo mật, tốt nhất là có tài khoản người dùng chuyên dụng với các đặc quyền ít mở rộng hơn được thiết lập cho mọi cơ sở dữ liệu, đặc biệt nếu bạn có kế hoạch có nhiều cơ sở dữ liệu được lưu trữ trên máy chủ của bạn.

Lưu ý: Tại thời điểm viết bài này, Thư viện PHP MySQL bản địa

  1. curl -4 icanhazip.com
3 không hỗ trợ
  1. curl -4 icanhazip.com
4, phương thức xác thực mặc định cho MySQL 8. Vì lý do đó, khi tạo người dùng cơ sở dữ liệu cho các ứng dụng PHP trên MySQL 8, bạn sẽ cần thực hiện Chắc chắn chúng được cấu hình để sử dụng
  1. curl -4 icanhazip.com
5 thay thế. Chúng tôi sẽ trình bày cách làm điều đó trong bước 6.
At the time of this writing, the native MySQL PHP library
  1. curl -4 icanhazip.com
3 doesn’t support
  1. curl -4 icanhazip.com
4, the default authentication method for MySQL 8. For that reason, when creating database users for PHP applications on MySQL 8, you’ll need to make sure they’re configured to use
  1. curl -4 icanhazip.com
5 instead. We’ll demonstrate how to do that in Step 6.

Máy chủ MySQL của bạn hiện đã được cài đặt và bảo mật. Tiếp theo, chúng tôi sẽ cài đặt PHP, thành phần cuối cùng trong ngăn xếp LEMP.

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

Bạn đã cài đặt Nginx để phục vụ nội dung của bạn và MySQL được cài đặt để lưu trữ và quản lý dữ liệu của bạn. Bây giờ bạn có thể cài đặt PHP để xử lý mã và tạo nội dung động cho máy chủ web.

Trong khi Apache nhúng trình thông dịch PHP trong mỗi yêu cầu, NGINX yêu cầu một chương trình bên ngoài để xử lý việc xử lý PHP và hoạt động như một cầu nối giữa chính trình thông dịch PHP và máy chủ web. Điều này cho phép hiệu suất tổng thể tốt hơn trong hầu hết các trang web dựa trên PHP, nhưng nó yêu cầu cấu hình bổ sung. Bạn cần phải cài đặt

  1. curl -4 icanhazip.com
6, viết tắt của Trình quản lý quy trình FastCGI của Php, và nói với Nginx chuyển các yêu cầu PHP cho phần mềm này để xử lý. Ngoài ra, bạn sẽ cần
  1. curl -4 icanhazip.com
7, một mô-đun PHP cho phép PHP giao tiếp với cơ sở dữ liệu dựa trên MySQL. Các gói php cốt lõi sẽ tự động được cài đặt dưới dạng phụ thuộc.

Để cài đặt các gói

  1. curl -4 icanhazip.com
6 và
  1. curl -4 icanhazip.com
7, hãy chạy:

  1. sudo ufw app list
7

Khi được nhắc, nhập

Output

Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere Nginx HTTP ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Nginx HTTP (v6) ALLOW Anywhere (v6)
4 và

Output

Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere Nginx HTTP ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Nginx HTTP (v6) ALLOW Anywhere (v6)
9 để xác nhận cài đặt.

Bây giờ bạn đã cài đặt các thành phần PHP của bạn. Tiếp theo, bạn sẽ định cấu hình Nginx để sử dụng chúng.

Bước 4 - Định cấu hình NGINX để sử dụng bộ xử lý PHP

Khi sử dụng máy chủ web nginx, chúng ta có thể tạo các khối máy chủ (tương tự như máy chủ ảo trong Apache) để gói gọn chi tiết cấu hình và lưu trữ nhiều tên miền trên một máy chủ. Trong hướng dẫn này, chúng tôi sẽ sử dụng của bạn_Domain làm tên miền ví dụ. Để tìm hiểu thêm về việc thiết lập một tên miền với DigitalOcean, hãy xem phần giới thiệu của chúng tôi về DigitalOcean DNS.your_domain as an example domain name. To learn more about setting up a domain name with DigitalOcean, see our introduction to DigitalOcean DNS.

Trên Ubuntu 20.04, Nginx có một khối máy chủ được bật theo mặc định và được cấu hình để phục vụ tài liệu ra khỏi thư mục tại

http://server_domain_or_IP
2. Mặc dù điều này hoạt động tốt cho một trang web, nhưng nó có thể trở nên khó quản lý nếu bạn đang lưu trữ nhiều trang web. Thay vì sửa đổi
http://server_domain_or_IP
2, chúng tôi sẽ tạo một cấu trúc thư mục trong
http://server_domain_or_IP
4 cho trang web your_domain, để lại
http://server_domain_or_IP
2 làm thư mục mặc định được phục vụ nếu yêu cầu của khách hàng không phù hợp với bất kỳ trang web nào khác.your_domain website, leaving
http://server_domain_or_IP
2 in place as the default directory to be served if a client request doesn’t match any other sites.

Tạo thư mục web gốc cho your_domain như sau:your_domain as follows:

  1. sudo ufw app list
8

Tiếp theo, gán quyền sở hữu thư mục với biến môi trường người dùng $, sẽ tham chiếu người dùng hệ thống hiện tại của bạn:

  1. sudo ufw app list
9

Sau đó, mở một tệp cấu hình mới trong thư mục Nginx,

http://server_domain_or_IP
6 bằng trình chỉnh sửa dòng lệnh ưa thích của bạn. Ở đây, chúng tôi sẽ sử dụng
http://server_domain_or_IP
7:

Output

Available applications: Nginx Full Nginx HTTP Nginx HTTPS OpenSSH
0

Điều này sẽ tạo một tệp trống mới. Dán vào cấu hình xương trần sau:

/etc/nginx/sites-available/your_domain

Output

Available applications: Nginx Full Nginx HTTP Nginx HTTPS OpenSSH
1

Ở đây, những gì mỗi chỉ thị và khối vị trí này làm:

  • http://server_domain_or_IP
    
    8 - Xác định những gì cổng nginx sẽ lắng nghe. Trong trường hợp này, nó sẽ nghe trên cổng

    Output

    Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere Nginx HTTP ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Nginx HTTP (v6) ALLOW Anywhere (v6)
    6, cổng mặc định cho HTTP.
    1. sudo apt install mysql-server
    0 - Xác định gốc tài liệu nơi các tệp được phục vụ bởi trang web này được lưu trữ.
    1. sudo apt install mysql-server
    1 - Xác định trong đó Nginx sẽ ưu tiên các tệp chỉ mục cho trang web này. Đó là một thông lệ phổ biến để liệt kê các tệp
    1. sudo apt install mysql-server
    2 có ưu tiên cao hơn các tệp
    1. sudo apt install mysql-server
    3 để cho phép nhanh chóng thiết lập trang đích bảo trì trong các ứng dụng PHP. Bạn có thể điều chỉnh các cài đặt này để phù hợp hơn với nhu cầu ứng dụng của bạn.
    1. sudo apt install mysql-server
    4 - Xác định tên miền và/hoặc địa chỉ IP mà khối máy chủ này sẽ phản hồi. Truyền chỉ thị này vào tên miền máy chủ hoặc địa chỉ IP công khai của máy chủ.Point this directive to your server’s domain name or public IP address.
    1. sudo apt install mysql-server
    5 - Khối vị trí đầu tiên bao gồm Chỉ thị
    1. sudo apt install mysql-server
    6, kiểm tra sự tồn tại của các tệp hoặc thư mục phù hợp với yêu cầu URI. Nếu Nginx không thể tìm thấy tài nguyên thích hợp, nó sẽ trả về lỗi 404.
    1. sudo apt install mysql-server
    7 - Khối vị trí này xử lý xử lý PHP thực tế bằng cách trỏ Nginx vào tệp cấu hình
    1. sudo apt install mysql-server
    8 và tệp
    1. sudo apt install mysql-server
    9, khai báo ổ cắm nào được liên kết với
    1. curl -4 icanhazip.com
    6.
    1. sudo ufw app list
    01 - Khối vị trí cuối cùng liên quan đến các tệp
    1. sudo ufw app list
    02 mà Nginx không xử lý. Bằng cách thêm Chỉ thị
    1. sudo ufw app list
    03, nếu có bất kỳ tệp
    1. sudo ufw app list
    02 nào xảy ra để tìm đường vào gốc tài liệu, chúng sẽ không được phục vụ cho khách truy cập.

Khi bạn đã chỉnh sửa xong, lưu và đóng tệp. Nếu bạn sử dụng

http://server_domain_or_IP
7, bạn có thể làm như vậy bằng cách nhập
  1. sudo ufw app list
06 và sau đó
  1. sudo ufw app list
07 và

Output

Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere Nginx HTTP ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Nginx HTTP (v6) ALLOW Anywhere (v6)
9 để xác nhận.

Kích hoạt cấu hình của bạn bằng cách liên kết với tệp cấu hình từ thư mục Nginx từ ____109:

Output

Available applications: Nginx Full Nginx HTTP Nginx HTTPS OpenSSH
2

Sau đó, tách tệp cấu hình mặc định khỏi thư mục

  1. sudo ufw app list
10:

Output

Available applications: Nginx Full Nginx HTTP Nginx HTTPS OpenSSH
3

Lưu ý: Nếu bạn cần khôi phục cấu hình mặc định, bạn có thể làm như vậy bằng cách tái tạo lại liên kết tượng trưng, ​​như thế này:: If you ever need to restore the default configuration, you can do so by recreating the symbolic link, like this:

Output

Available applications: Nginx Full Nginx HTTP Nginx HTTPS OpenSSH
4

Điều này sẽ yêu cầu Nginx sử dụng cấu hình vào lần tới khi nó được tải lại. Bạn có thể kiểm tra cấu hình của mình cho các lỗi cú pháp bằng cách nhập:

Output

Available applications: Nginx Full Nginx HTTP Nginx HTTPS OpenSSH
5

Nếu bất kỳ lỗi nào được báo cáo, hãy quay lại tệp cấu hình của bạn để xem lại nội dung của nó trước khi tiếp tục.

Khi bạn đã sẵn sàng, hãy tải lại Nginx để áp dụng các thay đổi:

Output

Available applications: Nginx Full Nginx HTTP Nginx HTTPS OpenSSH
6

Trang web mới của bạn hiện đang hoạt động, nhưng Web Root

  1. sudo ufw app list
11 vẫn trống. Tạo tệp
  1. sudo apt install mysql-server
2 ở vị trí đó để chúng tôi có thể kiểm tra rằng khối máy chủ mới của bạn có hoạt động như mong đợi không:

Output

Available applications: Nginx Full Nginx HTTP Nginx HTTPS OpenSSH
7

Bao gồm các nội dung sau trong tệp này:

/var/www/your_domain/index.html

Output

Available applications: Nginx Full Nginx HTTP Nginx HTTPS OpenSSH
8

Bây giờ hãy truy cập trình duyệt của bạn và truy cập tên miền hoặc địa chỉ IP máy chủ của bạn, như được liệt kê trong Chỉ thị

  1. sudo apt install mysql-server
4 trong tệp cấu hình khối máy chủ của bạn:

http://server_domain_or_IP

Bạn sẽ thấy một trang như thế này:

Hướng dẫn install php 7.3 ubuntu 20.04 nginx - cài đặt php 7.3 ubuntu 20.04 nginx

Nếu bạn thấy trang này, điều đó có nghĩa là khối máy chủ nginx của bạn đang hoạt động như mong đợi.

Bạn có thể để tệp này tại chỗ dưới dạng trang đích tạm thời cho ứng dụng của mình cho đến khi bạn thiết lập tệp

  1. sudo apt install mysql-server
3 để thay thế nó. Khi bạn làm điều đó, hãy nhớ xóa hoặc đổi tên tệp
  1. sudo apt install mysql-server
2 khỏi gốc tài liệu của bạn, vì nó sẽ được ưu tiên hơn một tệp
  1. sudo apt install mysql-server
3 theo mặc định.

Ngăn xếp LEMP của bạn hiện được cấu hình đầy đủ. Trong bước tiếp theo, chúng tôi sẽ tạo một tập lệnh PHP để kiểm tra rằng NGINX trên thực tế có thể xử lý các tệp

  1. sudo ufw app list
17 trong trang web mới được cấu hình của bạn.

Bước 5 PhpTesting Php với nginx

Ngăn xếp LEMP của bạn bây giờ sẽ được thiết lập hoàn toàn. Bạn có thể kiểm tra nó để xác thực rằng Nginx có thể gửi chính xác các tệp

  1. sudo ufw app list
17 cho bộ xử lý PHP của bạn.

Bạn có thể làm điều này bằng cách tạo một tệp PHP thử nghiệm trong root tài liệu của bạn. Mở một tệp mới có tên

  1. sudo ufw app list
19 trong tài liệu của bạn trong trình soạn thảo văn bản của bạn:

  1. sudo ufw allow 'Nginx HTTP'
0

Nhập hoặc dán các dòng sau vào tệp mới. Đây là mã PHP hợp lệ sẽ trả về thông tin về máy chủ của bạn:

/var/www/your_domain/info.php

  1. sudo ufw allow 'Nginx HTTP'
1

Khi bạn kết thúc, hãy lưu và đóng tệp bằng cách nhập ________ 120+________ 121 và sau đó

  1. sudo ufw app list
07 và

Output

Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere Nginx HTTP ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Nginx HTTP (v6) ALLOW Anywhere (v6)
9 để xác nhận.

Bây giờ bạn có thể truy cập trang này trong trình duyệt web của mình bằng cách truy cập tên miền hoặc địa chỉ IP công khai mà bạn đã thiết lập trong tệp cấu hình nginx của bạn, theo sau là

  1. sudo ufw app list
24:

  1. sudo ufw allow 'Nginx HTTP'
2

Bạn sẽ thấy một trang web chứa thông tin chi tiết về máy chủ của bạn:

Hướng dẫn install php 7.3 ubuntu 20.04 nginx - cài đặt php 7.3 ubuntu 20.04 nginx

Sau khi kiểm tra thông tin liên quan về máy chủ PHP của bạn thông qua trang đó, tốt nhất là xóa tệp bạn đã tạo vì nó chứa thông tin nhạy cảm về môi trường PHP và máy chủ Ubuntu của bạn. Bạn có thể sử dụng

  1. sudo ufw app list
25 để xóa tệp đó:

  1. sudo ufw allow 'Nginx HTTP'
3

Bạn luôn có thể tái tạo tệp này nếu bạn cần nó sau.

Bước 6 - Kết nối cơ sở dữ liệu thử nghiệm từ PHP (Tùy chọn)

Nếu bạn muốn kiểm tra xem PHP có thể kết nối với MySQL và thực thi truy vấn cơ sở dữ liệu hay không, bạn có thể tạo một bảng kiểm tra với dữ liệu giả và truy vấn cho nội dung của nó từ tập lệnh PHP. Trước khi chúng tôi có thể làm điều đó, chúng tôi cần tạo cơ sở dữ liệu kiểm tra và người dùng MySQL mới được cấu hình đúng để truy cập nó.

Tại thời điểm viết bài này, Thư viện PHP MySQL gốc

  1. curl -4 icanhazip.com
3 không hỗ trợ
  1. curl -4 icanhazip.com
4, phương thức xác thực mặc định cho MySQL 8. Chúng ta sẽ cần tạo một người dùng mới với phương thức xác thực
  1. curl -4 icanhazip.com
5 để có thể kết nối với Cơ sở dữ liệu MySQL từ PHP.

Chúng tôi sẽ tạo một cơ sở dữ liệu có tên example_database và người dùng có tên example_user, nhưng bạn có thể thay thế các tên này bằng các giá trị khác nhau.example_database and a user named example_user, but you can replace these names with different values.

Đầu tiên, kết nối với bảng điều khiển MySQL bằng tài khoản gốc:root account:

  1. sudo ufw app list
4

Để tạo cơ sở dữ liệu mới, hãy chạy lệnh sau từ bảng điều khiển MySQL của bạn:

  1. sudo ufw allow 'Nginx HTTP'
5

Bây giờ bạn có thể tạo một người dùng mới và cấp cho họ đầy đủ các đặc quyền trên cơ sở dữ liệu tùy chỉnh mà bạn vừa tạo.

Lệnh sau tạo một người dùng mới có tên

  1. sudo ufw app list
29, sử dụng
  1. curl -4 icanhazip.com
5 làm phương thức xác thực mặc định. Chúng tôi xác định mật khẩu của người dùng này là
  1. curl -4 icanhazip.com
0, nhưng bạn nên thay thế giá trị này bằng một mật khẩu an toàn theo lựa chọn của riêng bạn.

  1. sudo ufw allow 'Nginx HTTP'
6

Bây giờ chúng tôi cần cấp quyền cho người dùng này qua cơ sở dữ liệu

  1. sudo ufw app list
32:

  1. sudo ufw allow 'Nginx HTTP'
7

Điều này sẽ cung cấp cho người dùng ASGREE_USER đầy đủ các đặc quyền trên cơ sở dữ liệu ASCRED_DATABASE, đồng thời ngăn người dùng này tạo hoặc sửa đổi các cơ sở dữ liệu khác trên máy chủ của bạn.example_user user full privileges over the example_database database, while preventing this user from creating or modifying other databases on your server.

Bây giờ hãy thoát khỏi vỏ MySQL với:

  1. sudo ufw app list
6

Bạn có thể kiểm tra xem người dùng mới có quyền thích hợp bằng cách đăng nhập vào bảng điều khiển MySQL hay không, lần này sử dụng thông tin đăng nhập người dùng tùy chỉnh:

  1. sudo ufw allow 'Nginx HTTP'
9

Lưu ý cờ

  1. sudo ufw app list
33 trong lệnh này, sẽ nhắc bạn về mật khẩu được sử dụng khi tạo người dùng example_user. Sau khi đăng nhập vào bảng điều khiển MySQL, xác nhận rằng bạn có quyền truy cập vào cơ sở dữ liệu example_database:example_user user. After logging in to the MySQL console, confirm that you have access to the example_database database:

  1. sudo ufw status
0

Điều này sẽ cung cấp cho bạn đầu ra sau:

  1. sudo ufw status
1

Tiếp theo, chúng tôi sẽ tạo một bảng kiểm tra có tên TODO_LIST. Từ bảng điều khiển MySQL, chạy câu lệnh sau:todo_list. From the MySQL console, run the following statement:

  1. sudo ufw status
2

Chèn một vài hàng nội dung trong bảng kiểm tra. Bạn có thể muốn lặp lại lệnh tiếp theo một vài lần, sử dụng các giá trị khác nhau:

  1. sudo ufw status
3

Để xác nhận rằng dữ liệu đã được lưu thành công vào bảng của bạn, hãy chạy:

  1. sudo ufw status
4

Bạn sẽ thấy đầu ra sau:

  1. sudo ufw status
5

Sau khi xác nhận rằng bạn có dữ liệu hợp lệ trong bảng kiểm tra của mình, bạn có thể thoát khỏi bảng điều khiển MySQL:

  1. sudo ufw app list
6

Bây giờ bạn có thể tạo tập lệnh PHP sẽ kết nối với MySQL và truy vấn cho nội dung của bạn. Tạo một tệp PHP mới trong thư mục Root Web tùy chỉnh của bạn bằng Trình soạn thảo ưa thích của bạn. Chúng tôi sẽ sử dụng

http://server_domain_or_IP
7 cho điều đó:

  1. sudo ufw status
7

Tập lệnh PHP sau đây kết nối với cơ sở dữ liệu MySQL và truy vấn cho nội dung của bảng TODO_LIST, thể hiện kết quả trong một danh sách. Nếu có một vấn đề với kết nối cơ sở dữ liệu, nó sẽ ném một ngoại lệ. Sao chép nội dung này vào tập lệnh

  1. sudo ufw app list
35 của bạn:todo_list table, exhibiting the results in a list. If there’s a problem with the database connection, it will throw an exception. Copy this content into your
  1. sudo ufw app list
35 script:

/var/www/your_domain/todo_list.php

  1. sudo ufw status
8

Lưu và đóng tệp khi bạn chỉnh sửa xong.

Bây giờ bạn có thể truy cập trang này trong trình duyệt web của mình bằng cách truy cập tên miền hoặc địa chỉ IP công khai được định cấu hình cho trang web của bạn, theo sau là

  1. sudo ufw app list
36:

  1. sudo ufw status
9

Bạn sẽ thấy một trang như thế này, hiển thị nội dung mà bạn đã chèn vào bảng kiểm tra của mình:

Hướng dẫn install php 7.3 ubuntu 20.04 nginx - cài đặt php 7.3 ubuntu 20.04 nginx

Điều đó có nghĩa là môi trường PHP của bạn đã sẵn sàng để kết nối và tương tác với máy chủ MySQL của bạn.

Sự kết luận

Trong hướng dẫn này, chúng tôi đã xây dựng một nền tảng linh hoạt để phục vụ các trang web và ứng dụng PHP cho khách truy cập của bạn, sử dụng Nginx làm máy chủ web và MySQL làm hệ thống cơ sở dữ liệu.

Làm thế nào cài đặt PHP trong ubuntu nginx?

Cách thiết lập NGINX, PHP và PHP-FPM..
Thực hiện bản cập nhật APT-Get để đảm bảo quyền truy cập vào các gói mới nhất ..
Cài đặt nginx trên Ubuntu ..
Cài đặt PHP-FPM cho gói NGINX ..
Chỉnh sửa tệp cấu hình mặc định của máy chủ để hỗ trợ PHP trong Nginx ..
Khởi động lại máy chủ nginx được cấu hình PHP ..
Thêm tệp PHP vào thư mục HTML của Nginx ..

Làm cách nào để tải xuống Php 7.4 trên Ubuntu?

Cài đặt Php 7.4 trên Ubuntu 18.04 / Ubuntu 16.04..
Bước 1: Thêm Kho lưu trữ PPA PHP.Chúng tôi sẽ thêm PPA: Kho lưu trữ PPA của ONDREJ/PHP có các gói Build mới nhất của PHP.....
Bước 2: Cài đặt Php 7.4 trên Ubuntu 18.04/16.04.Cài đặt Php 7.4 trên Ubuntu 18.04/19.04/16.04 Sử dụng lệnh: sudo apt -Y Cài đặt Php7.4 ..

Ubuntu 20.04 sử dụng phiên bản PHP nào?

Lưu ý: Các tàu Ubuntu 20.04 có Php 7.4 trong kho lưu trữ ngược dòng của nó.Điều này có nghĩa là nếu bạn cố gắng cài đặt PHP mà không có phiên bản được chỉ định, nó sẽ sử dụng 7.4.Bạn sẽ muốn tránh dựa vào phiên bản mặc định của PHP vì phiên bản mặc định đó có thể thay đổi tùy thuộc vào nơi bạn đang chạy mã của mình.PHP 7.4 in its upstream repositories. This means that if you attempt to install PHP without a specified version, it will use 7.4. You will want to avoid relying on the default version of PHP because that default version could change depending on where you are running your code.

Nginx có thực thi PHP không?

NGINX + PHP là một trong những nhóm phần mềm phổ biến nhất mà bạn có thể sử dụng để xây dựng trang web của mình.Hướng dẫn từng bước này sẽ chỉ cho bạn cách cài đặt và định cấu hình NGINX để thực thi PHP trên máy chủ của bạn bằng PHP-FPM.Nginx là sự kết hợp lý tưởng với PHP-FPM.This step-by-step tutorial will show you how to install and configure Nginx to execute PHP on your server using PHP-FPM. Nginx is the ideal combination with PHP-FPM.