温馨提示×

centos lamp安装教程

小樊
35
2026-01-02 08:47:37
栏目: 智能运维

CentOS LAMP 安装教程

一 环境准备与版本选择

  • 本教程适用于 CentOS 7/8,以 Apache + MariaDB + PHP 为例(CentOS 7/8 默认仓库使用 MariaDB 作为 MySQL 替代)。
  • 建议先更新系统并安装常用工具:
    • CentOS 7:sudo yum update -y
    • CentOS 8:sudo dnf update -y
  • 建议全程使用 root 或具备 sudo 权限的账号操作。生产环境请避免关闭 SELinux 和防火墙,按需放行端口与服务。

二 CentOS 7 快速安装步骤

  • 安装并启动 Apache
    • sudo yum install -y httpd httpd-tools
    • sudo systemctl start httpd && sudo systemctl enable httpd
  • 安装并启动 MariaDB
    • sudo yum install -y mariadb-server mariadb
    • sudo systemctl start mariadb && sudo systemctl enable mariadb
    • 运行安全初始化:sudo mysql_secure_installation(设置 root 密码、移除匿名用户、禁止远程 root 登录等)
  • 安装 PHP 及常用扩展
    • sudo yum install -y php php-mysql php-gd php-mbstring php-xml
  • 验证安装
    • 创建测试文件:echo “” | sudo tee /var/www/html/info.php
    • 浏览器访问:http://服务器IP/ 与 http://服务器IP/info.php
  • 防火墙放行(如启用 firewalld)
    • sudo firewall-cmd --permanent --add-service=http
    • sudo firewall-cmd --permanent --add-service=https
    • sudo firewall-cmd --reload

三 CentOS 8 快速安装步骤

  • 安装并启动 Apache
    • sudo dnf install -y httpd httpd-tools
    • sudo systemctl start httpd && sudo systemctl enable httpd
  • 安装并启动 MariaDB
    • sudo dnf install -y mariadb-server mariadb
    • sudo systemctl start mariadb && sudo systemctl enable mariadb
    • 运行安全初始化:sudo mysql_secure_installation
  • 安装 PHP 7.4(通过 Remi 仓库)
    • 启用 EPEL 与 Remi:sudo dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
    • sudo dnf -y install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm
    • 查看并启用 PHP 模块:sudo dnf module list php && sudo dnf module reset php && sudo dnf module enable php:remi-7.4
    • 安装 PHP 与组件:sudo dnf install -y php php-opcache php-gd php-curl php-mysqlnd
    • 如需使用 PHP-FPM(与某些模块/部署方式更契合):sudo systemctl start php-fpm && sudo systemctl enable php-fpm
  • 验证安装
    • echo “” | sudo tee /var/www/html/info.php
    • 浏览器访问:http://服务器IP/ 与 http://服务器IP/info.php
  • 防火墙放行(如启用 firewalld)
    • sudo firewall-cmd --permanent --add-service=http
    • sudo firewall-cmd --permanent --add-service=https
    • sudo firewall-cmd --reload

四 常见问题与优化建议

  • 无法访问网站
    • 检查服务状态:systemctl status httpd;如未运行则启动。
    • 检查防火墙:firewall-cmd --list-services;如未放行,执行 firewall-cmd --permanent --add-service=http(以及 https)后重载。
  • PHP 不解析
    • 确认已安装 PHP 包并重启 Apache:sudo systemctl restart httpd;访问 info.php 验证。
  • SELinux 导致访问或数据库权限异常
    • 排查模式:getenforce;临时宽松:sudo setenforce 0(仅测试用途)。生产环境建议保留 Enforcing 并通过策略/布尔值精细化放行,而非直接禁用。
  • 需要远程连接数据库
    • 在 MariaDB 中创建用户并授权远程访问(示例):
      • CREATE USER ‘newuser’@‘%’ IDENTIFIED BY ‘StrongPass!’;
      • GRANT ALL ON . TO ‘newuser’@‘%’ WITH GRANT OPTION;
      • FLUSH PRIVILEGES;
    • 防火墙放行 3306 端口:firewall-cmd --permanent --add-port=3306/tcp && firewall-cmd --reload。
  • 性能与安全优化
    • Apache:调整 MaxKeepAliveRequestsKeepAliveTimeout;开启压缩等。
    • MariaDB:根据内存调优 innodb_buffer_pool_size
    • PHP:启用 opcache,仅保留必要扩展,隐藏版本信息。

0