5154

Good Luck To You!

CentOS 6.4如何用yum一键安装lnmp环境?

在服务器运维的领域中,搭建稳定高效的Web环境是基础技能,LNMP架构,即Linux、Nginx、MySQL和PHP的组合,因其高性能和低资源消耗而广受欢迎,本文将详细阐述如何在CentOS 6.4系统上,利用yum包管理器来部署一套完整的LNMP环境。

CentOS 6.4如何用yum一键安装lnmp环境?

重要前提:关于CentOS 6.4的警告

在开始之前,必须强调一点:CentOS 6.4是一个非常古老的操作系统版本,其官方支持早已终止(End-of-Life, EOL),这意味着它不再接收任何安全更新和官方维护,使用它将面临严重的安全风险,本文档仅出于技术学习和特定环境维护的目的提供操作指南,对于任何新的生产项目,强烈建议使用现代的、受长期支持的Linux发行版,如CentOS Stream、AlmaLinux或Rocky Linux。

由于官方源已不可用,我们的第一步是将其替换为CentOS的归档源。

准备工作:配置Yum源

CentOS 6的官方yum仓库已经迁移至vault.centos.org,我们需要修改/etc/yum.repos.d/CentOS-Base.repo文件,将其指向归档地址。

打开终端,执行以下命令备份原文件并替换内容:

cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
sed -i "s/mirrorlist/#mirrorlist/g" /etc/yum.repos.d/CentOS-Base.repo
sed -i "s|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g" /etc/yum.repos.d/CentOS-Base.repo

修改完成后,清理yum缓存并重建:

yum clean all
yum makecache

yum应该可以正常工作了。

安装Nginx

CentOS 6的官方源中不包含Nginx,我们需要借助EPEL(Extra Packages for Enterprise Linux)仓库。

  1. 安装EPEL源:

    yum install epel-release -y
  2. 安装Nginx:

    yum install nginx -y
  3. 启动与配置: 启动Nginx服务并设置其开机自启:

    CentOS 6.4如何用yum一键安装lnmp环境?

    service nginx start
    chkconfig nginx on
  4. 配置防火墙: CentOS 6默认使用iptables,需要开放80(HTTP)和443(HTTPS)端口:

    iptables -I INPUT -p tcp --dport 80 -j ACCEPT
    iptables -I INPUT -p tcp --dport 443 -j ACCEPT
    service iptables save
    service iptables restart

    在浏览器中访问服务器的IP地址,应该能看到Nginx的默认欢迎页面。

安装MySQL

在CentOS 6中,我们通常安装的是MySQL 5.1版本,尽管版本较旧,但对于基础学习环境已足够。

  1. 安装MySQL服务端与客户端:

    yum install mysql mysql-server -y
  2. 启动与配置: 启动MySQL服务并设置开机自启:

    service mysqld start
    chkconfig mysqld on
  3. 安全初始化: 运行MySQL自带的安全脚本,设置root密码、移除匿名用户等:

    /usr/bin/mysql_secure_installation

    按照提示操作即可,建议全部选择“Y”(是)。

安装PHP及组件

CentOS 6官方源提供的PHP版本是5.3,为了获得稍新一些的PHP版本(如5.6),我们可以使用Remi仓库,这里以安装PHP 5.6为例。

  1. 安装Remi源:

    rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
  2. 启用Remi的PHP 5.6仓库: 编辑/etc/yum.repos.d/remi.repo文件,将[remi][remi-php56]节点下的enabled=0改为enabled=1

  3. 安装PHP-FPM及常用扩展:

    CentOS 6.4如何用yum一键安装lnmp环境?

    yum install php php-fpm php-mysql php-gd php-xml php-mbstring -y
  4. 配置PHP-FPM: 编辑PHP-FPM的配置文件/etc/php-fpm.d/www.conf,将其运行用户和组由apache改为nginx,以便与Nginx协同工作。

    ;user = apache
    user = nginx
    ;group = apache
    group = nginx
  5. 启动与配置: 启动PHP-FPM服务并设置开机自启:

    service php-fpm start
    chkconfig php-fpm on

整合Nginx与PHP

最后一步是配置Nginx,使其能够将.php文件的请求转发给PHP-FPM处理。

编辑Nginx的默认配置文件/etc/nginx/conf.d/default.conf,找到location ~ \.php$部分,并修改为如下内容:

location ~ \.php$ {
    root           /usr/share/nginx/html;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    include        fastcgi_params;
}

修改完成后,重启Nginx以使配置生效:

service nginx restart

测试LNMP环境

在Nginx的网站根目录(/usr/share/nginx/html)下创建一个index.php文件:

echo "<?php phpinfo(); ?>" > /usr/share/nginx/html/index.php

再次在浏览器中访问服务器IP,如果看到PHP的详细信息页面,那么恭喜你,CentOS 6.4上的LNMP环境已经成功搭建。

为了方便查阅,以下是核心服务的配置文件和命令摘要:

服务 配置文件路径 启动命令 开机自启命令
Nginx /etc/nginx/nginx.conf service nginx start chkconfig nginx on
MySQL /etc/my.cnf service mysqld start chkconfig mysqld on
PHP-FPM /etc/php-fpm.d/www.conf service php-fpm start chkconfig php-fpm on

相关问答FAQs

问题1:为什么我运行 yum install 时会提示 "Cannot find a valid baseurl for repo" 错误? 解答: 这个错误出现的原因是CentOS 6的官方生命周期已经结束,其原有的软件源镜像地址已经失效,yum无法从这些失效的地址下载软件包信息,解决方法就是本文第一部分提到的,必须手动修改/etc/yum.repos.d/CentOS-Base.repo文件,将其中的mirrorlist注释掉,并启用指向CentOS归档服务器的baseurl,完成修改后,执行yum clean allyum makecache重建缓存,即可解决此问题。

问题2:配置完成后,访问PHP页面出现 "502 Bad Gateway" 错误,该如何排查? 解答: "502 Bad Gateway"错误通常意味着Nginx作为网关,无法从后端服务(这里是PHP-FPM)获得有效的响应,排查步骤如下:

  1. 检查PHP-FPM是否运行: 执行service php-fpm statusps aux | grep php-fpm,确认PHP-FPM进程正在运行,如果没有,请使用service php-fpm start启动它。
  2. 检查Nginx配置: 确认/etc/nginx/conf.d/default.conffastcgi_pass指令的地址和端口(如0.0.1:9000)与PHP-FPM监听的地址和端口一致,可以查看PHP-FPM的配置文件www.conf中的listen参数。
  3. 检查防火墙和SELinux: 确保本地防火墙没有阻止Nginx(通常是80端口)和PHP-FPM(通常是9000端口)之间的通信,在CentOS 6上,SELinux有时也会导致权限问题,可以临时尝试setenforce 0来排查是否为SELinux所致(但这仅为临时排查手段,生产环境需正确配置SELinux策略)。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2025年11月    »
12
3456789
10111213141516
17181920212223
24252627282930
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
    网站收藏
    友情链接

    Powered By Z-BlogPHP 1.7.3

    Copyright Your WebSite.Some Rights Reserved.