Debian LNMP常见问题与快速解决
一 安装与软件源问题
deb https://mirrors.aliyun.com/debian/ stretch main
deb https://mirrors.aliyun.com/debian/ stretch-updates main
deb https://mirrors.aliyun.com/debian-security/ stretch/updates main
# 可选 backports
# deb https://mirrors.aliyun.com/debian/ stretch-backports main
sudo apt update
若遇到 security.debian.org 访问不畅,优先更换为国内镜像或官方安全仓库的可用镜像。wget https://www.dotdeb.org/dotdeb.gpg
sudo apt-key add dotdeb.gpg
多次重试直至出现 OK。sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
然后按需选择覆盖或手动合并,避免直接覆盖导致业务配置丢失。sudo apt-get install -y locales
sudo dpkg-reconfigure locales # 勾选需要的如 zh_CN.UTF-8、en_US.UTF-8
# 或临时导出
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8
二 服务无法启动与进程崩溃
sudo mkdir -p /var/run/php5
sudo systemctl restart php5-fpm
新版本通常使用 /run/php/phpX.Y-fpm.sock,若提示目录或权限问题,同样先创建目录并修正属主属组(如 www-data)。sudo systemctl status nginx php5-fpm mysql
sudo nginx -t
sudo systemctl restart nginx php5-fpm mysql
若使用 MariaDB,将 mysql 替换为 mariadb。tail -f /var/log/syslog
tail -f /var/log/nginx/error.log
tail -f /var/log/mysql/error.log
# PHP-FPM 日志路径因安装方式不同,常见如 /var/log/php5-fpm.log 或 systemd journal
journalctl -u php5-fpm -xe
结合日志中的具体报错(如权限、端口占用、配置语法)逐项修复。三 性能与网关错误
; /etc/php/7.4/fpm/pool.d/www.conf 示例(按你的 PHP 版本调整)
listen.backlog = 1024
pm.max_requests = 200
request_terminate_timeout = 300
同时优化应用 SQL、启用 OPcache、必要时增加 FPM 子进程数。修改后重载服务:sudo systemctl reload php7.4-fpm
sudo systemctl reload nginx
四 配置与连通性
; /etc/php/7.4/fpm/pool.d/www.conf
listen = /run/php/php7.4-fpm.sock
listen.owner = www-data
listen.group = www-data
listen.mode = 0660
对应 Nginx:fastcgi_pass unix:/run/php/php7.4-fpm.sock;
listen = 127.0.0.1:9000
对应 Nginx:fastcgi_pass 127.0.0.1:9000;
修改后执行:sudo nginx -t && sudo systemctl reload nginx php7.4-fpm
sudo ufw allow 'Nginx Full'
ping your_domain_or_ip
curl -I http://127.0.0.1/
确保 DNS 解析、端口监听与服务状态均正常。五 维护与升级
sudo apt update && sudo apt upgrade -y
sudo apt-get install -f # 修复依赖
sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak_$(date +%F)
sudo mysqldump -u root -p --all-databases > backup_$(date +%F).sql