更新升级 专属应用 系统故障 硬件故障 电脑汽车 鸿蒙刷机 鸿蒙开发Linux教程 鸿蒙开发Linux命令
当前位置:HMXT之家 > 鸿蒙开发Linux教程 > 在Linux系统上安装和配置LEMP堆栈的方法

在Linux系统上安装和配置LEMP堆栈的方法

更新时间:2023-03-05 10:19:28浏览次数:281+次

在本指南中,我们将系统地介绍在Linux上LEMP堆栈(LEMP Stack)的安装和配置,将以Rocky Linux 8/AlmaLinux 8系统为例说明。

简介

LEMP是Linux、Nginx、MariaDB/MySQL和PHP的缩写。Nginx是一个web服务器,MariaDB/MySQL是一个数据库管理应用程序,PHP是一种编程语言,用于后端构建web应用程序。所有这些开源软件构成了LEMP堆栈,该堆栈共同用于在生产周期或任何其他开发阶段托管和服务网页/应用程序。通常,LEMP堆栈用于托管具有高流量的高度可扩展网站。

对于本指南,您需要以下内容:

服务器上运行Rocky Linux 8、AlmaLinux 8系统。

具有sudo访问权限的用户。

首先更新系统上的所有可用软件包,如下所示:

sudo dnf update -y

安装LEMP堆栈的方法

步骤1、在Rocky Linux 8、AlmaLinux 8上安装Nginx

这个强大的web服务器存在于默认的Rocky Linux 8、AlmaLinux 8存储库中,可以使用下面的命令安装:

sudo dnf install nginx

依赖关系树如下图所示:

\

安装完成后,启动Nginx Web服务器并使其在启动时自动运行:

sudo systemctl start nginx

sudo systemctl enable nginx

检查服务状态:

$ systemctl status nginx

nginx.service - The nginx HTTP and reverse proxy server

可以使用以下命令检查Nginx的安装版本:

$ nginx -v

nginx version: nginx/1.14.1

测试Nginx是否能够使用URL服务器网页,地址格式为http://IP_Address或者http://domain_name。

允许HTTP和HTTPS通过防火墙:

sudo firewall-cmd --permanent --add-service={http,https}

sudo firewall-cmd --reload

您应该能够看到以下页面:

\

步骤2、在Rocky Linux 8、AlmaLinux 8上安装MariaDB服务器

MariaDB可以安装在Rocky Linux 8、AlmaLinux 8上,如下所示:

sudo dnf -y install @mariadb

在Rocky Linux 8、AlmaLinux 8上启动并启用MariaDB:

sudo systemctl enable --now mariadb

然后运行sudo mysql_secure_installation命令强化MariaDB实例。

登录MariaDB外壳:

$ mysql -u root -p

\

步骤3、在Rocky Linux 8、AlmaLinux 8上安装PHP

AppStream存储库有多个版本的PHP,可以使用以下命令列出:

$ sudo dnf module list php

\

如上图所示,默认版本为PHP 7.2,可以按如下方式重置:

sudo dnf module reset php

启用所需版本:

# For PHP 7.4

sudo dnf -y module install php:7.4

# For PHP 7.3

sudo dnf -y module install php:7.3

# For PHP 7.2

sudo dnf -y module install php:7.2

相关截图如下所示:

\

因此,安装PHP扩展:

sudo dnf -y install php php-fpm php-mysqlnd php-opcache php-gd php-xml php-mbstring php-zip

验证已安装的PHP版本:

$ php --version

PHP 7.4.19 (cli)

使用php-fpm启动并启用PHP:

sudo systemctl enable --now php-fpm

检查服务状态:

$ systemctl status php-fpm

php-fpm.service - The PHP FastCGI Process Manager

通常,默认情况下,PHP-FPM使用Apache用户运行。由于我们使用的是Nginx,因此需要编辑配置文件:

$ sudo vim /etc/php-fpm.d/www.conf

user = nginx

Group = nginx

应用更改:

sudo systemctl reload php-fpm

现在,在/usr/share/nginx/html目录中创建一个简单的PHP文件:

sudo vim /usr/share/nginx/html/info.php

在文件中,添加以下内容:

<?php

phpinfo();

?>

重新启动Nginx以应用更改:

sudo systemctl restart nginx

使用URL访问网页,地址格式为http://IP_address/info.php或者http://domain_name/info.php,正常情况下,您将看到PHP及其扩展的详细列表。

配置LEMP堆栈并测试网站

1、在Rocky Linux 8、AlmaLinux 8上配置Nginx服务器块

Nginx服务器块允许通过定义站点文档根目录来运行多个网站。这些根文档目录包含网站文件。

对于本指南,我们将使用以下步骤创建单个Nginx服务器块文件:

1]、创建网站目录

这是第一步,请确保将example.computingforgeeks.com替换为域名:

sudo mkdir /var/www/example.computingforgeeks.com

sudo vim /var/www/example.computingforgeeks.com/index.html

在文件中,添加内容:

<html>

  <head>

    <title>Welcome!</title>

  </head>

  <body>

    <h1>Voila! The LEMP server is working perfectly!</h1>

  </body>

</html>

2]、为网站创建Nginx服务器块

这是站点的配置文件。它详细说明了Nginx将如何满足这些请求:

sudo vim /etc/nginx/conf.d/example.computingforgeeks.com.conf

将以下行添加到文件中:

server {

    listen  80;

    server_name example.computingforgeeks.com www.example.computingforgeeks.com;

    location / {

        root  /var/www/example.computingforgeeks.com;

        index  index.html index.htm;

        try_files $uri $uri/ =404;

    }

    error_page  500 502 503 504  /50x.html;

    location = /50x.html {

        root  /usr/share/nginx/html;

    }

}

重新启动Nginx:

sudo systemctl restart nginx

将域名添加到已知主机列表中:

$ sudo vim /etc/hosts

192.168.205.2 example.computingforgeeks.com

2、测试网站

现在可以使用URL访问网站,地址格式为http://domain_name,您应该能够看到下面的页面:

\

通过以上截图,这证实了我们的LEMP堆栈正在完美工作。至此,在Linux系统上安装和配置LEMP堆栈成功完成。