>如何在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年*