如何通过PHP-FPM配置Nginx以使用PHP
Nginx+PHP是最受欢迎的软件组之一,您可以使用它来构建您的网站。本分步教程将向您展示如何使用PHP-FPM在服务器上安装和配置Nginx以执行PHP。
Nginx是PHP-FPM的理想组合。它是一个稳定的Web服务器,以其令人印象深刻的性能和低资源消耗而闻名。
当您使用PHP-FPM时,PHP作为一个独立的服务运行。使用这个PHP版本作为语言解释器意味着请求将通过UNIX套接字进行处理。Nginx服务器将只处理HTTP请求,而PHP-FPM解释PHP代码。
1.安装Nginx
Ubuntu/Debian
因为Nginx可以在Debian和Ubuntu的默认存储库中使用,所以可以使用apt打包系统从这些存储库中安装它。
sudo apt安装nginx
CentOS/AlmaLinux/Rocky Linux
要获得最新的Nginx版本,需要在CentOS、AlmaLinux或Rocky Linux用户首先安装EPEL存储库。
EPEL(Extra Packages for Enterprise Linux)是Fedora团队的一个开源免费社区存储库项目,为基于RHEL的Linux发行版提供高质量的附加软件包。
sudo yum-install-epel发布
然后您可以安装Nginx服务器。
sudo yum-install nginx
Fedora
Nginx在默认的Fedora存储库中可用,可以直接使用
dnf
软件包管理器。
sudo dnf安装nginx
相关:如何在Linux上安装NginxWeb服务器
2.安装PHP-FPM
Ubuntu/Debian
要在Ubuntu或Debian上安装PHP,只需运行以下命令:
sudo apt安装php-fpm
可在
默认情况下,可在CentOS服务器中使用的PHP版本已过时。出于这个原因,我们需要安装第三方软件包存储库来获得PHP7。
CentOS 7
sudo百胜安装http:
//rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum-config manager--启用remi-hp74
sudo百胜安装php-php-fpm
代码语言:
JavaScript
(
javascript
)
CentOS 8
sudo百胜安装http:
//rpms.remirepo.net/enterprise/remi-release-8.rpm
sudo yum-config manager--启用remi-hp74
sudo百胜安装php-php-fpm
代码语言:
JavaScript
(
javascript
)
3.使用PHP-FPM配置NGINX以执行PHP
一旦安装了Nginx和PHP,我们就可以配置Nginx将PHP请求发送到PHP-FPM。
我们需要创建一个Nginx服务器块配置文件来使用FPM运行PHP。之后,您可以根据自己的要求创建一个新的VirtualHost,从而启用任何新的VirtualHost。
sudo vim/etc/nginx/sites available/example.com
替换
example.com
与您的网站的域或IP地址,以及
根
指令与站点的根目录。
<
坚强的
>
服务器
</
坚强的
>
{
<
坚强的
>
听
</
坚强的
>
80;
<
坚强的
>
根
</
坚强的
>
/var/www/html;
<
坚强的
>
索引
</
坚强的
>
index.php index.html index.htm;
<
坚强的
>
服务器名称
</
坚强的
>
example.com;
<
坚强的
>
位置
</
坚强的
>
/ {
<
坚强的
>
try_files
</
坚强的
>
$uri$uri/=404;
}
<
坚强的
>
位置
</
坚强的
>
~\.php${
<
坚强的
>
包括
</
坚强的
>
snippets/fastcgi-hp.conf;
<
坚强的
>
fastcgi_pass
</
坚强的
>
unix:/var/run/php/php7.4-fpm.sock;
}
}
代码语言:
HTML,XML
(
xml
)
将您的更改保存到配置文件中,并创建到启用站点的目录的链接。
sudo ln-s/etc/nginx/sites-available/example.com/etc/nginx/sites-enabled/example.com
确保PHP套接字文件的名称(在我们的例子中
php7.4-fpm.sock
)中指定
fastcgi_pass
指令是正确的。
ls-l/
var
/run/php/
代码语言:
JavaScript
(
javascript
)
全部的
4.
-rw-r--r--
1.
根
5.
十二月
1.
17
:
43
php7
4.
-fpm.pid
srw-rw----
1.
www数据www数据
0十二月
1.
17
:
43
php7
4.
-fpm.sock
lrwxrwxrwx
1.
根
30
十二月
1.
17
:
43
php-fpm.sock->
等
备选方案/php-fpm.sock
代码语言:
JavaScript
(
javascript
)
如果名称不同于
php7.4-fpm.sock
,只需将上面显示的服务器块中的它替换为服务器中的当前块即可。
然后重新启动Nginx服务以重新加载更改。
sudo
systemctl
重新启动
nginx
服务
代码语言:
CSS
(
css
)
4.测试设置
创建一个测试PHP文件,以验证PHP-FPM是否工作并且是否与Nginx集成。在上面的服务器块中,我们的网站由
/var/www/html
,所以我们将在那里创建一个测试文件:
回响
“”
|sudo三通/
var
/www/html/info.php
代码语言:
PHP
(
php
)
最后,访问
info.php
通过web浏览器,使用您的网站的域或服务器的IP地址。您应该看到PHP配置页面:

