Cấu hình Nginx PHP-FPM

Hướng dẫn này đã được tạo để giúp người dùng chạy Ubuntu 22. 04. 20. 04 server để cài đặt web server Nginx và cấu hình PHP-FPM (FastCGI Process Manager). Nginx là một máy chủ web hiệu suất cao miễn phí sử dụng. Nginx được thiết kế cho tốc độ và khả năng mở rộng với khả năng của proxy ngược và cân bằng tải cho một số máy chủ phụ trợ với cả giao thức HTTP, TCP và UDP. Trang web này được cung cấp bởi WordPress và Nginx và hiệu suất thực sự tốt. Nginx có dung lượng bộ nhớ nhỏ so với Apache, xử lý cùng số lượng kết nối đồng thời

Các tính năng của máy chủ web Nginx

  • Bộ nhớ cache nội dung – Bộ nhớ cache nội dung tĩnh và động
  • Cân bằng tải – Cân bằng tải HTTP, TCP và UDP với định tuyến yêu cầu Lớp 7 bằng URI, cookie, args, v.v.
  • Đảo ngược proxy nhiều giao thức. HTTP, gRPC, bộ nhớ đệm, PHP‑FPM, SCGI, uwsgi
  • Xử lý đồng thời hàng trăm ngàn khách hàng
  • Truyền phát video HTTP. FLV, HDS, HLS, MP4
  • Cổng HTTP/2 với hỗ trợ đẩy máy chủ HTTP/2
  • Giảm tải RSA/ECC SSL/TLS xếp chồng kép
  • plugin giám sát. Phần bổ trợ AppDynamics, Datadog, Dynatrace

Bước 1. Cập nhật Ubuntu

Trước khi bắt đầu, bạn nên có một máy chủ Ubuntu đang chạy đã được cập nhật và nâng cấp lên các gói mới nhất hiện có

sudo apt update
sudo apt upgrade

Bước 2. Cài đặt Nginx trên Ubuntu22. 04. 20. 04Linux

Sau khi hệ thống được cập nhật, tiến hành cài đặt gói Nginx trên Ubuntu

22. 04. 20. 04 Hệ thống Linux

sudo apt install nginx

Dịch vụ sẽ được bắt đầu tự động sau khi cài đặt

$ systemctl status nginx
● nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2020-05-09 19:38:43 UTC; 39s ago
       Docs: man:nginx(8)
   Main PID: 6449 (nginx)
      Tasks: 2 (limit: 2344)
     Memory: 3.8M
     CGroup: /system.slice/nginx.service
             ├─6449 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
             └─6451 nginx: worker process

May 09 19:38:43 ubuntu20 systemd[1]: Starting A high performance web server and a reverse proxy server...
May 09 19:38:43 ubuntu20 systemd[1]: Started A high performance web server and a reverse proxy server.

Lưu ý rằng bạn không thể chạy cả Apache và Nginx trên cùng một cổng. Bạn sẽ cần tắt máy chủ web Apache hoặc thay đổi cổng của một trong số chúng thành cổng không chuẩn http

sudo systemctl disable --now apache2
sudo systemctl restart nginx

Tường lửa UFW có thể được cấu hình để cho phép cổng 80

sudo ufw allow proto tcp from any to any port 80,443

Bước 3. Cài đặt PHP-FPM trên Ubuntu 22. 04. 20. 04

Nếu bạn dự định sử dụng PHP với Nginx, hãy cân nhắc cài đặt gói PHP-FPM

sudo apt update
sudo apt install php php-cli php-fpm php-json php-mysql php-zip php-gd  php-mbstring php-curl php-xml php-pear php-bcmath

PHP-FPM có dịch vụ nên chạy

