引言
在现代 Web 开发中,LAMP 和 LEMP 是两种最常见的服务器技术栈。它们都提供了一套完整的开源软件来托管和运行动态网站和应用程序。
- LAMP 指的是 Linux, Apache, MySQL/MariaDB, PHP。Apache 是一款历史悠久、功能强大且高度可配置的 Web 服务器。
- LEMP 指的是 Linux, Eginx (发音为 “Engine-X”), MySQL/MariaDB, PHP。Nginx 是一款以高性能和高并发处理能力而闻名的现代化 Web 服务器。
本指南将分别介绍这两种技术栈的完整安装和配置步骤。
第一部分:在 Debian 上搭建 LAMP 服务器
LAMP 技术栈使用 Apache 作为其 Web 服务器。
第 1 步:更新系统软件包
在安装新软件之前,始终建议更新您的系统软件包列表和已安装的软件包。
bash
sudo apt update && sudo apt upgrade -y
第 2 步:安装 Apache Web 服务器
Apache 在 Debian 的官方软件源中可用。
bash
sudo apt install apache2 -y
安装完成后,您可以通过检查其服务状态来验证 Apache 是否正在运行:
bash
sudo systemctl status apache2
您应该会看到 “active (running)” 的状态。您也可以在 Web 浏览器中访问您服务器的 IP 地址 (http://your_server_ip),您应该能看到 Apache 的默认欢迎页面。
第 3 步:安装 MariaDB 数据库服务器
MariaDB 是 MySQL 的一个流行的、社区驱动的分支,并且在许多 Linux 发行版中是默认的数据库服务器。
bash
sudo apt install mariadb-server -y
安装后,强烈建议运行安全脚本来保护您的数据库。该脚本将帮助您设置 root 密码、删除匿名用户、禁止 root 远程登录以及删除测试数据库。
bash
sudo mysql_secure_installation
根据提示操作。对于所有问题,特别是设置 root 密码和删除不安全的默认设置,回答 “Y” 通常是安全的。
第 4 步:安装 PHP
PHP 是用于处理动态内容的脚本语言。您还需要 libapache2-mod-php 来将 PHP 与 Apache 集成,以及 php-mysql 以便 PHP 能与 MariaDB/MySQL 通信。
bash
sudo apt install php libapache2-mod-php php-mysql php-cli -y
根据您应用程序的需求,您可能还需要安装一些额外的 PHP 模块(例如 php-gd, php-curl, php-mbstring, php-xml, php-zip)。
bash
sudo apt install php-gd php-curl php-mbstring php-xml php-zip -y
安装 PHP 后,重启 Apache 以使 PHP 模块生效:
bash
sudo systemctl restart apache2
第 5 步:验证 PHP 处理(可选但推荐)
在 Apache 的 Web 根目录 (/var/www/html/) 中创建一个简单的 PHP 文件,以验证 PHP 是否正常工作。
bash
sudo nano /var/www/html/info.php
将以下内容添加到文件中:
“`php
“`
保存并关闭文件 (Ctrl+X, Y, Enter)。
现在,打开您的 Web 浏览器并访问 http://your_server_ip/info.php。您应该会看到一个显示详细 PHP 配置信息的页面。
安全提示: 验证后,删除此 info.php 文件至关重要,因为它会暴露敏感的服务器信息。
bash
sudo rm /var/www/html/info.php
第二部分:在 Debian 上搭建 LEMP 服务器
LEMP 技术栈使用 Nginx 作为其 Web 服务器,以其高性能和高效率而著称。
第 1 步:更新系统软件包
bash
sudo apt update && sudo apt upgrade -y
第 2 步:安装 Nginx Web 服务器
bash
sudo apt install nginx -y
通过检查其服务状态来验证 Nginx 是否正在运行:
bash
sudo systemctl status nginx
您应该会看到 “active (running)” 的状态。您也可以在 Web 浏览器中访问您服务器的 IP 地址 (http://your_server_ip),您应该能看到 Nginx 的默认欢迎页面。
第 3 步:安装 MariaDB 数据库服务器
数据库的安装过程与 LAMP 技术栈完全相同。
bash
sudo apt install mariadb-server -y
保护您的数据库安装:
bash
sudo mysql_secure_installation
按照提示设置 root 密码并保护数据库。
第 4 步:安装 PHP 和 PHP-FPM
为了让 Nginx 能够处理 PHP 文件,您需要安装 PHP-FPM (FastCGI Process Manager)。
bash
sudo apt install php-fpm php-mysql php-cli -y
根据需要安装额外的 PHP 模块:
bash
sudo apt install php-gd php-curl php-mbstring php-xml php-zip -y
第 5 步:配置 Nginx 以使用 PHP-FPM
您需要修改默认的 Nginx 服务器块配置来处理 PHP 文件。打开默认的 Nginx 配置文件:
bash
sudo nano /etc/nginx/sites-available/default
找到 server 块并进行以下更改:
* 将 index.php 添加到 index 指令。
* 取消对 location ~ \.php$ 块的注释。
* 确保 fastcgi_pass 指令指向正确的 PHP-FPM 套接字 (例如 unix:/run/php/php8.2-fpm.sock – 版本号可能不同)。
您的 server 块应类似于以下内容 (请根据您的 PHP 版本调整 fastcgi_pass):
“`nginx
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.php index.html index.htm index.nginx-debian.html;
server_name your_domain_or_ip;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php-fpm.sock; # 根据您的PHP版本调整, 例如: unix:/run/php/php8.2-fpm.sock
}
location ~ /\.ht {
deny all;
}
}
“`
保存并关闭文件。
测试 Nginx 配置是否存在语法错误:
bash
sudo nginx -t
如果测试成功,重启 Nginx 以应用更改:
bash
sudo systemctl restart nginx
第 6 步:验证 PHP 处理(可选但推荐)
在 Nginx 的 Web 根目录 (/var/www/html/) 中创建一个 info.php 文件,以验证 PHP-FPM 是否正常工作。
bash
sudo nano /var/www/html/info.php
添加以下内容:
“`php
“`
保存并关闭文件。
打开您的 Web 浏览器并访问 http://your_server_ip/info.php。您应该会看到 PHP 信息页面。
安全提示: 验证后,请务必删除此文件。
bash
sudo rm /var/www/html/info.php
结论
恭喜!您现在已经成功地在您的 Debian 服务器上设置了 LAMP 或 LEMP 环境。您可以开始上传您的网站文件到 /var/www/html 目录,并开始您的 Web 开发之旅。