结论
祝贺您已经将Nginx设置为通过PHP-FPM处理PHP请求。
接下来你可以采取一些步骤。例如,您应该确保与服务器的连接是安全的。但是怎么做呢?
按照我们的分步教程为您的服务器获取免费的Let's Encrypt SSL证书。
如何从官方MS存储库在Linux上安装Microsoft Teams
微软团队是第一个进入Linux的微软办公套件工具,它可能不是最后一个。 尽管Linux社区中的许多人会拒绝使用非开源的软件解决方案,但对于任何想要使用Linux并必须通过Microsoft Teams进行合作的人来说,这将改变游戏规则。 相关:如何在Linux上轻松安装Microsoft Edge 因此,通常有两种方法可以在Linux上安装Microsoft Teams。 Microsoft提供团
如何在Ubuntu中引导进入救援模式
Ubuntu以其稳定性和可靠性而闻名,但偶尔,您可能会遇到一些问题,阻止您的系统正常启动。在这种情况下,Ubuntu提供了一个强大的工具,叫做Rescue mode。 无论你是经验丰富的Linux用户,还是面临系统故障的新手,救援模式都可以成为你的生命线,让你的Ubuntu安装回到正轨。以下是如何引导您的Ubuntu系统进入救援或紧急模式。 在Ubuntu上启动进入救援模式 要启动到救援或紧急模式
Proton 9.0推出Linux游戏改进版
Valve刚刚宣布对Proton进行重大更新,它的兼容层允许Windows游戏在Linux系统上运行。最新版本Proton 9.0包括许多增强和扩展,有望为所有Linux游戏玩家提供更好的游戏体验。 这次更新的亮点是扩展质子支持的游戏库。以前只能使用质子实验版播放的游戏,如《索尼克色彩:终极版》、《总决赛》和《指环王:咕噜》,现在得到了全面支持。 此外,Proton 9.0还提高了与高核CPU的兼
此时不要尝试升级到Ubuntu 24.04 LTS
Ubuntu 24.04 LTS(Noble Numbat)几天前刚刚发布。所以你可能想从22.04 LTS或23.10(Mantic-Minotaur)跳到它——这太刺激了!但让我直接一点,在这里有点激烈: 不要! 我将在下面解释原因。 供您参考,传统上,Canonical在Ubuntu的LTS版本第一次发布后不久就为其提供了官方升级路径。对于24.04 LTS,此更新计划于8月15日(24.0
Proxmox VE 8.2推出增强型迁移工具
Proxmox是一个全面的服务器虚拟化平台,旨在使用用于虚拟化的QEMU和用于容器的LXC等工具来处理基于容器的虚拟机技术,在其上一次8.1发布五个月后,Proxmox发布了其最新迭代Proxmox VE 8.2,带来了一系列新功能和更新,增强了其功能和用户体验。 这次更新建立在Debian 12.5的强大基础上,并由最新的稳定Linux内核6.8提供支持,用户可以从各种虚拟化工具的最新版本中受益