Hướng dẫn can nginx serve php files? - nginx có thể phục vụ các tập tin php không?

Phương pháp sau đây sẽ giúp bạn bắt đầu nhanh chóng trên Ubuntu 12.04:

Cài đặt các phụ thuộc:

$ sudo apt-get install nginx
8

Cài đặt Nginx:

$ sudo apt-get install nginx
9

Bắt đầu nginx:

$ sudo service nginx start
0

Kiểm tra rằng nó đang hoạt động (nên xem "Chào mừng bạn đến Nginx!")

$ sudo service nginx start
1

Trong cấu hình trang web nginx của bạn

$ sudo service nginx start
2 đến
$ sudo service nginx start
3.

Giải nén các dòng trong phần máy chủ {} bắt đầu bằng

$ sudo service nginx start
4 cho cả IPv4 / IPv6.

Cuộn xuống nơi mà nó nói

$ sudo service nginx start
5 và các dòng Unmment để có vẻ như sau:

location ~ \.php$ {
  fastcgi_split_path_info ^(.+\.php)(/.+)$;
  fastcgi_pass 127.0.0.1:9000;
  fastcgi_index index.php;
  include fastcgi_params;
}

$ sudo service nginx start
6
$ sudo service nginx start
7

Root Web mặc định của bạn được đặt tại/usr/share/nginx/www (theo tệp cấu hình). (Xem

$ sudo service nginx start
8

.

Nginx được phát âm là Động cơ X-X, đây là máy chủ web và máy chủ proxy ngược. Nginx nổi tiếng với tốc độ và khả năng xử lý số lượng lớn các yêu cầu đồng thời với việc sử dụng tài nguyên tối ưu.

PHP-FPM là viết tắt của Trình quản lý quy trình PHP-FASTCGI. CGI đề cập đến giao diện cổng chung được viết để hoạt động như một giao diện giữa máy chủ web và các chương trình phục vụ nội dung động. Nó lắng nghe trên một cổng giống như chính máy chủ web và truyền yêu cầu giữa PHP và máy chủ web.

Hướng dẫn này cung cấp các hướng dẫn về cách cài đặt và định cấu hình NGINX với PHP-FPM, điều này sẽ giúp bạn thực hiện các chương trình PHP trong NGINX. Như chúng ta đã thảo luận trước đó trong Apache so với Nginx, khi so sánh với Nginx, Apache tương đối chậm trong khi xử lý tải nặng và xử lý số lượng lớn các yêu cầu.

As we discussed earlier in Apache vs Nginx, when compared to Nginx, Apache is relatively slow while handling heavy load and processing large number of requests.

1. Cài đặt Nginx

Bạn có thể cài đặt Nginx từ nguồn hoặc cài đặt nó bằng công cụ quản lý gói đi kèm với bản phân phối của bạn.

Ví dụ: trên Ubuntu, bạn có thể cài đặt Nginx bằng APT-Get như hình bên dưới.

$ sudo apt-get install nginx

Khởi động máy chủ nginx như hiển thị bên dưới:

$ sudo service nginx start

Truy cập http: // {your-ip-address} và đảm bảo bạn thấy trang chào mừng nginx.

2. Cài đặt PHP5-FPM

Tiếp theo, cài đặt PHP5-FPM bằng công cụ quản lý gói đi kèm với bản phân phối của bạn.

Ví dụ: trên Ubuntu, bạn có thể cài đặt PHP5-FPM bằng APT-Get như được hiển thị bên dưới.

$ sudo apt-get install php5-fpm

3. Thêm cấu hình PHP vào nginx

Tiếp theo, sửa đổi tệp/etc/nginx/sites-alailable/mặc định và thêm các dòng sau.

$ sudo vi /etc/nginx/sites-available/default
server {
  listen   80;
  root /usr/share/nginx/www;
  index index.php index.html index.htm;
  server_name example.com;
  location / {
    try_files $uri $uri/ /index.html;
  }
  error_page 404 /404.html;
  error_page 500 502 503 504 /50x.html;
  location = /50x.html {
    root /usr/share/nginx/www;
  }
  # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
  location ~ \.php$ {
    try_files $uri =404;
    fastcgi_pass unix:/var/run/php5-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
  }
}

4. Đặt tham số Nghe trong Php5-FPM www.conf

Tiếp theo, chúng ta cần thực hiện các thay đổi sau trong cấu hình PHP-FRPM.

Theo mặc định, bạn sẽ thấy mục nghe sau trong tệp www.conf

$ sudo vi  /etc/php5/fpm/pool.d/www.conf
listen =  127.0.0.1:9000

Trong tệp www.conf, để lại mọi thứ như vậy và thay thế dòng nghe ở trên bằng tệp được hiển thị bên dưới.

$ sudo vi  /etc/php5/fpm/pool.d/www.conf
listen = /var/run/php5-fpm.sock

5. Khởi động lại NGINX và PHP5-FPM và kiểm tra nó

Khởi động lại PHP5-FPM và NGINX như được hiển thị bên dưới

$ sudo service nginx restart

$ sudo service php5-fpm restart

Cuối cùng, tạo tệp index.php sau trong root tài liệu nginx và kiểm tra nó.

$ sudo vi /usr/share/nginx/www

Cuối cùng, hãy mở trình duyệt của bạn và truy cập http: //localhost/index.php (hoặc sử dụng ip-address của bạn), sẽ thực thi tệp index.php và hiển thị thông tin PHP.

PHP-FPM (Trình quản lý quy trình FASTCGI) là một giải pháp thay thế cho việc triển khai PHP của FASTCGI 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 xử lý các trang PHP với NGINX và nhanh hơn các phương pháp dựa trên CGI truyền thống như SUPHP hoặc

$ sudo apt-get install php5-fpm
1 để chạy tập lệnh PHP. Ưu điểm chính của việc sử dụng PHP-FPM là nó sử dụng một lượng đáng kể bộ nhớ và CPU đáng kể so với bất kỳ phương pháp chạy PHP nào khác. Lý do chính là nó làm giảm PHP, do đó chuyển đổi nó thành một quy trình nền trong khi cung cấp tập lệnh CLI để quản lý yêu cầu PHP.SUPHP or
$ sudo apt-get install php5-fpm
1 for running a PHP script. The main advantage of using PHP-FPM is that it uses a considerable amount of less memory and CPU as compared with any other methods of running PHP. The primary reason is that it demonizes PHP, thereby transforming it to a background process while providing a CLI script for managing PHP request.

Php-fpm nginx cấu hình tiên quyết

  • Bạn có thể mở một phiên SSH cho hệ thống Ubuntu 18.04 của mình bằng cách sử dụng người dùng được hỗ trợ bởi root hoặc sudo.
  • Bạn đã cài đặt NGINX và PHP trong hệ thống Ubuntu 18.04 của mình.

Các bước cấu hình NGINX PHP-FPM

  • Cài đặt PHP-FPM
  • Định cấu hình nhóm PHP-FPM
  • Định cấu hình Nginx cho PHP-FPM
  • Kiểm tra cấu hình nginx php-fpm

1. Cài đặt PHP-FPM

Nginx không biết cách chạy tập lệnh PHP của riêng mình. Nó cần một mô-đun PHP như PHP-FPM để quản lý hiệu quả các tập lệnh PHP. Php-FPM, mặt khác, chạy bên ngoài môi trường NGINX bằng cách tạo quy trình riêng. Do đó, khi người dùng yêu cầu một trang PHP, máy chủ Nginx sẽ chuyển yêu cầu cho dịch vụ PHP-FPM bằng FastCGI. Việc cài đặt PHP-FPM trong Ubuntu 18.04 phụ thuộc vào PHP và phiên bản của nó. Kiểm tra tài liệu của PHP đã cài đặt trước khi tiến hành cài đặt FPM trong máy chủ của bạn. Giả sử bạn đã cài đặt Php 7.3 mới nhất, sau đó bạn có thể cài đặt FPM bằng lệnh APT-Get sau.php-fpm in Ubuntu 18.04 depends on PHP and its version. Check the documentation of installed PHP before proceeding with installing FPM in your server. Assuming you have already installed the latest PHP 7.3, then you can install FPM using the following apt-get command.

# apt-get install php7.3-fpm

Dịch vụ FPM sẽ tự động bắt đầu, sau khi cài đặt kết thúc. Bạn có thể xác minh rằng bằng cách sử dụng lệnh SystemD sau:

$ sudo apt-get install nginx
0

2. Cấu hình nhóm PHP-FPM

Dịch vụ PHP-FPM tạo ra một nhóm mặc định, cấu hình (www.conf) có thể được tìm thấy trong thư mục

$ sudo apt-get install php5-fpm
2. Bạn có thể tùy chỉnh nhóm mặc định theo yêu cầu của bạn. Nhưng đó là một thông lệ tiêu chuẩn để tạo ra các nhóm riêng biệt để có quyền kiểm soát tốt hơn đối với phân bổ tài nguyên cho từng quy trình FPM. Hơn nữa, việc phân tách nhóm FPM sẽ cho phép họ chạy độc lập bằng cách tạo quy trình chính của riêng mình. Điều đó có nghĩa là mỗi ứng dụng PHP có thể được cấu hình với các cài đặt bộ đệm của riêng mình bằng PHP-FPM. Một sự thay đổi trong một cấu hình của một nhóm không yêu cầu bạn bắt đầu hoặc dừng phần còn lại của các nhóm FPM. Hãy để chúng tôi tạo một nhóm FPM để chạy ứng dụng PHP một cách hiệu quả thông qua một người dùng riêng biệt. Để bắt đầu, hãy tạo một người dùng mới, người sẽ có quyền độc quyền đối với nhóm này:

$ sudo apt-get install nginx
1

Bây giờ điều hướng đến thư mục cấu hình FPM và tạo tệp cấu hình bằng trình chỉnh sửa văn bản yêu thích của bạn như VI:

$ sudo apt-get install nginx
2

Các tùy chọn cấu hình FPM ở trên và các giá trị của chúng được mô tả dưới đây.

  • [WordPress_Site]: Tên của nhóm và phải là duy nhất trên tất cả các tên nhóm.: The name of the pool and must be unique across all pool names.
  • Người dùng và nhóm: Người dùng và nhóm theo đó nhóm sẽ chạy.: The user and group under which the pool will run.
  • Nghe: Tên của tệp ổ cắm cho nhóm này.: The name of the socket file for this pool.
  • Listen.Owner và Listen.group: Phải khớp với người dùng và nhóm mà Nginx đang chạy. Trong trường hợp của chúng tôi là www-data.: Must match to the user and group on which NGINX is running. In our case it is www-data.
  • PHP_ADMIN_VALUE: Cho phép đặt các giá trị cấu hình PHP tùy chỉnh.: Allows to set custom php configuration values.
  • PHP_ADMIN_FLAG: Cho phép đặt cờ Boolean PHP.: Allows to set PHP boolean flags.
  • PM: Cài đặt trình quản lý quy trình và giá trị là động có nghĩa là số lượng quy trình con được đặt động dựa trên các chỉ thị sau.: The process manager settings and the value is Dynamic means the number of child processes are set dynamically based on the following directives.
  • pm.max_children: Số lượng trẻ em tối đa có thể sống cùng một lúc.: The maximum number of children that can be alive at the same time.
  • PM.start_servers: Số lượng trẻ em được tạo khi khởi động.: The number of children created on startup.
  • pm.min_spare_servers: Số lượng trẻ em tối thiểu ở trạng thái ‘Idle, (chờ xử lý). Nếu số lượng quy trình nhàn rỗi nhỏ hơn số này thì một số trẻ sẽ được tạo ra.: The minimum number of children in ‘idle’ state (waiting to process). If the number of idle processes is less than this number then some children will be created.
  • PM.MAX_SPARE_SERVERS: Số lượng trẻ em tối đa ở trạng thái nhàn rỗi (chờ xử lý). Nếu số lượng quá trình nhàn rỗi lớn hơn con số này thì một số trẻ sẽ bị giết.: The maximum number of children in idle state (waiting to process). If the number of idle processes is greater than this number then some children will be killed.
  • pm.process_idle_timeout: Số lượng quy trình máy chủ nhàn rỗi tối đa mong muốn. Chỉ được sử dụng khi giá trị PM được đặt thành động. Ngoài các cài đặt trên, cũng có thể chuyển một số biến môi trường hệ thống cho dịch vụ PHP-FPM bằng cách sử dụng một cái gì đó như
    $ sudo apt-get install php5-fpm
    
    3. Ví dụ: thêm các tùy chọn sau trong tệp cấu hình ở trên sẽ đặt vị trí thư mục máy chủ và thư mục tạm thời vào môi trường PHP.
    : The desired maximum number of idle server processes. Used only when pm value is set to dynamic. Apart from above settings, it is also possible to pass few system environmental variable to php-fpm service using something like
    $ sudo apt-get install php5-fpm
    
    3. For example, adding the following options in the above configuration file will set the hostname and temporary folder location to the PHP environment.
$ sudo apt-get install nginx
3

Ngoài ra, cài đặt Trình quản lý quy trình trong tệp cấu hình nhóm trên được đặt thành động. Chọn một cài đặt phù hợp nhất với yêu cầu của bạn. Các tùy chọn cấu hình khác cho Trình quản lý quy trình là:- tĩnh: Một số lượng cố định các quy trình PHP sẽ được duy trì.Static: A fixed number of PHP processes will be maintained.

  • Ondemand: Không có trẻ em nào được tạo ra khi khởi động. Trẻ em sẽ bị chia tay khi nhận được các yêu cầu mới trong máy chủ.: No children are created at startup. Children will be forked when new requests are received in the server.

Khi bạn đã hoàn tất việc tạo tệp cấu hình ở trên, hãy khởi động lại dịch vụ FPM để áp dụng các cài đặt mới:

$ sudo apt-get install nginx
4

Nhóm FPM sẽ được tạo ngay lập tức để phục vụ các trang PHP. Hãy nhớ rằng, bạn có thể tạo một dịch vụ SystemD riêng biệt bằng cách chỉ định tệp cấu hình FPM ở trên do đó cho phép bạn bắt đầu/dừng nhóm này mà không ảnh hưởng đến các nhóm khác.

3. Định cấu hình Nginx cho PHP-FPM

Bây giờ tạo một khối máy chủ nginx sẽ sử dụng nhóm FPM ở trên. Để thực hiện điều đó, chỉnh sửa tệp cấu hình NGINX của bạn và truyền đường dẫn của tệp ổ cắm nhóm bằng cách sử dụng tùy chọn

$ sudo apt-get install php5-fpm
4 Bên trong khối vị trí cho PHP.

Khối máy chủ
$ sudo apt-get install nginx
5NGINX
Hướng dẫn can nginx serve php files? - nginx có thể phục vụ các tập tin php không?
NGINX Server Block

Đảm bảo cài đặt cấu hình ở trên là chính xác về mặt cú pháp và khởi động lại nginx.

$ sudo apt-get install nginx
6

4. Kiểm tra cấu hình Php-FPM nginx

Để kiểm tra xem tệp cấu hình NGINX ở trên có thực sự sử dụng nhóm FPM mới được tạo hay không, hãy tạo tệp thông tin PHP bên trong Root Web. Tôi đã sử dụng

$ sudo apt-get install php5-fpm
5 làm gốc web trong tệp cấu hình nginx ở trên. Điều chỉnh giá trị này theo môi trường của bạn.

$ sudo apt-get install nginx
7

Khi bạn đã hoàn tất việc tạo trang thông tin PHP, hãy trỏ trình duyệt web yêu thích của bạn vào nó. Bạn sẽ nhận thấy rằng giá trị của biến

$ sudo apt-get install php5-fpm
6 và
$ sudo apt-get install php5-fpm
7 đang chỉ vào
$ sudo apt-get install php5-fpm
8 và
$ sudo apt-get install php5-fpm
9 mà chúng tôi đặt trong tệp cấu hình FPM trước đó và do đó xác nhận rằng NGINX đang phục vụ các trang PHP bằng cách sử dụng nhóm FPM mong muốn của chúng tôi.

Hướng dẫn can nginx serve php files? - nginx có thể phục vụ các tập tin php không?
Thử nghiệm nginx PHP-FPM

Bản tóm tắt

Trong bài viết này, chúng tôi đã học cách cài đặt PHP-FPM và định cấu hình các nhóm riêng cho người dùng và ứng dụng khác nhau. Chúng tôi cũng đã học cách định cấu hình khối máy chủ Nginx để kết nối với dịch vụ PHP-FPM. PHP-FPM cung cấp độ tin cậy, bảo mật, khả năng mở rộng và tốc độ cùng với rất nhiều tùy chọn điều chỉnh hiệu suất. Bây giờ bạn có thể chia nhóm PHP-FPM mặc định thành nhiều nhóm tài nguyên để phục vụ các ứng dụng khác nhau. Điều này sẽ không chỉ tăng cường bảo mật máy chủ của bạn mà còn cho phép bạn phân bổ tài nguyên máy chủ một cách tối ưu!

Làm thế nào để nginx giao tiếp với PHP?

Máy chủ web nginx (như proxy ngược) phục vụ các ứng dụng PHP thông qua giao thức FASTCGI (như một máy chủ ứng dụng phụ trợ). Nginx sử dụng PHP-FPM (Trình quản lý quy trình FASTCGI), một triển khai Php FastCGI thay thế chạy trong nền dưới dạng daemon, lắng nghe các yêu cầu CGI.through the FastCGI protocol (as a backend application server). NGINX employs PHP-FPM (FastCGI Process Manager), an alternative PHP FastCGI implementation that runs in the background as a daemon, listening for CGI requests.

Nginx có yêu cầu PHP không

PHP-FPM được cài đặt và hoạt động cho Nginx. Và đó là nó, bạn đã có Nginx lên và chạy với hỗ trợ PHP-FPM. Hãy nhớ rằng, khi bạn xây dựng các tệp cấu hình ảo của mình, bạn sẽ cần đảm bảo bao gồm hỗ trợ PHP trong đó. Đối với điều đó, bạn có thể sử dụng tệp/etc/nginx/sites-alails/fault làm ví dụ.. And that's it, you've got NGINX up and running with PHP-FPM support. Remember, when you build your virtualhost configuration files, you'll need to make sure to include PHP support in those. For that, you can use the /etc/nginx/sites-available/default file as an example.

PHP

Bây giờ tạo một khối máy chủ nginx sẽ sử dụng nhóm FPM ở trên. Để thực hiện điều đó, chỉnh sửa tệp cấu hình NGINX của bạn và truyền đường dẫn của tệp ổ cắm của nhóm bằng cách sử dụng tùy chọn FastcGi_Pass Inside Vị trí khối cho PHP. Đảm bảo cài đặt cấu hình ở trên là chính xác về mặt cú pháp và khởi động lại nginx.edit your NGINX configuration file and pass the path of pool's socket file using the option fastcgi_pass inside location block for php. Make sure the above configuration setting is syntactically correct and restart NGINX.

Nginx sử dụng tệp nào?

Theo mặc định, tệp được đặt tên là nginx.conf và cho nginx plus được đặt trong thư mục /etc /nginx...)nginx. conf and for NGINX Plus is placed in the /etc/nginx directory. (For NGINX Open Source , the location depends on the package system used to install NGINX and the operating system. It is typically one of /usr/local/nginx/conf, /etc/nginx, or /usr/local/etc/nginx.)

Bạn có thể chạy WordPress trên nginx không?

Và như bây giờ bạn đã biết, Nginx và WordPress hoạt động rất tốt với nhau!Ở đây, chúng tôi sẽ hướng dẫn bạn thông qua việc cài đặt WordPress bằng Nginx trên nền tảng Linux.Tương tự như LAMP, sử dụng Nginx được gọi là LEMP là viết tắt của Linux, Nginx, MySQL/MariaDB và PHP.Nginx and WordPress work really well together! Here, we will walk you through the installation of WordPress using Nginx on the Linux platform. Similar to LAMP, using Nginx is referred to as LEMP which stands for Linux, Nginx, MySQL/MariaDB, and PHP.

Làm thế nào cài đặt PHP trên Windows nginx?

Cài đặt Nginx cho Win32 ..
Cài đặt các nhị phân Windows của PHP, đảm bảo rằng PHP-cGI.exe được cài đặt trong cùng thư mục với php.exe ..
Tạo ở đâu đó (ví dụ: trong C: \ nginx \) một tập tin hàng loạt start-php-fcgi.bat tương tự như cái này:.