如何解决centos lamp安装问题
导读:CentOS LAMP 安装与排错速解手册 一 快速安装步骤 准备与更新 更新系统并安装常用工具:sudo yum update -y && sudo yum install -y epel-release wget 清...
CentOS LAMP 安装与排错速解手册
一 快速安装步骤
- 准备与更新
- 更新系统并安装常用工具:
sudo yum update -y & & sudo yum install -y epel-release wget - 清理缓存:
sudo yum clean all
- 更新系统并安装常用工具:
- 安装与启动 Apache
- 安装:
sudo yum install -y httpd - 启动与开机自启:
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
- 安装:
- 安装 PHP(与 Apache 模块方式)
- 安装:
sudo yum install -y php php-mysqlnd php-gd php-mbstring php-xml - 重启 Apache:
sudo systemctl restart httpd
- 安装:
- 防火墙放行
- 放行 HTTP/HTTPS:
sudo firewall-cmd --permanent --add-service=http & & sudo firewall-cmd --permanent --add-service=https & & sudo firewall-cmd --reload
- 放行 HTTP/HTTPS:
- 快速验证
- 创建探针:
echo "< ?php phpinfo(); ?> " | sudo tee /var/www/html/info.php - 浏览器访问:
http://服务器IP/info.php,看到 PHP 信息页即成功。
- 创建探针:
二 常见故障与修复
- 依赖或安装失败
- 现象:yum 报缺依赖、找不到包。
- 处理:
sudo yum clean all & & sudo yum update;必要时安装 EPEL:sudo yum install -y epel-release;再执行安装命令。
- Apache 启动失败
- 现象:端口被占用或配置语法错误。
- 处理:
- 查占用:
sudo netstat -tulpen | grep ':80\b',结束占用进程或调整端口。 - 查语法:
sudo apachectl configtest - 查看日志:
sudo tail -n50 /var/log/httpd/error_log
- 查占用:
- PHP 不解析 .php
- 现象:访问 .php 直接下载或空白。
- 处理:确认已安装
php包并重启 Apache;如使用模块方式,确认已加载 PHP 模块;创建info.php验证;必要时检查Directory权限与AllowOverride设置。
- 数据库无法启动或初始化失败
- 现象:服务起不来、初始化报错。
- 处理:查看日志
sudo tail -n50 /var/log/mysqld.log;检查磁盘空间与权限;执行sudo mysql_secure_installation完成初始化与安全设置。
- 防火墙或云安全组拦截
- 现象:本机能访问,外网不能。
- 处理:放行规则
sudo firewall-cmd --permanent --add-service=http --add-service=https & & sudo firewall-cmd --reload;如使用云服务器,同步在控制台安全组放行 80/443。
- SELinux 限制
- 现象:配置无误仍被拒绝(如目录不可读、端口受限)。
- 处理:临时放宽
sudo setenforce 0验证;定位策略后使用setsebool/semanage精细化放行,或编辑/etc/selinux/config改为SELINUX=permissive(生产环境不建议永久关闭)。
- 端口冲突
- 现象:80/443 或 3306 被占用。
- 处理:用
netstat -tulpen | grep -E '(:80|:443|:3306)'找到进程并停止或改端口;必要时调整 Apache 或 MariaDB 配置后重启服务。
三 验证与日志定位
- 服务状态
systemctl status httpd、systemctl status mariadb、systemctl status php-fpm(如使用 FPM)
- 端口监听
sudo ss -tulpen | grep -E '(:80|:443|:3306)'
- 配置语法
- Apache:
sudo apachectl configtest
- Apache:
- 日志查看
- Apache:
/var/log/httpd/error_log - MariaDB:
/var/log/mysqld.log - PHP-FPM:
/var/log/php-fpm/error.log - 系统:
journalctl -xe
- Apache:
- 访问验证
curl -I http://127.0.0.1或浏览器访问http://服务器IP/info.php。
四 版本选择与扩展建议
- 系统与包管理器
- CentOS 7:
yum;CentOS 8:dnf(命令用法基本一致)
- CentOS 7:
- PHP 版本与扩展
- 常用扩展:
php-mysqlnd php-gd php-mbstring php-xml php-bcmath - 多版本需求:可考虑 Remi 仓库(如
php80w/php81w系列)按需安装;安装后同样用php -v与info.php验证。
- 常用扩展:
- 连接方式
- 小型/单机优先模块方式(Apache + mod_php);高并发建议 PHP-FPM + Apache Proxy 或 LEMP。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何解决centos lamp安装问题
本文地址: https://pptw.com/jishu/763584.html
