CentOS 7 环境下部署 LAMP

在 CentOS 7 环境下部署 LAMP(Linux + Apache + MySQL 5.7 + PHP 7.4+) 环境的详细步骤如下:


1. 系统准备

1.1 更新系统
perl 复制代码
sudo yum update -y
1.2 安装依赖
perl 复制代码
sudo yum install -y gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel epel-release

2. 安装 MySQL 5.7

2.1 添加 MySQL 官方仓库
perl 复制代码
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
rpm -Uvh http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm
2.2 安装 MySQL 服务器
perl 复制代码
sudo yum install -y mysql-community-server
2.3 启动 MySQL 并设置开机自启
perl 复制代码
sudo systemctl start mysqld
sudo systemctl enable mysqld
2.4 获取临时密码并初始化
perl 复制代码
 # 查看临时密码
 sudo grep 'temporary password' /var/log/mysqld.log
 ​
 # 运行安全初始化脚本
 sudo mysql_secure_installation
  • 设置 root 密码(需满足复杂度要求)

  • 删除匿名用户、禁止 root 远程登录、删除测试数据库等

2.5 验证 MySQL
perl 复制代码
 mysql -u root -p

3. 安装 Apache

3.1 安装 Apache
perl 复制代码
 sudo yum install -y httpd
3.2 启动 Apache 并设置开机自启
perl 复制代码
 sudo systemctl start httpd
 sudo systemctl enable httpd
3.3 配置防火墙(如果关掉了可以不用配置)
perl 复制代码
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
3.4 验证 Apache
perl 复制代码
 curl http://localhost
 # 或浏览器访问服务器 IP,查看 "It works!" 页面

4. 安装 PHP 7.4+

4.1 添加 Remi 仓库
perl 复制代码
 yum install epel-release -y
 rpm -ivh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
4.2 启用 PHP 7.4 仓库
perl 复制代码
 yum -y install yum-utils
 sudo yum-config-manager --enable remi-php74
4.3 安装 PHP 7.4 及必要扩展
perl 复制代码
 yum install php74-php php74-php-cli php74-php-fpm php74-php-mysqlnd php74-php-mbstring php74-php-xml php74-php-gd php74-php-opcache -y
 ​
 # 可选
 yum install php74-php-curl php74-php-bcmath php74-php-intl php74-php-soap php74-php-json -y
4.4 验证 PHP
perl 复制代码
 php -v
4.5 创建测试 PHP 文件
perl 复制代码
 sudo echo "<?php phpinfo(); ?>" > /var/www/html/info.php
4.6 重启 Apache
perl 复制代码
 sudo systemctl restart httpd
4.7 验证 PHP 与 Apache 整合
perl 复制代码
 curl http://localhost/info.php
 # 或浏览器访问 http://<服务器IP>/info.php

5. 配置 Apache 与 PHP 交互

5.1 修改 Apache 配置文件

默认情况下,Apache 会自动加载 PHP 模块(mod_php)。如果未生效,手动修改配置:

perl 复制代码
 sudo vim /etc/httpd/conf.d/php.conf

确保以下内容存在:

perl 复制代码
 <FilesMatch \.php$>
     SetHandler application/x-httpd-php
 </FilesMatch>
5.2 重启 Apache
perl 复制代码
 sudo systemctl restart httpd

6. 防火墙与 SELinux 配置

6.1 开放防火墙端口
perl 复制代码
 sudo firewall-cmd --permanent --add-service=http
 sudo firewall-cmd --permanent --add-service=https
 sudo firewall-cmd --reload
6.2 禁用 SELinux(可选)
perl 复制代码
 sudo setenforce 0
 sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config

7. 常见问题排查

  • Apache 启动失败:检查配置文件语法错误

    perl 复制代码
     sudo apachectl configtest
  • PHP 页面无法显示 :确认 mod_php 已加载,且 php.conf 配置正确。

  • MySQL 无法远程连接 :检查 bind-address 和用户权限。


8. 完成

此时,LAMP 环境已部署完成,可以通过浏览器访问 http://<服务器IP> 测试 Apache 和 PHP 页面。

相关推荐
Linux运维技术栈18 分钟前
CVE-2026-91403 高危漏洞修复:Rocky Linux 9 多版本 JDK 环境清理实操
java·linux·运维
云上先途11 小时前
企业 AI 服务部署周期多久,会不会影响原有业务运转?
大数据·运维·人工智能
执伞人ONLY2 小时前
AI知识库自动化知识加工没做对,人工整理永远追不上知识产生
运维·人工智能·自动化
slongzhang_2 小时前
linux 递归删除源码文件|递归删除目录下 *.js,但排除 *.min.js
linux·开发语言·javascript
叼烟扛炮2 小时前
Linux 学习笔记(三十三):线程互斥——互斥锁(Mutex)与死锁
linux·运维·服务器·笔记·学习·1024程序员节
无足鸟ICT2 小时前
【RHCA+】who命令(查看已登陆用户)
linux·运维·服务器
Escalating_xu2 小时前
【Linux 网络编程】应用层协议 HTTP(下):Header、连接管理与 C++ HTTP 服务器
linux·服务器·网络
RacentCLM3 小时前
证书即服务CaaS:从申请、续期到部署的自动化链路拆解
运维·数据库·自动化·ssl
注塑机数据采集联网3 小时前
注塑机生产管控MES系统应用
大数据·运维·服务器·人工智能·物联网
海宇服务4 小时前
零信任架构实战:基于海宇全国车辆配置查验构建自动化二手商用车出厂参数建档网关
运维·人工智能·架构·自动化·1024程序员节