• 说明
  • 准备工作
  • Apache Server root
  • 简单配置apache服务器
  • 小结


1. 说明

本文系我的"Web Server & Web Technology (WSWT)系列博客之一,主要讲解Linux系统的Apache配置和使用,以及如何使用apache搭建自己的个人网站".该系列博客的总目录参见这里.

2. 准备工作

当按照上一个教程在ubuntu系统安装好Apache之后,就可以来探索一下Apache的配置了。
如果你使用Docker,那么首先需要从你之前保存的镜像(从源码安装好apache的镜像)运行一个容器:

sudo docker run -ti --name web2 -p 80:80 -p 443:443 apache:v1.0 bash

进入之后启动:

cd /etc/apache2/server_root/bin/
 ./apachectl start

如果你使用自己购买的服务器或者自己的笔记本电脑,之技巧启动就好了。

3. Apache Server root

我们把apache安装在了/etc/apache2/server_root.

apache如何配置mysql apache基本配置_服务器

  • bin
    bin目录包含了apache web server 的二进制程序包。同时,apachectl也在这个目录下,apachectl脚本用来控制apache服务器的启动和停止等。bin目录内容如下:
  • apachectl
    apachectl是Apache HTTP服务器的前端。它可以帮助管理员管理apache的后台进程——httpd。
  • apachectl start
  • apachectl stop
  • apachectl restart
  • conf
    该目录包含了httpd.conf文件。我们对apache服务器的设置主要通过修改这个文件完成。
  • logs
    主要包括:

4. 简单配置apache服务器

配置主要通过修改/etc/apache2/server_root/conf/httpd.conf文件完成。注意每次修改完后需要使用 apachectl restart 重启服务器才能使修改生效。

  • Listen
    指明了监听哪些端口;当httpd启动的时候会和主机的某些IP地址和端口绑定并开始监听。默认情况下,httpd监听主机的所有地址的指定端口,或者你可以指定监听的地址。
    举例
  • 监听80和8000端口
    Listen 80
    Listen 8000
  • 监听指定地址:
    Listen 192.168.1.112:80
    Listen 192.168.1.113:8080
  • IPv6地址
    Listen [2001:db8::a00:20ff:fea7:ccea]:80
  • ServerName
    ServerName指明了ruquest scheme, hostname, 和port, 这些信息用来验证服务器自身。
    举例
    ServerName www.example.com:80
    注意事项
    ServerName可以出现在文件的任意位置,但是每个ServerName都会覆盖掉之前的ServerName定义。
  • ServerAdmin
    定义了管理员的联系地址
    举例
    Serverdmin xxxx@examle.mail.com
  • ServerRoot
    定义了apache的安装目录。实际上这是在编译之前的configure步骤使用–prefix指定的。永远不要再编译好之后修改这个条目。
    举例
    ServerRoot “/etc/apache2/server_root”
  • DocumentRoot
    指定了httpd从哪个目录提供文档服务,这里应该是你存放自己资源的地方(比如图片,文档,html文件等)
  • DirectoryIndex
    定义了请求到来时提供文件(的顺序)。
    举例
    DirectoryIndex index.html

5. 小结

本文主要介绍了apache的基本配置,更多的内容请查看后续的博客。