LNMP 是指 Linux + Nginx + MySQL/MariaDB + PHP 的运行环境,在实际使用和维护中,常见错误主要集中在配置、权限、版本兼容、服务异常等方面。下面按组件和场景总结常见错误及排查思路。
常见原因:
排查:
ps aux | grep php-fpm
netstat -lntp | grep 9000
tail -f /var/log/php-fpm/error.log
常见原因:
示例:
location / {
try_files $uri $uri/ /index.php?$query_string;
}
常见原因:
解决:
chown -R www:www /site
chmod -R 755 /site
常见原因:
检查:
nginx -t
lsof -i:80
常见原因:
解决:
error_reporting(E_ALL);
ini_set('display_errors', 1);
或查看:
/var/log/php-fpm/error.log
报错示例:
Class 'mysqli' not found
解决:
php -m | grep mysqli
yum install php-mysqli
原因:
systemctl reload php-fpm
报错:
Access denied for user 'root'@'localhost'
原因:
解决:
GRANT ALL ON *.* TO 'user'@'localhost' IDENTIFIED BY 'pass';
FLUSH PRIVILEGES;
常见原因:
查看:
journalctl -xe
cat /var/log/mysqld.log
SHOW PROCESSLIST;
原因:
upload_max_filesize = 50M
post_max_size = 50M
推荐结构:
/site
├── public (web root)
├── runtime (可写)
例如:
php -v
php-fpm -v
# Nginx
/var/log/nginx/error.log
# PHP
/var/log/php-fpm/error.log
# MySQL
/var/log/mysqld.log
# 系统
journalctl -u nginx
journalctl -u php-fpm
如果你愿意,可以告诉我:
我可以直接帮你定位问题。