在不断发展的 Web 开发环境中,强大而安全的服务器环境是成功 Web 存在的基石。LEMP堆栈,包括Linux,Nginx,MySQL和PHP,是托管动态网站和Web应用程序的受人尊敬的选择。
在 Debian 12 书虫上安装 LEMP
第 1 步。在我们安装任何软件之前,通过在终端中运行以下命令来确保您的系统是最新的非常重要:apt
sudo apt update
这将刷新程序包列表并将现有程序包升级到其最新版本,从而确保您拥有最新的安全更新。
第 2 步。安装Nginx。
Nginx是Web应用程序的看门人。它是一个高性能的Web服务器,以其速度和可扩展性而闻名:
sudo apt install nginx
sudo systemctl start nginx
sudo systemctl enable nginx
第一个命令安装 Nginx,而随后的两个命令启动它并确保它在系统启动时自动启动。Nginx将很快成为您有效提供Web内容的最佳朋友。
要验证 Nginx 是否正常工作,请打开 Web 浏览器并输入服务器的 IP 地址或域名。您应该会看到默认的 Nginx 欢迎页面。这确认了Nginx已安装并正在运行。
第 3 步。安装 MySQL。
MySQL 是为您的动态 Web 应用程序提供支持的数据库引擎。让我们安装并保护它:
sudo apt install mysql-server
sudo mysql_secure_installation
第二个命令启动MySQL安全安装过程。按照屏幕上的提示设置 root 密码并删除测试数据库。这是增强服务器安全性的关键步骤。
第 4 步。安装 PHP。
PHP 是为您的 Web 应用程序带来生命的脚本语言。首先,将 PHP 存储库添加到您的系统中:
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
现在安装 PHP 8.2 以及一些常见的扩展:
sudo apt update
sudo apt install php8.2 php8.2-fpm php8.2-mysql php8.2-common php8.2-gd php8.2-json php8.2-cli php8.2-curl php8.2-zip php8.2-xml php8.2-mbstring php8.2-bcmath php8.2-json
要确保正确安装 PHP,请运行以下命令:
php -v
第5步。配置 Nginx。
Nginx已安装,但我们需要对其进行配置以提供您的Web内容。这需要编辑默认服务器块配置:
sudo nano /etc/nginx/sites-available/default
在服务器块中,添加以下行,将 替换为您的实际域名和 Web 根目录:your_domain.com
your_root_directory
server_name your_domain.com www.your_domain.com;
root /var/www/html;
index index.php index.html index.htm;
接下来,将 Nginx 配置为使用 PHP。在目录中创建一个新的 PHP 池配置文件:/etc/php/8.2/fpm/pool.d/
sudo nano /etc/php/8.2/fpm/pool.d/www.conf
在文件中,找到并更新以下行:
listen = /run/php/php8.2-fpm.sock
在块内,添加以下行以启用.php文件的 PHP 处理:server
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
}
保存文件并继续测试 Nginx 配置:
sudo nginx -t
此命令验证您的配置是否存在语法错误。如果一切正常,请重新启动Nginx:
sudo systemctl restart nginx
第 6 步。创建 MySQL 数据库。
您的MySQL服务器已安装,但我们需要创建一个数据库和一个用户来与之交互。让我们深入了解 MySQL shell:
sudo mysql -u root -p
出现提示时输入您的 MySQL 根密码。现在,让我们创建一个新的数据库、用户并授予权限:
CREATE DATABASE your_database;
CREATE USER 'your_user'@'localhost' IDENTIFIED BY 'your_strong_password';
GRANT ALL PRIVILEGES ON your_database.* TO 'your_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
将 、 和 替换为首选值。此设置使 Web 应用程序能够与数据库无缝交互。your_database
your_user
your_password
步骤 7.安装Let’s Encrypt Certbot。
在当今的数字环境中,使用HTTPS保护您的网站是不可协商的。我们将使用 Let’s Encrypt 和 Certbot 来获取 SSL 证书:
sudo apt install certbot python3-certbot-nginx
安装Certbot后,获得SSL证书轻而易举。执行以下命令,替换为您的实际域:your_domain.com
sudo certbot --nginx -d your_domain.com -d www.your_domain.com
Certbot将指导您完成整个过程,要求您提供电子邮件并要求您同意条款。完成后,Certbot将自动为您的Nginx服务器块配置SSL。
让我们加密证书的有效期为 90 天,但您可以自动执行续订过程。Certbot 将在您的证书即将到期时自动续订证书。要测试续订过程,您可以运行:
sudo certbot renew --dry-run
第8步。防火墙配置。
防火墙是服务器的守护者,控制传入和传出流量。让我们配置简单防火墙 (UFW) 以确保服务器的安全:
sudo ufw allow 'Nginx Full'
sudo ufw allow 'OpenSSH'
sudo ufw enable
第一个命令允许完全访问Nginx,而第二个命令允许SSH流量进行远程服务器管理。最后,我们使UFW能够实施这些规则。
第9步。测试您的 LEMP 堆栈。
现在您的 LEMP 堆栈已安装并受到保护,必须验证其功能:
sudo nano /var/www/html/info.php
将以下内容添加到文件中:
<?php
phpinfo();
?>
保存并退出文件,然后打开 Web 浏览器并导航到 (替换为您的实际域)。您应该会看到一个显示 PHP 信息的页面。这证实了 PHP 按预期运行。http://your_domain.com/info.php
your_domain.com
感谢您使用本教程在 Debian 12 书虫上安装最新版本的 LEMP 堆栈。有关其他帮助或有用信息,我们建议您查看 LEMP 官方网站。