作为 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.com和example2.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
按提示操作:
- 输入邮箱(用于证书过期提醒)
- 同意条款,选择是否分享邮箱
- 选择需要配置 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 年最新)
- 403 Forbidden 错误:检查站点目录权限(需
www-data用户可读),或Directory配置中Allow from all是否正确。 - 虚拟主机不生效:确认
ServerName与访问域名一致,且已执行sudo a2ensite启用配置。 - HTTPS 证书配置失败:确保服务器 80/443 端口开放(云服务器需配置安全组)。
1332

被折叠的 条评论
为什么被折叠?



