插件窝 干货文章 Apache服务器安装与配置教程,搭建 Web 服务

Apache服务器安装与配置教程,搭建 Web 服务

Apache sudo httpd 配置 267    来源:    2025-04-02

Apache服务器安装与配置教程

一、Apache简介

Apache HTTP Server(简称Apache)是世界上最流行的Web服务器软件之一,它是一个开源、跨平台的Web服务器,由Apache软件基金会开发和维护。

二、安装Apache

Windows系统安装

  1. 下载Apache

    • 访问 Apache Lounge
    • 下载适合你系统的版本(VC15或VC16)
  2. 安装步骤

    # 解压下载的压缩包到C:\Apache24
    # 打开命令提示符(管理员)
    cd C:\Apache24\bin
    httpd.exe -k install
    
  3. 启动服务

    net start Apache2.4
    

Linux系统安装

Ubuntu/Debian

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

CentOS/RHEL

sudo yum install httpd
sudo systemctl start httpd
sudo systemctl enable httpd

三、基本配置

配置文件位置

  • Windows: C:\Apache24\conf\httpd.conf
  • Linux: /etc/apache2/apache2.conf (Ubuntu) 或 /etc/httpd/conf/httpd.conf (CentOS)

常用配置项

  1. 修改监听端口

    Listen 80
    # 可改为其他端口如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>
    

四、虚拟主机配置

基于名称的虚拟主机

<VirtualHost *:80>
    ServerAdmin webmaster@site1.com
    DocumentRoot "C:/Apache24/htdocs/site1"
    ServerName site1.com
    ServerAlias www.site1.com
    ErrorLog "logs/site1-error.log"
    CustomLog "logs/site1-access.log" common
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin webmaster@site2.com
    DocumentRoot "C:/Apache24/htdocs/site2"
    ServerName site2.com
    ServerAlias www.site2.com
    ErrorLog "logs/site2-error.log"
    CustomLog "logs/site2-access.log" common
</VirtualHost>

五、常用命令

Windows

httpd.exe -k start      # 启动
httpd.exe -k stop       # 停止
httpd.exe -k restart    # 重启
httpd.exe -t            # 测试配置语法

Linux

sudo systemctl start apache2    # 启动
sudo systemctl stop apache2     # 停止
sudo systemctl restart apache2  # 重启
sudo apache2ctl configtest      # 测试配置语法

六、常见问题解决

  1. 端口冲突

    • 检查是否有其他程序占用80端口
    • 使用 netstat -ano | findstr :80 (Windows) 或 sudo netstat -tulnp | grep :80 (Linux)
  2. 权限问题

    • 确保Apache用户有访问网站目录的权限
    • Linux下: sudo chown -R www-data:www-data /var/www/html
  3. 403 Forbidden错误

    • 检查目录权限和Require all granted设置
  4. .htaccess不生效

    • 确保配置中设置了AllowOverride All

七、性能优化建议

  1. 启用压缩模块

    LoadModule deflate_module modules/mod_deflate.so
    
  2. 启用缓存

    LoadModule expires_module modules/mod_expires.so
    
  3. 调整MaxKeepAliveRequests和KeepAliveTimeout

  4. 考虑使用MPM模块(prefork/worker/event)

八、安全配置建议

  1. 隐藏Apache版本信息

    ServerTokens Prod
    ServerSignature Off
    
  2. 禁用目录浏览

    Options -Indexes
    
  3. 限制HTTP方法

    <LimitExcept GET POST>
       Deny from all
    </LimitExcept>
    
  4. 定期更新Apache到最新版本

完成以上配置后,你就可以通过浏览器访问http://localhost来测试你的Apache服务器是否正常运行了。