如何在 CentOS 8 上使用 PHP-FPM 和 MariaDB 安装 Lighttpd
本教程适用于这些操作系统版本
- CentOS 8
- CentOS 5.6
在此页
- 第 1 步 - 安装 Lighttpd Web 服务器
- 第 2 步 - 安装 MariaDB 数据库服务器
- 第 3 步 - 安装和配置 PHP-FPM
- 第 4 步 - 安装 Lighttpd 和 PHP-FPM
- - 启用 FastCGI 模块
- - 与 PHP-FPM 服务一起使用
- - 使用自生成 PHP 服务
Lighttpd 是一个开源 Web 服务器,专注于简单性和高性能。它是一个轻型 Web 服务器,内存消耗小且低,但仍保持标准合规性、安全性和灵活性。 Lighttpd 网络服务器是 LLMP 堆栈的一部分,LLMP 堆栈代表 Linux、Lighttpd、MySQL/MariaDB 和 PHP/PHP-FPM。
在本教程中,我们将向您展示如何在 CentOS 8 服务器上安装和配置 LLMP 堆栈。我们将在最新版本的 CentOS 8 服务器上安装带有 MariaDB 数据库服务器的 Lighttpd Web 服务器和 PHP-FPM。
先决条件
- CentOS 8 服务器
- 根权限
- 了解基本的 CentOS 服务器
我们会怎样做?
- 安装Lighttpd Web 服务器
- 安装 MariaDB 数据库服务器
- 安装PHP-FPM
- 设置Lighttpd和PHP-FPM
- 测试
第 1 步 - 安装 Lighttpd Web 服务器
首先,我们将添加 EPEL 存储库并将 Lighttpd 网络服务器安装到我们的 CentOS 8 系统中。默认情况下,Lighttpd 在 EPEL(企业 Linux 的提取包)存储库中可用。
使用下面的 DNF 命令将 EPEL 存储库添加到 CentOS 8 系统。
sudo dnf install epel-release
之后,使用以下命令检查所有可用的存储库。
dnf repolist
现在确保您在结果上获得了 EPEL 存储库。
接下来,使用下面的命令安装 Lighttpd 包。
sudo dnf install lighttpd -y
全部安装完成后,启动Lighttpd服务并将其添加到系统引导。
systemctl start lighttpd
systemctl enable lighttpd现在使用以下命令检查 Lighttpd 服务状态。
systemctl status lighttpd
以下是您将得到的结果。
至此,Lighttpd服务在CentOS 8系统上运行起来了。
接下来,使用下面的 firewall-cmd 命令将 HTTP 服务添加到 firewalld 规则列表。
firewall-cmd --add-service=http --permanent
firewall-cmd --reload现在打开您的网络浏览器并在地址栏中输入服务器 IP 地址。
结果,您将获得 Lighttpd Web 服务器的默认 index.html。
第 2 步 - 安装 MariaDB 数据库服务器
在此步骤中,我们将安装 MariaDB 数据库服务器并设置 MariaDB 服务器的默认 root 密码。
要安装 MariaDB 数据库服务器,请运行下面的 dnf 命令。
sudo dnf install mariadb-server -y
所有安装完成后,启动 MariaDB 服务并将其添加到系统引导。
systemctl start mariadb
systemctl enable mariadb现在使用下面的命令检查 MariaDB 服务。
systemctl status mariadb
以下是您将得到的结果。
至此,MariaDB服务在CentOS 8系统上运行起来了。
接下来,运行下面的 mysql_secure_installation 命令来设置默认的 root 密码。
mysql_secure_installation
现在为您的 MariaDB 服务器输入新密码,并为所有配置输入 Y。
Enter current password for root (enter for none):
OK, successfully used password, moving on...
Set a root password? [Y/n] Y
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y并且 MariaDB root 密码已经配置。
接下来,使用默认的 root 用户和密码登录 MySQL shell。
mysql -u root -p
登录后,使用以下查询检查 MariaDB 服务器上的所有可用用户。
select User,Host from mysql.user;
您将获得 MySQL 服务器的所有默认用户。现在键入 exit 从 MySQL shell 注销。
至此,MariaDB数据库服务器在CentOS 8系统上的安装配置已经完成。
第 3 步 - 安装和配置 PHP-FPM
对于这一步,我们将为 Lighttpd Web 服务器安装和配置 PHP-FPM。
使用下面的 dnf 命令安装 PHP 和 PHP-FPM 包。
sudo dnf install php php-fpm lighttpd-fastcgi php-mysqlnd php-pdo php-gd php-mbstring
所有安装完成后,使用 vim 编辑器编辑配置 /etc/php-fpm.d/www.conf。
vim /etc/php-fpm.d/www.conf
如下所示将默认用户和组更改为 Lighttpd。
user = lighttpd
group = lighttpd使用端口 9000 的本地 IP 地址更改默认的 PHP-FPM 监听。
listen = 127.0.0.1:9000
保存并关闭。
接下来,使用 vim 编辑器编辑 PHP 配置 /etc/php.ini。
vim /etc/php.ini
取消注释以下行以获得对 Lighttpd Web 服务器的 PHP-CGI 支持。
cgi.fix_pathinfo=1
保存并关闭。
接下来,启动PHP-FPM服务并将其添加到系统引导。
systemctl start php-fpm
systemctl enable php-fpmPHP-FPM 服务已启动并正在运行,使用以下命令进行检查。
ss -plnt
systemctl status php-fpm以下是您将得到的结果。
结果,PHP-FPM 在 CentOS 8 服务器上启动并运行,本地 IP 地址和端口 9000。
第 4 步 - 安装 Lighttpd 和 PHP-FPM
在此步骤中,我们将配置 Lighttpd 以使其与我们的 PHP-FPM 安装一起使用。
默认情况下,Lighttpd 可用于通过两种方式为 PHP Web 应用程序提供服务:
- 通过 PHP-FPM 服务提供服务
- 通过自生成 PHP-CI 提供服务
为此,我们需要在 Lighttpd Web 服务器上启用 FastCGI 模块,并将我们的配置添加到 FastCGI 模块配置文件中。
- 启用 FastCGI 模块
在继续之前,转到 /etc/lighttpd/ 目录并使用 vim 编辑器编辑配置 modules.conf。
cd /etc/lighttpd/
vim modules.conf取消注释 FastCGI 模块,如下所示。
##
## FastCGI (mod_fastcgi)
##
include "conf.d/fastcgi.conf"保存并关闭。
接下来,我们必须将我们的 PHP 配置添加到 conf.d/fastcgi.conf 配置文件中。
在 /etc/lighttpd 目录中,使用 vim 编辑器编辑 FastCGI 配置 conf.d/fastcgi.conf。
vim conf.d/fastcgi.conf
- 使用 PHP-FPM 服务
如果要使用已经在 TCP 端口 9000 的本地 IP 地址上运行的 PHP-FPM 服务,请粘贴以下配置。
fastcgi.server += ( ".php" =>
((
"host" => "127.0.0.1",
"port" => "9000",
"broken-scriptfilename" => "enable"
))
)保存并关闭。
- 使用自生成 PHP 服务
接下来,如果您想为 Lighttpd 使用自生成的 PHP-CGI,请将以下配置粘贴到其中。
fastcgi.server = ( ".php" =>
((
"bin-path" => "/usr/bin/php-cgi",
"socket" => "/var/run/lighttpd/php.socket",
"max-procs" => 4,
"bin-environment" => (
"PHP_FCGI_CHILDREN" => "",
"PHP_FCGI_MAX_REQUESTS" => "500"
),
"broken-scriptfilename" => "enable"
))
)保存并关闭。
接下来,创建一个新目录 /var/run/lighttpd 并将该目录的所有权更改为 lighttpd 用户。
mkdir -p /var/run/lighttpd
sudo chown -R lighttpd:lighttpd /var/run/lighttpd现在重新启动 Lighttpd 服务以应用新配置。
systemctl restart lighttpd
确保没有错误,因此,使用 PHP-FPM 服务或使用生成 PHP-CGI 的 Lighttpd 配置已成功完成。
第 5 步 - 测试
为了测试我们的 LLMP 安装,我们将在默认的 Lighttpd 文档根目录中创建一个新的 phpinfo 文件。
转到 /var/www/lighttpd 目录并使用 vim 编辑器创建一个新的 php 文件 info.php。
cd /var/www/lighttpd/
vim info.php将以下脚本粘贴到其中。
<?php
phpinfo();
?>保存并关闭。
接下来,打开您的网络浏览器并在 info.php 文件后面输入服务器 IP 地址,如下所示。
现在您将得到如下结果。
可以看出,PHP-FPM 正在与 Lighttpd 网络服务器一起工作。
至此,LLMP Stack(Linux、Lighttpd、MariaDB 和 PHP-FPM)在 CentOS 8 服务器上的安装已经成功完成。
第 6 步 - 附加:检查 PHP 和 Lighttpd 服务
如果您使用下面的配置运行带有 slef-spawned PHP 服务的 Lighttpd。
您可以使用以下命令检查 PHP 服务。
ss -pl | grep php
systemctl status php-fpm以下是您将得到的结果。
可以看出,自生成的 PHP 进程在 4 个套接字文件下运行。即使 PHP-FPM 服务已关闭,Lighttpd 仍在处理 PHP 应用程序。