2025 实战版:Apache 服务器配置全攻略(Linux/Ubuntu + 虚拟主机 + HTTPS + 性能优化)

作为 Web 服务领域的 “老牌王者”,Apache 至今仍是企业级服务器的主流选择之一。本文基于2025 年最新环境(Ubuntu 24.04 + Apache 2.4.58),从基础部署到进阶配置,手把手带你搞定虚拟主机、HTTPS 加密、性能调优,附实战踩坑指南!

一、基础环境:Ubuntu 下 Apache 快速部署

1. 安装与启动

# 1. 更新源并安装
sudo apt update && sudo apt install apache2 -y

# 2. 验证服务状态
sudo systemctl status apache2
# 出现"active (running)"则成功

2. 初始配置验证

  • 浏览器访问服务器 IP:显示 “Apache2 Ubuntu Default Page” 即部署成功。
  • 核心目录说明:
    • 主配置文件:/etc/apache2/apache2.conf
    • 站点配置:/etc/apache2/sites-available/(需软链到sites-enabled/
    • 网站根目录:默认/var/www/html

二、核心进阶:虚拟主机多站点配置

虚拟主机可实现一台服务器部署多个域名站点,分基于域名、IP、端口三种模式,这里以最常用的基于域名为例:

1. 创建站点目录与测试文件

# 示例:部署example1.com和example2.com
sudo mkdir -p /var/www/example1.com/html
sudo mkdir -p /var/www/example2.com/html

# 写入测试页面
echo "<h1>example1.com 站点</h1>" | sudo tee /var/www/example1.com/html/index.html
echo "<h1>example2.com 站点</h1>" | sudo tee /var/www/example2.com/html/index.html

# 配置权限(避免访问403)
sudo chown -R $USER:$USER /var/www/example1.com/html
sudo chown -R $USER:$USER /var/www/example2.com/html

2. 编写虚拟主机配置文件

# 新建example1.com的配置
sudo nano /etc/apache2/sites-available/example1.com.conf

写入以下内容:

<VirtualHost *:80>
    ServerAdmin webmaster@example1.com
    ServerName example1.com       # 主域名
    ServerAlias www.example1.com  # 域名别名
    DocumentRoot /var/www/example1.com/html

    # 日志配置
    ErrorLog ${APACHE_LOG_DIR}/example1.error.log
    CustomLog ${APACHE_LOG_DIR}/example1.access.log combined
</VirtualHost>

同理创建example2.com.conf,替换对应域名和目录即可。

3. 启用站点并重启

# 启用站点(软链到sites-enabled)
sudo a2ensite example1.com.conf
sudo a2ensite example2.com.conf

# 禁用默认站点(可选)
sudo a2dissite 000-default.conf

# 检查配置语法
sudo apache2ctl configtest

# 重启生效
sudo systemctl restart apache2

4. 测试

本地hosts文件绑定域名到服务器 IP,浏览器访问example1.comexample2.com,分别显示对应页面即成功。

三、安全刚需:HTTPS 证书配置(Let's Encrypt 免费证书)

2025 年主流浏览器已强制 HTTPS,这里用Certbot快速配置 Let's Encrypt 免费证书:

1. 安装 Certbot

sudo apt install certbot python3-certbot-apache -y

2. 自动配置证书

sudo certbot --apache

按提示操作:

  1. 输入邮箱(用于证书过期提醒)
  2. 同意条款,选择是否分享邮箱
  3. 选择需要配置 HTTPS 的域名(对应虚拟主机)

3. 验证与自动续期

  • 浏览器访问https://example1.com:地址栏显示锁形图标即成功。
  • Let's Encrypt 证书有效期 90 天,Certbot 已默认配置自动续期(可通过sudo systemctl status certbot.timer验证)。

四、性能优化:2025 年 Apache 高并发调优

Apache 2.4 默认配置偏保守,需针对MPM 模块(Multi-Processing Module)优化,Ubuntu 默认启用event模块(更适合高并发)。

1. 确认当前 MPM 模块

sudo apache2ctl -M | grep mpm
# 显示"mpm_event_module"则为event模式

2. 修改 MPM 配置

sudo nano /etc/apache2/mods-available/mpm_event.conf

替换为以下配置(适用于 2 核 4G 服务器,可按资源调整):

<IfModule mpm_event_module>
    StartServers             2        # 初始启动进程数
    MinSpareThreads          25       # 最小空闲线程数
    MaxSpareThreads          75       # 最大空闲线程数
    ThreadLimit              64       # 单进程最大线程数限制
    ThreadsPerChild          25       # 每个进程固定线程数
    MaxRequestWorkers        150      # 最大并发线程数(StartServers×ThreadsPerChild)
    MaxConnectionsPerChild   0        # 进程处理请求数(0表示不限制)
</IfModule>

3. 其他优化项

  • 开启 Gzip 压缩
    sudo a2enmod deflate
    sudo systemctl restart apache2
    
  • 关闭不必要模块
# 查看已启用模块
sudo a2query -m
# 禁用无用模块(如autoindex、negotiation)
sudo a2dismod autoindex

五、踩坑指南(2025 年最新)

  1. 403 Forbidden 错误:检查站点目录权限(需www-data用户可读),或Directory配置中Allow from all是否正确。
  2. 虚拟主机不生效:确认ServerName与访问域名一致,且已执行sudo a2ensite启用配置。
  3. HTTPS 证书配置失败:确保服务器 80/443 端口开放(云服务器需配置安全组)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值