如何在CentOS Minimal上搭建Web服务器 (2026)

>如何在CentOS Minimal上搭建Web服务器 (2026完整教程)

>引言

CentOS Minimal 是一个轻量级的 Linux 发行版,专门为服务器环境设计。与完整的桌面版本相比,Minimal 版本去除了图形界面和不必要的软件包,只保留核心系统组件,这使得它成为搭建 Web 服务器的理想选择。本文将详细介绍如何在 CentOS Minimal 上从零开始搭建一个稳定、安全的 Web 服务器。

>一、准备工作

>1.1 系统要求

在开始之前,请确保您的 CentOS Minimal 系统满足以下要求:

    >

  • 内存:至少 512MB RAM(推荐 1GB 以上)
  • 磁盘空间:至少 10GB 可用空间
  • 网络:已配置稳定的网络连接
  • 权限:具有 root 或 sudo 权限的用户
  • >1.2 系统更新

    首先,更新系统到最新版本以确保安全性:

    >sudo yum update -y

    1.3 安装常用工具

    CentOS Minimal 默认缺少一些常用工具,建议先安装:

    >sudo yum install -y wget curl vim net-tools bash-completion

    二、选择 Web 服务器软件

    >2.1 Apache vs Nginx

    在 CentOS Minimal 上,您可以选择两种主流的 Web 服务器软件:

    | 特性 | Apache | Nginx |
    |------|--------|-------|
    | 内存占用 | 较高 | 较低 |
    | 静态文件处理 | 良好 | 优秀 |
    | 动态内容 | 原生支持 | 需要 FastCGI |
    | 配置复杂度 | 中等 | 较低 |
    | 社区支持 | 非常成熟 | 非常成熟 |

    推荐:如果您的服务器资源有限,建议选择 Nginx;如果需要与特定模块深度集成,可以选择 Apache。

    >2.2 安装 Nginx(推荐)

    >

    添加 EPEL 仓库

    sudo yum install -y epel-release

    >安装 Nginx

    sudo yum install -y nginx

    >启动 Nginx

    sudo systemctl start nginx

    >设置开机自启

    sudo systemctl enable nginx

    2.3 安装 Apache(可选)

    >

    安装 Apache

    sudo yum install -y httpd

    >启动 Apache

    sudo systemctl start httpd

    >设置开机自启

    sudo systemctl enable httpd

    三、基本配置

    >3.1 Nginx 基本配置

    Nginx 的主配置文件位于 /etc/nginx/nginx.conf。对于大多数应用场景,您只需要修改站点配置文件:

    >sudo vim /etc/nginx/conf.d/default.conf


    基本配置示例:

    >server {
    listen 80;
    server_name your_domain.com;

    root /var/www/html;
    index index.html index.htm;

    location / {
    try_files $uri $uri/ =404;
    }
    }

    3.2 创建测试页面

    >

    创建网站根目录

    sudo mkdir -p /var/www/html

    >创建测试页面

    echo "

    Welcome to CentOS Minimal Web Server!

    " | sudo tee /var/www/html/index.html

    3.3 重启服务使配置生效

    >sudo systemctl restart nginx

    四、防火墙配置

    CentOS Minimal 默认使用 firewalld 作为防火墙。您需要开放 HTTP(80)和 HTTPS(443)端口:

    >

    开放 HTTP 服务

    sudo firewall-cmd --permanent --add-service=http

    >开放 HTTPS 服务

    sudo firewall-cmd --permanent --add-service=https

    >重新加载防火墙规则

    sudo firewall-cmd --reload


    验证防火墙规则:

    >sudo firewall-cmd --list-all

    五、安装 PHP 支持(可选)

    如果您的 Web 应用需要 PHP 支持,可以按以下步骤安装:

    >5.1 安装 PHP 和 PHP-FPM

    >

    安装 PHP 及常用扩展

    sudo yum install -y php php-fpm php-mysql php-gd php-xml php-mbstring

    5.2 配置 PHP-FPM

    编辑 PHP-FPM 配置文件:

    >sudo vim /etc/php-fpm.d/www.conf


    确保以下配置正确:

    >user = nginx
    group = nginx
    listen = /run/php-fpm/www.sock
    listen.owner = nginx
    listen.group = nginx

    5.3 配置 Nginx 支持 PHP

    修改站点配置,添加 PHP 支持:

    >server {
    listen 80;
    server_name your_domain.com;

    root /var/www/html;
    index index.php index.html index.htm;

    location / {
    try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
    fastcgi_pass unix:/run/php-fpm/www.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    }
    }

    5.4 重启服务

    >sudo systemctl restart php-fpm
    sudo systemctl restart nginx

    六、安装 MySQL/MariaDB 数据库(可选)

    如果您的 Web 应用需要数据库支持:

    >

    安装 MariaDB

    sudo yum install -y mariadb-server

    >启动 MariaDB

    sudo systemctl start mariadb

    >设置开机自启

    sudo systemctl enable mariadb

    >运行安全配置向导

    sudo mysql_secure_installation

    七、安全加固

    >7.1 禁用 root 远程登录

    编辑 SSH 配置文件:

    >sudo vim /etc/ssh/sshd_config


    设置:

    >PermitRootLogin no
    PasswordAuthentication no

    7.2 安装 fail2ban

    fail2ban 可以自动封禁多次尝试失败 IP:

    >sudo yum install -y fail2ban
    sudo systemctl enable fail2ban
    sudo systemctl start fail2ban

    7.3 配置 SSL/TLS

    使用 Let's Encrypt 免费证书:

    >

    安装 certbot

    sudo yum install -y certbot python3-certbot-nginx

    >获取证书

    sudo certbot --nginx -d your_domain.com

    八、性能优化

    >8.1 启用 Gzip 压缩

    在 Nginx 配置中添加:

    >gzip on;
    gzip_vary on;
    gzip_min_length 1024;
    gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

    8.2 配置缓存

    >location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
    expires 365d;
    add_header Cache-Control "public, immutable";
    }

    九、监控与日志

    >9.1 查看 Nginx 日志

    >

    访问日志

    sudo tail -f /var/log/nginx/access.log

    >错误日志

    sudo tail -f /var/log/nginx/error.log

    9.2 系统资源监控

    >

    安装 htop

    sudo yum install -y htop

    >运行 htop

    htop

    十、常见问题排查

    >10.1 无法访问网站

  • 检查服务是否运行:sudo systemctl status nginx
  • 检查防火墙规则:sudo firewall-cmd --list-all
  • 检查端口监听:sudo netstat -tlnp | grep 80
  • >10.2 权限问题

    确保 Web 根目录有正确的权限:

    >sudo chown -R nginx:nginx /var/www/html
    sudo chmod -R 755 /var/www/html

    10.3 PHP 不解析

  • 检查 PHP-FPM 是否运行:sudo systemctl status php-fpm
  • 检查 Nginx 配置中的 fastcgi_pass 设置
  • 查看错误日志:sudo tail -f /var/log/nginx/error.log
  • >总结

    在 CentOS Minimal 上搭建 Web 服务器是一个系统化的过程。通过本文的详细步骤,您可以:

    1. 快速部署:使用 Nginx 或 Apache 搭建 Web 服务
    2. 灵活扩展:根据需求添加 PHP、数据库等组件
    3. 安全保障:通过防火墙、SSL、fail2ban 等措施提升安全性
    4. 优化性能:启用压缩、配置缓存提升访问速度

    CentOS Minimal 的轻量级特性使其成为生产环境 Web 服务器的优秀选择。只要按照本文步骤操作,您可以在 30 分钟内完成一个功能完整、安全可靠的 Web 服务器部署。

    ---

    相关资源

  • [Nginx 官方文档](https://nginx.org/en/docs/)
  • [CentOS 官方 Wiki](https://wiki.centos.org/)
  • [Let's Encrypt 官方文档](https://letsencrypt.org/docs/)

*最后更新:2026年*

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注