如何在Debian 10服务器上安装LEMP

在本文中,我们将向您解释如何使用MariaDB作为数据库管理平台在Debian 10服务器上安装和设置LEMP环境。

LEMP ”是开源软件的混合体,通常安装在Linux服务器上以部署动态应用程序。 该术语是代表Linux操作系统,Nginx Web服务器,MariaDB数据库和PHP编程的首字母缩写。

另请参阅如何在Debian 10服务器上安装LAMP

虽然这个“ LEMP ”通常包含MySQL作为数据库管理系统,但某些Linux发行版(如Debian )使用MariaDB作为MySQL的直接替代品。

要求

  1. 如何安装Debian 10(Buster)最小服务器

在本文中,我们将向您解释如何使用MariaDB作为数据库管理平台在Debian 10服务器上安装和设置LEMP环境。

在Debian 10上安装Nginx Web服务器

Nginx是一个开源和跨平台,轻量级但功能强大且易于配置的HTTP反向代理服务器 ,邮件代理服务器和通用TCP / UDP代理服务器,具有模块化架构。

它的一些基本功能包括提供静态和索引文件; 加速对FastCGIuwsgiSCGIMemcached服务器的缓存支持,负载平衡和容错,SSL和TLS SNI支持,支持HTTP / 2加权和基于依赖的优先级。

要安装Nginx软件包,请使用Debian的apt软件包管理器 ,如图所示。

# apt update 
# apt install nginx 
在Debian 10上安装Nginx

在Debian 10上安装Nginx

Nginx安装完成后,安装程序将激活systemd以立即启动Nginx服务,并使其在系统引导时自动启动。 您可以使用以下systemctl命令检查 Nginx的状态。

# systemctl status nginx
检查Nginx状态

检查Nginx状态

您还可以使用以下重要命令在systemd下启动,重新启动,停止和重新加载Nginx服务配置

# systemctl start nginx
# systemctl restart nginx 
# systemctl stop nginx
# systemctl reload nginx 
# systemctl status nginx 

接下来,如果您运行UFW防火墙 (默认情况下通常禁用),则需要打开端口80(HTTP)443(HTTPS)以允许Nginx上的传入流量。

# ufw allow 80
# ufw allow 443
# ufw status

此时,您需要测试Nginx是否已正确安装,是否正在运行并且可以提供网页。 为此,请打开Web浏览器并将其指向以下URL以访问Nginx Debian默认网页。

http://SERVER_IP/
OR
http://localhost/
检查Debian 10上的Nginx页面

检查Debian 10上的Nginx页面

在Debian 10上安装MariaDB

接下来,您需要安装数据库系统才能存储和管理您的网站或Web应用程序的数据。 Debian 10默认支持MariaDB ,作为MySQL的直接替代品。

要安装MariaDB ,请运行以下命令。

# apt install mariadb-server
在Debian 10中安装MariaDB

在Debian 10中安装MariaDB

接下来,检查MariaDB服务状态,因为它由systemd自动启动并启用以在系统引导时启动,以确保它已启动并运行,请使用以下命令。

# systemctl status mariadb
检查MariaDB状态

检查MariaDB状态

要在systemd下管理(启动,重新启动,停止和重新加载) MariaDB服务,可以使用以下命令。

# systemctl start mariadb
# systemctl restart mariadb
# systemctl stop mariadb
# systemctl reload mariadb

接下来,默认情况下,MariaDB部署将不安全。 您需要运行随程序包一起提供的shell脚本,以便提高数据库的安全性。

# mysql_secure_installation

运行脚本后,它将引导您完成一系列以下问题,以修改MariaDB安装的默认设置,如以下屏幕截图所示。

在Debian 10中保护MariaDB

在Debian 10中保护MariaDB

在Debian 10上安装PHP-FPM(快速进程管理器)

Apache和其他Web服务器不同, Nginx不提供对PHP的本机支持,因为它使用PHP-FPM来处理PHP页面的请求。 PHP-FPMPHP的另一种FastCGI守护程序,它允许网站通过使用工作进程处理请求来处理高负载。

要安装PHP-FPM版本7.3和PHP模块以与MariaDB / MySQL数据库系统通信,请运行以下命令。

# apt install php-fpm php-mysqli
在Debian 10中安装PHP-FPM

在Debian 10中安装PHP-FPM

安装PHP-FPM后,安装程序将激活systemd以立即启动PHP-FPM服务,并使其在系统引导时自动启动。 要检查它是否已启动并运行,请发出以下命令。

# systemctl status php-fpm
检查PHP-FPM状态

检查PHP-FPM状态

您还可以在systemd下启动,重新启动stop并重新加载PHP-FPM服务的配置,如下所示。

# systemctl start php-fpm
# systemctl restart php-fpm
# systemctl stop php-fpm
# systemctl reload php-fpm
# systemctl status php-fpm

接下来,您需要通过在配置文件/etc/php/7.3/fpm/php.ini中进行一些更改来保护PHP-FPM ,如下所示。

# vi /etc/php/7.3/fpm/php.ini

查找;cgi.fix_pathinfo=1通过删除;取消注释; 一开始的字符,将其值设置为0 这可以防止Nginx允许非PHP文件作为PHP执行。

cgi.fix_pathinfo=0

默认情况下, PHP-FPM配置为监听/etc/php/7.3/fpm/pool.d/www.conf配置文件中定义的UNIX soxket /run/php/php7.3-fpm.sock 如果要处理和提供PHP页面,则必须配置所有服务器块(或虚拟主机 )以使用此套接字。

您可以使用Nginx默认服务器块配置文件/ etc / nginx / sites-available / default来测试它。

# vi /etc/nginx/sites-available/default 

查找以下部分并取消注释以将PHP脚本传递给FastCGI服务器,如屏幕截图所示。

location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/run/php/php7.3-fpm.sock;
}
将PHP脚本传递给FastCGI

将PHP脚本传递给FastCGI

接下来,使用以下命令测试Nginx配置结构是否正常

# nginx -t
检查Nginx配置

检查Nginx配置

如果Nginx配置正常 ,要应用最近进行的更改,请按如下方式重新启动php7.3-fpmnginx服务。

# systemctl restart php7.2-fpm
# systemctl restart nginx

在Nginx上测试PHP-FPM处理

在配置PHP-FPMNginx协同工作之后,您需要测试两个服务是否可以处理并向客户端提供PHP页面。 为此,请在Web DocumentRoot中创建一个简单的PHP脚本,如下所示。

# echo “<?php phpinfo(); ?>”  | tee /var/www/html/info.php

最后,打开浏览器并键入以下地址,以查看由phpinfo()函数生成的系统上的PHP配置。

http://SERVER_IP/info.php
OR
http://localhost/info.php
检查PHP-FPM信息

检查PHP-FPM信息

结论

在本文中,我们展示了如何在Debian 10中安装和配置LEMP 如果您有任何问题或反馈,请通过下面的评论表联系我们并告知我们。