如何在Debian上搭建LNMP测试环境
导读:在Debian上搭建LNMP测试环境的实操指南 一 环境准备与版本选择 以Debian 11/12为例,使用APT安装,先更新索引并升级系统: sudo apt update && sudo apt upgrade -y...
在Debian上搭建LNMP测试环境的实操指南
一 环境准备与版本选择
- 以Debian 11/12为例,使用APT安装,先更新索引并升级系统:
- sudo apt update & & sudo apt upgrade -y
- 选择组件版本:
- Web:Nginx
- 数据库:MariaDB(或MySQL)
- PHP:建议安装PHP-FPM与常用扩展(如:php-mysql、php-gd、php-curl、php-mbstring、php-xml、php-zip、php-bcmath)
- 查看可用PHP版本:apt-cache policy php;安装示例:sudo apt install php7.4-fpm php7.4-mysql(将7.4替换为你的目标版本)。
二 安装与启动各组件
- 安装并启动Nginx:
- sudo apt install nginx -y
- sudo systemctl start nginx & & sudo systemctl enable nginx
- 浏览器访问服务器IP出现Nginx欢迎页即正常
- 安装并初始化MariaDB(或MySQL):
- MariaDB:sudo apt install mariadb-server mariadb-client -y
- MySQL:sudo apt install mysql-server -y
- sudo systemctl start mariadb(或 mysql)& & sudo systemctl enable mariadb(或 mysql)
- 运行安全脚本:sudo mysql_secure_installation(设置root密码、移除匿名用户、禁止root远程登录等)
- 安装PHP与PHP-FPM及常用扩展:
- sudo apt install php-fpm php-mysql php-cli php-gd php-curl php-mbstring php-xml php-zip php-bcmath -y
- sudo systemctl start php7.4-fpm & & sudo systemctl enable php7.4-fpm(版本号按需替换)。
三 配置Nginx与PHP-FPM联动
- 编辑默认站点配置(示例为**/etc/nginx/sites-available/default**):
- 在server块中确保index包含index.php
- 配置PHP处理:
- location ~ .php$ {
- include snippets/fastcgi-php.conf;
- fastcgi_pass unix:/run/php/php7.4-fpm.sock; # 路径与版本保持一致
- fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
- include fastcgi_params;
- }
- location ~ .php$ {
- 性能与安全建议:
- 开启OPcache(编辑/etc/php/7.4/fpm/php.ini:opcache.enable=1)
- 限制访问隐藏文件:location ~ /.ht { deny all; }
- 检查并重载Nginx:
- sudo nginx -t & & sudo systemctl reload nginx
- 说明:
- 若使用Unix socket,确保PHP-FPM池监听为:listen = /run/php/php7.4-fpm.sock
- 若改用TCP端口(如127.0.0.1:9000),将fastcgi_pass改为fastcgi_pass 127.0.0.1:9000。
四 验证与常见问题排查
- 验证PHP解析:
- echo “” | sudo tee /var/www/html/info.php
- 浏览器访问:http://服务器IP/info.php,应看到PHP信息页
- 完成后建议删除测试文件:sudo rm /var/www/html/info.php
- 验证数据库:
- mysql -u root -p 登录,执行 SHOW DATABASES; 确认可正常连接
- 常见问题快速定位:
- 502 Bad Gateway:多为PHP-FPM未运行或socket路径不一致,检查systemctl status php7.4-fpm与Nginx中fastcgi_pass路径
- 403 Forbidden:检查/var/www/html权限与Nginx配置root与index
- 查看日志:
- Nginx:sudo tail -f /var/log/nginx/error.log
- PHP-FPM:sudo tail -f /var/log/php7.4-fpm.log(路径随版本变化)。
五 可选优化与安全加固
- 防火墙放行Web流量(若启用UFW):
- sudo ufw allow ‘Nginx Full’
- 启用HTTPS(Let’s Encrypt):
- sudo apt install certbot python3-certbot-nginx -y
- sudo certbot --nginx -d yourdomain.com(按提示完成证书申请与自动配置)
- 数据库安全:
- 仅本地访问数据库;如确需远程,谨慎配置防火墙与数据库账户权限,避免使用root远程登录
- 运行用户与权限:
- 确保Nginx与PHP-FPM以www-data运行,网站目录属主与权限设置合理(如/var/www/html 755,文件644)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何在Debian上搭建LNMP测试环境
本文地址: https://pptw.com/jishu/750965.html
