温馨提示×

centos lnmp部署流程是怎样的

小樊
35
2025-10-28 11:12:27
栏目: 智能运维

CentOS LNMP部署流程(详细步骤)

1. 部署前准备

  • 更新系统:运行sudo yum update -y,确保系统软件包为最新版本,修复潜在安全漏洞。
  • 安装必要工具:安装编译工具、依赖库及EPEL仓库(提供额外软件包):
    sudo yum install -y wget gcc make pcre-devel openssl-devel zlib-devel epel-release
    

2. 安装Nginx(Web服务器)

  • 添加Nginx仓库(可选,优先使用官方源):
    sudo yum install -y epel-release
    
  • 安装Nginx
    sudo yum install -y nginx
    
  • 启动并设置开机自启
    sudo systemctl start nginx
    sudo systemctl enable nginx
    
  • 验证安装:在浏览器访问服务器IP,若看到Nginx欢迎页面,说明安装成功。

3. 安装MySQL/MariaDB(数据库)

方案一:使用YUM源安装(推荐)

  • 添加MariaDB仓库(CentOS默认使用MariaDB,兼容MySQL):
    sudo yum install -y https://yum.mariadb.org/MariaDB/mariadb.repo.d/20-mariadb.repo
    
  • 安装MariaDB Server
    sudo yum install -y mariadb-server mariadb
    
  • 启动并设置开机自启
    sudo systemctl start mariadb
    sudo systemctl enable mariadb
    
  • 安全配置:运行sudo mysql_secure_installation,按提示设置root密码、移除匿名用户、禁用远程root登录等。

方案二:使用LNMP一键安装包(快速部署)

  • 下载并运行安装脚本
    wget -c http://soft.vpser.net/lnmp/lnmp1.6-full.tar.gz && tar zxf lnmp1.6-full.tar.gz && cd lnmp1.6
    ./install.sh
    
  • 按提示选择MySQL版本、设置root密码,脚本会自动编译安装MySQL/MariaDB。

4. 安装PHP(服务器端脚本)

方案一:使用YUM源安装(推荐)

  • 安装PHP及常用扩展(根据需求选择版本,如PHP 7.4/8.0):
    sudo yum install -y php php-cli php-fpm php-mysqlnd php-gd php-xml php-mbstring php-curl
    
    • php-fpm:PHP FastCGI进程管理器,用于与Nginx通信。
    • php-mysqlnd:MySQL数据库驱动,支持PDO扩展。
  • 启动并设置开机自启
    sudo systemctl start php-fpm
    sudo systemctl enable php-fpm
    
  • 配置Nginx支持PHP:编辑Nginx默认站点配置文件(/etc/nginx/conf.d/default.conf),在server块中添加:
    location ~ \.php$ {
        fastcgi_pass   unix:/var/run/php-fpm/php-fpm.sock;  # 使用Unix socket通信
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
    
  • 测试配置并重载Nginx
    sudo nginx -t  # 检查配置语法
    sudo systemctl reload nginx
    

方案二:使用LNMP一键安装包

  • install.sh脚本运行时,选择PHP版本(如PHP 7.4),脚本会自动编译安装PHP及扩展。

5. 验证LNMP环境

  • 创建PHP测试文件
    echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
    
  • 访问测试:在浏览器输入http://服务器IP/info.php,若看到PHP信息页面(包含版本、扩展列表),说明LNMP环境部署成功。

6. 安全加固(可选但重要)

  • 配置防火墙:允许HTTP(80)、HTTPS(443)流量:
    sudo firewall-cmd --permanent --zone=public --add-service=http
    sudo firewall-cmd --permanent --zone=public --add-service=https
    sudo firewall-cmd --reload
    
  • 禁用SELinux(若不需要):编辑/etc/selinux/config,将SELINUX=enforcing改为SELINUX=disabled,重启服务器。
  • 定期更新:使用sudo yum update -y定期更新系统和软件包,修复安全漏洞。

常见问题解决

  • Nginx无法解析PHP:检查fastcgi_pass路径是否正确(默认/var/run/php-fpm/php-fpm.sock),确保php-fpm服务运行。
  • MySQL无法远程连接:修改/etc/my.cnf,注释bind-address = 127.0.0.1,并授权远程用户:
    GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%' IDENTIFIED BY '密码';
    FLUSH PRIVILEGES;
    
  • PHP扩展缺失:使用sudo yum install -y php-扩展名安装(如php-curl)。

0