插件窝 干货文章 apache安装与配置

apache安装与配置

Apache 配置 sudo httpd 295    来源:    2025-04-03

Apache HTTP Server 安装与配置指南

一、安装 Apache

Windows 系统安装

  1. 下载 Apache

    • 访问 Apache Lounge 下载最新版
    • 选择与您系统匹配的版本 (VC15/VC14, 32位/64位)
  2. 解压安装

    # 解压到 C:\Apache24 (推荐)
    # 以管理员身份打开命令提示符
    cd C:\Apache24\bin
    httpd.exe -k install
    
  3. 启动服务

    net start Apache2.4
    

Linux 系统安装 (基于Debian/Ubuntu)

sudo apt update
sudo apt install apache2
sudo systemctl start apache2
sudo systemctl enable apache2

macOS 系统安装

# 使用Homebrew安装
brew install httpd
brew services start httpd

二、基本配置

主配置文件位置

  • Windows: C:\Apache24\conf\httpd.conf
  • Linux: /etc/apache2/apache2.conf (主配置) 和 /etc/apache2/sites-available/ (虚拟主机)
  • macOS: /usr/local/etc/httpd/httpd.conf

常用配置项

  1. 修改监听端口

    Listen 80
    # 可添加多个监听端口
    Listen 8080
    
  2. 设置服务器名称

    ServerName localhost:80
    
  3. 设置文档根目录

    DocumentRoot "C:/Apache24/htdocs"  # Windows
    DocumentRoot "/var/www/html"       # Linux
    
  4. 目录权限设置

    <Directory "C:/Apache24/htdocs">
       Options Indexes FollowSymLinks
       AllowOverride All
       Require all granted
    </Directory>
    

三、虚拟主机配置

基于名称的虚拟主机 (Linux示例)

  1. 创建配置文件

    sudo nano /etc/apache2/sites-available/example.com.conf
    
  2. 配置内容

    <VirtualHost *:80>
       ServerName example.com
       ServerAlias www.example.com
       DocumentRoot /var/www/example.com/public_html
       ErrorLog ${APACHE_LOG_DIR}/example.com_error.log
       CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined
    </VirtualHost>
    
  3. 启用站点并重载配置

    sudo a2ensite example.com.conf
    sudo systemctl reload apache2
    

四、常见模块启用

启用重写模块 (mod_rewrite)

# Linux
sudo a2enmod rewrite
sudo systemctl restart apache2

# Windows - 取消注释httpd.conf中的
LoadModule rewrite_module modules/mod_rewrite.so

启用SSL模块 (HTTPS支持)

# Linux
sudo a2enmod ssl
sudo a2ensite default-ssl
sudo systemctl restart apache2

五、故障排查

  1. 检查配置语法

    apachectl configtest  # Linux/macOS
    httpd -t             # Windows
    
  2. 查看错误日志

    • Linux: /var/log/apache2/error.log
    • Windows: C:\Apache24\logs\error.log
  3. 常见问题解决

    • 端口冲突: 修改Listen指令或关闭占用80端口的程序
    • 权限问题: 确保Apache用户对文档根目录有读取权限
    • 403禁止访问: 检查目录权限和Require指令

六、性能优化

  1. 调整MPM配置

    # 在httpd.conf中
    <IfModule mpm_prefork_module>
       StartServers            5
       MinSpareServers         5
       MaxSpareServers        10
       MaxRequestWorkers      250
       MaxConnectionsPerChild  10000
    </IfModule>
    
  2. 启用压缩

    sudo a2enmod deflate
    

    然后在配置中添加:

    <IfModule mod_deflate.c>
       AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript
    </IfModule>
    
  3. 启用缓存

    sudo a2enmod expires
    

    配置示例:

    <IfModule mod_expires.c>
       ExpiresActive On
       ExpiresByType image/jpg "access plus 1 year"
       ExpiresByType text/css "access plus 1 month"
    </IfModule>
    

完成以上配置后,重启Apache服务使更改生效。