首页主机资讯centos lnmp服务器配置指南

centos lnmp服务器配置指南

时间2026-01-19 18:07:03发布访客分类主机资讯浏览832
导读:CentOS LNMP 服务器配置指南 一 环境准备与版本建议 操作系统建议选择 CentOS 7/8(或兼容的 RHEL 7/8),自带 firewalld 作为防火墙;如使用 CentOS 6,其 EOL 已于 2020-11-30...

CentOS LNMP 服务器配置指南

一 环境准备与版本建议

  • 操作系统建议选择 CentOS 7/8(或兼容的 RHEL 7/8),自带 firewalld 作为防火墙;如使用 CentOS 6,其 EOL 已于 2020-11-30 结束,官方源已下线,需额外处理源或优先升级系统。生产环境建议选择 Nginx + MySQL/MariaDB + PHP 7.4/8.x 的组合,以获得更好的性能与安全支持。

二 安装与配置步骤

  • 更新系统与仓库
    • 执行:sudo yum update -y & & sudo yum install -y epel-release
  • 安装与启动 Nginx
    • 执行:sudo yum install -y nginx & & sudo systemctl start nginx & & sudo systemctl enable nginx
    • 防火墙放行:sudo firewall-cmd --permanent --zone=public --add-service=http & & sudo firewall-cmd --reload
  • 安装与启动数据库(二选一)
    • MariaDB(CentOS 7 默认):sudo yum install -y mariadb-server mariadb & & sudo systemctl start mariadb & & sudo systemctl enable mariadb & & sudo mysql_secure_installation
    • MySQL(官方 YUM 仓库):sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm & & sudo yum install -y mysql-community-server & & sudo systemctl start mysqld & & sudo systemctl enable mysqld
      • 获取临时密码:sudo grep 'temporary password' /var/log/mysqld.log
      • 运行安全脚本:sudo mysql_secure_installation
  • 安装与启动 PHP 与 PHP-FPM
    • 执行:sudo yum install -y php php-fpm php-mysqlnd php-gd php-mbstring php-xml php-bcmath php-zip
    • 启动:sudo systemctl start php-fpm & & sudo systemctl enable php-fpm
  • 配置 Nginx 与 PHP-FPM 联动(两种方式)
    • TCP 方式(监听 127.0.0.1:9000):在 /etc/nginx/conf.d/default.confserver 块中加入
      index index.php index.html index.htm;
      
      location ~ \.php$ {
          
          fastcgi_pass   127.0.0.1:9000;
          
          fastcgi_index  index.php;
          
          fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
          
          include        fastcgi_params;
      
      }
          
      
    • Unix Socket 方式(推荐,性能更好):在 /etc/php-fpm.d/www.conf 中确保
      listen = /var/run/php-fpm/php-fpm.sock
      listen.owner = nginx
      listen.group = nginx
      listen.mode = 0660
      
      在 Nginx 中改为:
      fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
          
      
    • 检查并重载:sudo nginx -t & & sudo systemctl reload nginx & & sudo systemctl reload php-fpm
  • 验证
    • 创建探针:echo "< ?php phpinfo(); ?> " | sudo tee /usr/share/nginx/html/info.php
    • 浏览器访问:http://服务器IP/info.php,看到 PHP 信息页即成功。

三 目录与权限建议

  • 网站根目录建议使用 /var/www/html(SELinux 下需匹配上下文)或 /usr/share/nginx/html;确保运行 Nginx/PHP-FPM 的用户(常见为 nginx)对目录具备读取权限。
  • 若使用 Unix Socket,确保 /var/run/php-fpm/ 目录存在且 php-fpm.sock 的属主/属组与权限配置正确(见上节)。
  • 生产环境避免使用过旧版本(如 PHP 5.x/MySQL 5.6),以减少安全风险与兼容性问题。

四 常见问题与排查

  • 80 端口被占用
    • 排查:sudo ss -tulpen | grep ':80'
    • 处理:停止占用进程或调整 Nginx 监听端口后重载服务。
  • Nginx 启动报错 “the ‘ssl’ parameter requires ngx_http_ssl_module”
    • 原因:编译 Nginx 时未包含 –with-http_ssl_module
    • 处理:重新编译 Nginx 并带上该模块,或安装包含 SSL 模块的版本。
  • 访问 info.php 出现空白或下载
    • 检查 Nginx location ~ \.php$ 配置是否正确、SCRIPT_FILENAME 是否指向实际文件路径、php-fpm 是否运行、以及 SELinux/防火墙 是否放行。
  • 数据库连接失败
    • 确认 MySQL/MariaDB 已启动、端口 3306 放行、应用使用的用户名/密码/主机正确,并考虑运行 mysql_secure_installation 后的权限设置。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: centos lnmp服务器配置指南
本文地址: https://pptw.com/jishu/786037.html
centos lnmp脚本编写入门 centos lamp怎样实现高可用性

游客 回复需填写必要信息