Debian系统下如何搭建LNMP测试环境
导读:Debian系统搭建LNMP测试环境完整步骤 LNMP(Linux + Nginx + MySQL/MariaDB + PHP)是常见的Web服务组合,适用于搭建动态网站和Web应用。以下是在Debian系统上搭建LNMP测试环境的详细流程...
Debian系统搭建LNMP测试环境完整步骤
LNMP(Linux + Nginx + MySQL/MariaDB + PHP)是常见的Web服务组合,适用于搭建动态网站和Web应用。以下是在Debian系统上搭建LNMP测试环境的详细流程:
一、前置准备:更新系统包
在安装任何软件前,建议先更新系统的软件包列表和已安装的包,确保系统处于最新状态:
sudo apt update &
&
sudo apt upgrade -y
二、安装Nginx Web服务器
Nginx是一款高性能的HTTP/反向代理服务器,作为LNMP的前端服务,负责处理静态请求和转发动态请求。
- 安装Nginx:
使用apt包管理器快速安装Nginx:sudo apt install nginx -y - 启动并设置开机自启:
安装完成后,立即启动Nginx服务,并设置为系统重启后自动启动:sudo systemctl start nginx sudo systemctl enable nginx - 验证Nginx运行状态:
执行以下命令检查Nginx服务状态,若显示“active (running)”则表示安装成功:sudo systemctl status nginx - 访问默认页面:
在浏览器中输入服务器的IP地址(如http://192.168.1.100),若看到Nginx的默认欢迎页面(包含“Welcome to nginx!”字样),则说明Nginx已正常运行。
三、安装MariaDB数据库(MySQL替代方案)
MariaDB是MySQL的开源分支,兼容MySQL协议,性能更优且支持更多特性。
- 安装MariaDB:
使用apt安装MariaDB服务器和客户端:sudo apt install mariadb-server mariadb-client -y - 启动并设置开机自启:
sudo systemctl start mariadb sudo systemctl enable mariadb - 安全配置MariaDB:
运行mysql_secure_installation脚本,完成以下安全设置:- 设置root用户的强密码;
- 删除匿名用户账户;
- 禁止root用户远程登录;
- 删除测试数据库;
- 刷新权限表使设置生效。
sudo mysql_secure_installation - 登录MariaDB:
使用root用户登录MariaDB,验证安装是否成功:
输入密码后,执行sudo mysql -u root -pSELECT VERSION();查看MariaDB版本信息,若返回版本号则表示安装成功。
四、安装PHP及常用扩展
PHP是服务器端脚本语言,用于处理动态请求(如表单提交、数据库交互)。
- 安装PHP及扩展:
安装PHP核心、PHP-FPM(FastCGI进程管理器,用于与Nginx通信)及常用扩展(如MySQL驱动、GD库、MB字符串处理等):sudo apt install php php-cli php-fpm php-mysql php-gd php-mbstring php-curl php-xml -y注:
php-fpm是Nginx处理PHP请求的关键组件,必须安装;php-mysql扩展用于连接MySQL/MariaDB数据库。 - 启动并设置开机自启:
sudo systemctl start php-fpm # Debian 11及以上版本默认使用php8.2-fpm,可根据实际版本调整 sudo systemctl enable php-fpm - 验证PHP安装:
在终端执行以下命令,查看PHP版本信息:
若返回PHP版本号(如php -vPHP 8.2.12),则表示PHP安装成功。
五、配置Nginx支持PHP请求
默认情况下,Nginx无法处理PHP文件,需修改配置文件以转发PHP请求至PHP-FPM。
- 编辑Nginx默认站点配置:
打开/etc/nginx/sites-available/default文件(Debian默认站点配置路径):sudo nano /etc/nginx/sites-available/default - 修改PHP处理配置:
找到server块中的location ~ \.php$部分,替换为以下内容(确保fastcgi_pass指向正确的PHP-FPM socket路径,可通过sudo ls /run/php/查看):location ~ \.php$ { include snippets/fastcgi-php.conf; # 包含FastCGI配置片段 fastcgi_pass unix:/run/php/php8.2-fpm.sock; # 根据实际PHP版本调整(如php7.4-fpm.sock) } - 测试Nginx配置语法:
修改完成后,执行以下命令检查配置文件是否有语法错误:
若返回“syntax is ok”和“test is successful”,则表示配置正确。sudo nginx -t - 重新加载Nginx:
应用配置变更,无需重启服务:sudo systemctl reload nginx
六、测试LNMP环境
通过创建PHP信息页面,验证Nginx、PHP、MariaDB是否协同工作。
- 创建PHP测试文件:
在Nginx默认文档根目录(/var/www/html)下创建info.php文件:sudo nano /var/www/html/info.php - 写入测试代码:
在文件中添加以下内容,用于显示PHP环境信息:< ?php phpinfo(); ?> - 访问测试页面:
在浏览器中输入服务器IP地址,后跟/info.php(如http://192.168.1.100/info.php),若看到PHP信息页面(包含PHP版本、模块加载情况、服务器环境等信息),则说明LNMP环境搭建成功。
七、可选步骤:配置防火墙(UFW)
若系统启用了UFW(Uncomplicated Firewall),需允许HTTP(80端口)和HTTPS(443端口)流量,确保外部用户可以访问Web服务:
sudo ufw allow 'Nginx Full' # 允许HTTP和HTTPS
sudo ufw enable # 启用防火墙(若未启用)
注意事项
- 版本兼容性:确保Nginx、PHP、MariaDB版本兼容(如PHP 8.2需适配Nginx 1.18及以上版本);
- 安全加固:生产环境中,建议关闭
phpinfo()页面(删除info.php文件),并配置SSL证书(如Let’s Encrypt)启用HTTPS; - 扩展安装:根据项目需求安装额外PHP扩展(如
php-mysqli用于MySQLi扩展、php-pdo用于PDO扩展),使用sudo apt install php-< extension>命令安装。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian系统下如何搭建LNMP测试环境
本文地址: https://pptw.com/jishu/745033.html
