网站搜索

如何在 CentOS 8 上安装 LEMP 服务器


LEMP 是一个软件堆栈,包含一组免费开源工具,用于为高流量和动态网站提供支持。 LEMPLinuxNginx(发音为Engine X)、MariaDB/MySQL 的缩写 和 PHP

Nginx 是一个开源、强大且高性能的 Web 服务器,也可以兼作反向代理。 MariaDB是用于存储用户数据的数据库系统,PHP是用于开发和支持动态网页的服务器端脚本语言。

相关文章:如何在CentOS 8上安装LAMP服务器

在本文中,您将了解如何在 CentOS 8 Linux 发行版上安装 LEMP 服务器。

步骤1:在CentOS 8上更新软件包

首先,通过运行以下 dnf 命令来更新 CentOS 8 Linux 上的存储库和软件包。

sudo dnf update

步骤 2:在 CentOS 8 上安装 Nginx Web 服务器

完成软件包更新后,使用简单的命令安装Nginx

sudo dnf install nginx

该代码片段显示 Nginx 安装顺利,没有出现任何问题。

安装完成后,将 Nginx 配置为开机启动,并通过执行命令验证 Nginx 是否正在运行。

sudo systemctl enable nginx
sudo systemctl start nginx
sudo systemctl status nginx

要检查安装的 Nginx 版本,请运行命令。

nginx -v

如果你的好奇心战胜了你,并且你想挖掘有关 Nginx 的更多信息,请执行以下 rpm 命令。

rpm -qi nginx 

要确认您的 Nginx 服务器正在使用浏览器运行,只需在 URL 栏中输入系统的 IP 地址并按 ENTER 即可。

http://server-IP

您应该能够看到“欢迎使用 Nginx”网页,这表明您的 Nginx Web 服务器已启动并正在运行。

步骤3:在CentOS 8上安装MariaDB

MariaDBMySQL 的免费开源分支,并提供最新功能,使其成为 MySQL 的更好替代品。要安装 MariaDB,请运行命令。

sudo dnf install mariadb-server mariadb

要使 MariaDB 在启动时自动启动,请运行。

sudo systemctl enable mariadb

要启动 MariaDB 服务器,请运行命令。

sudo systemctl start mariadb

安装后,使用以下命令检查其状态。

sudo systemctl status mariadb

MariaDB 数据库引擎不安全,任何人都可以在没有凭据的情况下登录。要强化 MariaDB 并确保其安全以最大程度地减少未经授权访问的可能性,请运行以下命令。

sudo mysql_secure_installation

接下来是一系列的提示。第一个要求您设置 root 密码。按ENTER 并输入Y(表示)来指定 root 密码。

设置密码后,回答其余问题以删除匿名用户、删除测试数据库并禁用远程 root 登录。

完成所有步骤后,您可以登录 MariaDB 服务器并检查 MariaDB 服务器版本信息(提供您在保护服务器时指定的密码)。

mysql -u root -p

步骤 4:在 CentOS 8 上安装 PHP 7

最后,我们将安装最后一个组件 LEMP 堆栈,即 PHP,一种通常用于开发动态网页的脚本 Web 编程语言。

在撰写本指南时,最新版本是PHP 7.4。我们将使用 Remi 存储库来安装它。 Remi 存储库是一个免费的存储库,附带了 CentOS 默认情况下不可用的最新尖端软件版本。

运行以下命令来安装 EPEL 存储库。

sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

此后,继续使用以下命令安装 yum-utils 并启用 remi-repository。

sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm

接下来,搜索可安装的可用 PHP 模块。

sudo dnf module list php

如图所示,输出将显示可用的 PHP 模块、流和安装配置文件。从下面的输出中,我们可以看到当前安装的版本是 PHP 7.2,用方括号括起来的字母 d 表示。

从输出中,我们还可以看到我们要安装的最新 PHP 模块是 PHP 7.4。但首先,我们需要重置 PHP 模块。所以运行命令。

sudo dnf module reset php

接下来,通过运行启用 PHP 7.4 模块。

sudo dnf module enable php:remi-7.4

启用 PHP 7.4 模块后,最后安装 PHPPHP-FPM (FastCGI Process Manager) 和关联的 PHP 模块使用命令。

sudo dnf install php php-opcache php-gd php-curl php-mysqlnd

现在,验证安装的版本。

php -v 

接下来,启用并启动 php-fpm。

sudo systemctl enable php-fpm
sudo systemctl start php-fpm

要检查其状态,请执行命令。

sudo systemctl status php-fpm

另一件事是,默认情况下,PHP-FPM 配置为以 Apache 用户身份运行。但由于我们正在运行 Nginx Web 服务器,因此我们需要将其更改为 Nginx 用户。

因此,打开文件/etc/php-fpm.d/www.conf

vi /etc/php-fpm.d/www.conf

找到这两行。

user = apache
group = apache

现在将这两个值更改为 Nginx。

user = nginx
group = nginx

保存并退出配置文件。

然后重新启动 NginxPHP-FPM 以使更改生效。

sudo systemctl restart nginx
sudo systemctl restart php-fpm

第五步:PHP信息测试

默认情况下,Nginx 的 Web 目录文件夹位于 /usr/share/nginx/html/ 路径中。为了测试 PHP-FPM,我们将创建一个 PHP 文件 info.php 并粘贴以下行。

<?php
 phpinfo();
?>

保存并退出文件。

启动浏览器,然后在 URL 栏中输入 Web 服务器的 IP 地址,如图所示。

http://server-ip-address/info.php

如果一切顺利,您将看到有关正在运行的 PHP 版本的信息,并且将显示其他指标。

就是这样,伙计们!您已在 CentOS 8 上成功安装 LEMP 服务器堆栈。作为安全预防措施,您可能需要删除 info.php 文件,以防止黑客从您的 Nginx 服务器获取信息。