当前位置: 首页 > article >正文

CentOS 7 环境下部署 LAMP

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


1. 系统准备

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

2. 安装 MySQL 5.7

2.1 添加 MySQL 官方仓库
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 服务器
sudo yum install -y mysql-community-server
2.3 启动 MySQL 并设置开机自启
sudo systemctl start mysqld
sudo systemctl enable mysqld
2.4 获取临时密码并初始化
 # 查看临时密码sudo grep 'temporary password' /var/log/mysqld.log​# 运行安全初始化脚本sudo mysql_secure_installation
  • 设置 root 密码(需满足复杂度要求)

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

2.5 验证 MySQL
 mysql -u root -p

3. 安装 Apache

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

4. 安装 PHP 7.4+

4.1 添加 Remi 仓库
 yum install epel-release -yrpm -ivh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
4.2 启用 PHP 7.4 仓库
 yum -y install yum-utilssudo yum-config-manager --enable remi-php74
4.3 安装 PHP 7.4 及必要扩展
 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
 php -v
4.5 创建测试 PHP 文件
 sudo echo "<?php phpinfo(); ?>" > /var/www/html/info.php
4.6 重启 Apache
 sudo systemctl restart httpd
4.7 验证 PHP 与 Apache 整合
 curl http://localhost/info.php# 或浏览器访问 http://<服务器IP>/info.php

5. 配置 Apache 与 PHP 交互

5.1 修改 Apache 配置文件

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

 sudo vim /etc/httpd/conf.d/php.conf

确保以下内容存在:

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

6. 防火墙与 SELinux 配置

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

7. 常见问题排查

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

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

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


8. 完成

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

http://www.lryc.cn/news/2395466.html

相关文章:

  • vscode实用配置
  • React 项目中封装 Excel 导入导出组件:技术分享与实践
  • 【PhysUnits】15.1 引入P1后的加一特质(add1.rs)
  • 【2025CCF中国开源大会】RISC-V 开源生态的挑战与机遇分论坛重磅来袭!共探开源芯片未来
  • python完成批量复制Excel文件并根据另一个Excel文件中的名称重命名
  • Vue-2-前端框架Vue基础入门之二
  • CPT208 Human-Centric Computing 人机交互 Pt.7 交互和交互界面
  • ubuntu20.04.5-arm64版安装robotjs
  • [网页五子棋][匹配模块]前后端交互接口(消息推送机制)、客户端开发(匹配页面、匹配功能)
  • 【数据分析】Matplotlib+Pandas+Seaborn绘图
  • NLP学习路线图(十五):TF-IDF(词频-逆文档频率)
  • [Redis] Redis命令在Pycharm中的使用
  • openpnp - 给M4x0.7mm的直油嘴加油的工具选择
  • Azure Devops 系列之三- vscode部署function app
  • EasyExcel复杂Excel导出
  • 1,QT的编译教程
  • C++基础算法————深度优先搜索(DFS)
  • React 第五十节 Router 中useNavigationType的使用详细介绍
  • 【笔记】在 MSYS2(MINGW64)中安装 Python 工具链的记录
  • npm install命令都做了哪些事情
  • Linux 学习-模拟实现【简易版bash】
  • 【中国・珠海】2025 物联网与边缘计算国际研讨会(IoTEC2025)盛大来袭!
  • 企业级安全实践:SSL/TLS 加密与权限管理(二)
  • Java面试:从Spring Boot到分布式系统的技术探讨
  • NodeJS全栈开发面试题讲解——P7 DevOps 与部署和跨域等
  • 中国高分辨率高质量地面CO数据集(2013-2023)
  • GO——内存逃逸分析
  • MinVerse 3D触觉鼠标的技术原理与创新解析
  • Spring Boot整活指南:从Helo World到“真香”定律
  • Python-Selenium报错截图