linux

Linux LAMP面试题汇总

小樊
55
2025-08-27 06:48:24
栏目: 智能运维

以下是Linux LAMP相关面试题汇总,涵盖基础概念、配置管理及问题排查等内容:

一、基础概念

  1. LAMP架构组成及作用

    • Linux:操作系统,提供基础运行环境。
    • Apache:Web服务器,处理HTTP请求。
    • MySQL:关系型数据库,存储数据。
    • PHP:服务器端脚本语言,生成动态网页。
      应用场景:企业官网、博客系统、电商平台等。
  2. Linux文件系统基础

    • 树状结构,根目录为“/”,常见目录包括/bin(命令)、/etc(配置文件)、/var(日志)。
    • 文件权限:用chmod设置,如777表示所有者、组、其他用户均有读写执行权限。

二、配置与管理

  1. LAMP环境部署步骤(以Ubuntu为例)

    • 安装Apache:sudo apt install apache2,验证:sudo systemctl status apache2
    • 安装MySQL:sudo apt install mysql-server,运行安全脚本:sudo mysql_secure_installation
    • 安装PHP:sudo apt install php libapache2-mod-php php-mysql,重启Apache:sudo systemctl restart apache2
    • 测试:创建/var/www/html/info.php,内容为<?php phpinfo(); ?>,访问http://服务器IP/info.php
  2. 关键配置文件

    • Apache:主配置文件/etc/apache2/apache2.conf,端口配置/etc/apache2/ports.conf
    • MySQL:配置文件/etc/mysql/my.cnf,用户权限管理mysql -u root -p
    • PHP:配置文件php.ini,修改后需重启Apache生效。

三、常见问题与解决

  1. Apache无法启动

    • 原因:端口冲突(如80端口被占用)、配置文件语法错误。
    • 解决sudo netstat -tuln查看端口占用,修改/etc/apache2/ports.conf;检查错误日志/var/log/apache2/error.log
  2. MySQL连接失败

    • 原因:服务未启动、防火墙拦截、密码错误。
    • 解决sudo systemctl start mysqlsudo ufw allow 3306;使用mysql -u 用户名 -p验证。
  3. PHP脚本无法执行

    • 原因:文件权限不足、Apache未加载PHP模块。
    • 解决sudo chmod +rx /path/to/script.php;确保php.iniextension_dir配置正确,重启Apache。

四、性能优化与安全

  1. 优化Apache性能

    • 启用压缩:sudo a2enmod deflate,修改/etc/apache2/mods-available/deflate.conf
    • 静态资源缓存:通过mod_expires设置过期时间。
  2. 安全加固措施

    • 禁止root远程登录:修改/etc/ssh/sshd_config,设置PermitRootLogin prohibit-password
    • 配置防火墙:sudo ufw deny 22/tcp(关闭SSH端口,仅允许特定IP访问)。
    • 定期更新系统:sudo apt update && sudo apt upgrade

五、工具与命令

以上内容综合自LAMP环境部署、配置及运维中的核心考点,建议结合具体岗位需求深入拓展。

0
看了该问题的人还看了