在Ubuntu 22.04系统上安装Nginx和PHP-FPM的方法

本文旨在帮助运行Ubuntu 22.04/20.04服务器的用户安装Nginx web服务器并配置PHP-FPM(FastCGI Process Manager)。在开始操作之前,建议执行sudo apt update和sudo apt upgrade命令更新系统。

在Ubuntu 22.04上安装Nginx

系统更新后,继续在Ubuntu 22.04 Linux系统上安装Nginx软件包:

sudo apt install nginx

安装后应自动启动服务:

$ 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)

请注意,不能在同一端口上同时运行Apache和Nginx。您需要禁用Apache web服务器或将其中一个服务器的端口更改为非http标准端口:

sudo systemctl disable --now apache2

sudo systemctl restart nginx

UFW防火墙可配置为允许80端口:

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

在Ubuntu 22.04上安装PHP-FPM

如果您计划在Nginx中使用PHP,请考虑安装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具有应运行的服务:

1、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)

2、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)

PID和Socket文件位于以下目录中:

1、Ubuntu 20.04

$ ls /run/php/

php-fpm.sock  php7.4-fpm.pid  php7.4-fpm.sock

2、Ubuntu 22.04

$ ls /run/php/

php-fpm.sock  php8.0-fpm.pid  php8.0-fpm.sock

在Ubuntu上使用Nginx配置PHP-FPM

编辑应用程序Nginx配置文件并设置fastcgi_pass部分以通过FPM套接字加载。请参见下面的代码段:

$ sudo vim /etc/nginx/php_fastcgi.conf 

# 404

try_files $fastcgi_script_name =404;

# default fastcgi_params

include fastcgi_params;

# fastcgi settings

fastcgi_pass unix:/run/php/php-fpm.sock;

fastcgi_index index.php;

fastcgi_buffers 8 16k;

fastcgi_buffer_size 32k;

fastcgi_hide_header             X-Powered-By;

fastcgi_hide_header             X-CF-Powered-By;

重新加载Nginx并在web上打开应用程序,以确认其工作正常。至此,您已在Ubuntu 22.04 Linux机器上成功安装了Nginx Web服务器。

栏目相关文章