### Ubuntu 20.04 ###
$ systemctl status php*-fpm.service 
● php7.4-fpm.service - The PHP 7.4 FastCGI Process Manager
     Loaded: loaded (/lib/systemd/system/php7.4-fpm.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2020-05-09 19:50:53 UTC; 2min 26s ago
       Docs: man:php-fpm7.4(8)
   Main PID: 22141 (php-fpm7.4)
     Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec"
      Tasks: 3 (limit: 2344)
     Memory: 9.3M
     CGroup: /system.slice/php7.4-fpm.service
             ├─22141 php-fpm: master process (/etc/php/7.4/fpm/php-fpm.conf)
             ├─22142 php-fpm: pool www
             └─22143 php-fpm: pool www

May 09 19:50:53 ubuntu20 systemd[1]: Starting The PHP 7.4 FastCGI Process Manager...
May 09 19:50:53 ubuntu20 systemd[1]: Started The PHP 7.4 FastCGI Process Manager.

### Ubuntu 22.04 ###
$ systemctl status php*-fpm.service
● php8.0-fpm.service - The PHP 8.0 FastCGI Process Manager
     Loaded: loaded (/lib/systemd/system/php8.0-fpm.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2021-11-30 22:24:44 EAT; 12s ago
       Docs: man:php-fpm8.0(8)
    Process: 69709 ExecStartPost=/usr/lib/php/php-fpm-socket-helper install /run/php/php-fpm.sock /etc/php/8.0/fpm/pool.d/www.conf 80 (code=exited, status=0/SUCCESS)
   Main PID: 69706 (php-fpm8.0)
     Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec"
      Tasks: 3 (limit: 9482)
     Memory: 9.1M
        CPU: 41ms
     CGroup: /system.slice/php8.0-fpm.service
             ├─69706 php-fpm: master process (/etc/php/8.0/fpm/php-fpm.conf)
             ├─69707 php-fpm: pool www
             └─69708 php-fpm: pool www

Nov 30 22:24:44 ubuntu22 systemd[1]: Starting The PHP 8.0 FastCGI Process Manager...
Nov 30 22:24:44 ubuntu22 systemd[1]: Started The PHP 8.0 FastCGI Process Manager.

Tệp PID và Socket nằm trong thư mục

### Ubuntu 20.04 ###
$ ls /run/php/
php-fpm.sock  php7.4-fpm.pid  php7.4-fpm.sock

### Ubuntu 22.04 ###
$ ls /run/php/
php-fpm.sock  php8.0-fpm.pid  php8.0-fpm.sock

Bước 4. Định cấu hình PHP-FPM với Nginx trên Ubuntu

Chỉnh sửa tệp cấu hình Ứng dụng Nginx của bạn và đặt phần fastcgi_pass để tải qua ổ cắm FPM. Xem đoạn trích bên dưới

________số 8

Tải lại Nginx và mở ứng dụng của bạn trên web để xác nhận rằng nó đang hoạt động như mong đợi. Bạn đã cài đặt thành công Nginx Web server trên Ubuntu 22. 04. 20. 04 máy Linux

Video khóa học lập trình web PHP

  • Khóa học dành cho nhà phát triển web hoàn chỉnh
  • PHP cho người mới bắt đầu – Trở thành chuyên gia PHP – Dự án CMS
  • Chương trình đào tạo dành cho nhà phát triển web PHP Full Stack hoàn chỉnh
  • PHP với Laravel cho người mới bắt đầu – Trở thành Master trong Laravel
  • PHP OOP. Lập trình hướng đối tượng cho người mới bắt đầu + Dự án

Hướng dẫn tương tự

  • Cài đặt máy chủ web Apache trên Ubuntu

Sách Nginx để đọc

  • Máy chủ HTTP Nginx – Phiên bản thứ tư. Khai thác sức mạnh của Nginx
  • Proxy đảo ngược Apache, PHP-FPM & Nginx thực tế

BẠN CÓ THỂ HỖ TRỢ CÔNG VIỆC CỦA CHÚNG TÔI BẰNG LY CÀ PHÊ


Khi chúng tôi tiếp tục phát triển, chúng tôi mong muốn tiếp cận và tác động đến nhiều người hơn, những người truy cập và tận dụng các hướng dẫn chúng tôi có trên blog của mình. Đây là một nhiệm vụ lớn đối với chúng tôi và cho đến nay chúng tôi vô cùng biết ơn những người tốt bụng đã thể hiện sự hỗ trợ tuyệt vời cho công việc của chúng tôi trong suốt thời gian chúng tôi trực tuyến

Cảm ơn sự hỗ trợ của bạn khi chúng tôi làm việc để cung cấp cho bạn những hướng dẫn và bài viết tốt nhất. Nhấp vào bên dưới để mua cà phê cho chúng tôi

Tại sao nên sử dụng Nginx với PHP

PHP-FPM (Trình quản lý quy trình FastCGI) là giải pháp thay thế cho việc triển khai FastCGI của PHP với một số tính năng bổ sung hữu ích cho các trang web có lưu lượng truy cập cao. Đây là phương pháp ưa thích để xử lý các trang PHP bằng NGINX và nhanh hơn các phương pháp dựa trên CGI truyền thống như SUPHP hoặc mod_php để chạy tập lệnh PHP .

PHP ở đâu

tệp conf phải nằm trong /etc/php/7. 2/fpm/nhóm .

Làm thế nào để tạo một PHP

Ví dụ này sử dụng site1. thí dụ. com và site2. thí dụ. com , trỏ đến cùng một địa chỉ IP cho máy chủ. .
Xóa trang web mặc định. .
Tạo người dùng trang web. .
Gán quyền thư mục. .
Tạo nhóm PHP-FPM mới. .
Định cấu hình nhóm đầu tiên. .
Định cấu hình nhóm thứ hai. .
Khởi động lại PHP-FPM. .
Tạo các trang web Nginx

Cách tăng PHP

Cách thay đổi giới hạn bộ nhớ .
Xác định vị trí php. ini được sử dụng bởi máy chủ web của bạn. Bạn có thể nhấp vào liên kết "thông tin thêm" trên phần PHP của trang trạng thái Drupal. .
Chỉnh sửa tham số memory_limit trong php. ini (thường nằm trong phần có tên là Giới hạn tài nguyên). .
Khởi động lại Apache