如何通过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证书。
延伸阅读:
Windows 记事本终于获得自动更正和拼写检查功能
在首次引入 Windows 大约 41 年后,记事本终于更新了自动更正和拼写检查功能。这家科技巨头于今年 3 月推出了拼...
Ubuntu 的 apt 和 apt-get 命令有什么区别?
在Ubuntu及其他基于Debian的Linux发行版中,软件包管理是系统维护的一个重要方面。apt和apt-get是两...
Ubuntu远程桌面:如何设置和连接
远程桌面是一种允许您远程接管和使用另一台计算机的服务。在Ubuntu中,可以在图形客户端机器上启用它来控制主机。此功能对...
苹果公司在“放开”iPad活动上宣布的4款产品(以及你错过了什么)
利用当天的视频 苹果2024年5月的“放开”活动标志着iPad系列的一个重要里程碑,该公司推出了自成立以来最重大的升级。...
将照片从iPhone传输到iPhone的8种快速方法
已升级到新iPhone,是否要从旧设备中移动所有照片?或者你只是想从别人的iPhone上转移照片?以下是在两部iPhon...