温馨提示×

Ubuntu中LNMP常见问题解答

小樊
42
2025-09-14 13:15:51
栏目: 智能运维

以下是Ubuntu中LNMP常见问题的解答:

一、服务启动失败

  • Nginx无法启动

    • 检查配置文件语法:sudo nginx -t,修复错误后重启。
    • 查看端口占用:sudo netstat -tuln | grep :80,确保80端口未被占用。
    • 确认防火墙放行:sudo ufw allow 80/tcp
  • MySQL无法启动

    • 查看错误日志:/var/log/mysql/error.log,常见原因包括配置文件错误、权限不足或端口冲突。
    • 检查服务状态:sudo systemctl status mysql,尝试重启服务。
  • PHP-FPM无法启动

    • 检查配置文件:/etc/php/7.x/fpm/php-fpm.conf,确保listen指令正确且无语法错误。
    • 确认用户权限:chown -R www-data:www-data /var/run/php/

二、连接与权限问题

  • 数据库连接失败

    • 确保MySQL服务运行:sudo systemctl status mysql
    • 检查应用配置中的主机、用户名、密码是否正确,测试连接:mysql -u 用户名 -p
    • 开放防火墙端口:sudo ufw allow 3306/tcp
  • 文件权限不足

    • 确保Nginx/PHP-FPM用户(通常为www-data)对网站目录有读写权限:
      sudo chown -R www-data:www-data /var/www/html

三、性能与配置优化

  • Nginx性能优化

    • 调整worker_processes(通常设置为CPU核心数)和worker_connections
    • 启用Gzip压缩:gzip on;,减少传输体积。
  • MySQL性能优化

    • 修改缓冲池大小:innodb_buffer_pool_size=服务器内存50%-70%,配置文件路径:/etc/mysql/my.cnf
    • 定期清理碎片:OPTIMIZE TABLE 表名
  • PHP-FPM优化

    • 调整进程管理方式:pm = dynamic(动态调整进程数),设置pm.max_children避免资源耗尽。
    • 启用OPcache加速:在php.ini中设置opcache.enable=1

四、日志与监控

  • 查看日志定位问题

    • Nginx错误日志:/var/log/nginx/error.log
    • MySQL错误日志:/var/log/mysql/error.log
    • PHP-FPM错误日志:/var/log/php7.x-fpm.log
  • 系统资源监控

    • 使用top/htop查看CPU/内存占用,df -h检查磁盘空间。
    • 通过netstatss监控网络连接状态。

五、其他常见问题

  • SSL证书配置错误

    • 确保证书路径正确:ssl_certificate /etc/ssl/certs/xxx.crt;,并确保证书为PEM格式。
    • 重启Nginx后测试:sudo nginx -t && sudo systemctl restart nginx
  • 依赖包冲突

    • 安装时使用sudo apt-get -f install修复依赖问题,避免手动安装导致版本冲突。

提示:操作前建议备份配置文件,修改后通过sudo nginx -tsudo systemctl restart验证配置正确性。若问题仍未解决,可参考官方文档或社区论坛(如Stack Overflow)搜索具体错误信息。

0