更新时间:2023-01-04 10:00:58浏览次数:408+次
本文旨在帮助运行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服务器。
相关资讯