Apache基本配置-3

来源:互联网 发布:vi命令行编程 编辑:程序博客网 时间:2024/05/29 15:38

  • 说明
  • 准备工作
  • container 命令
    • 1 Directory
    • 2 VirtualHost
  • UserDir
  • 小结

1. 说明

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

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

如果你使用自己购买的服务器或者自己的笔记本电脑,直接启动就好了。
我还是建议大家使用docker学习本教程,因为后面的负载均衡等内容需要至少3个服务器,买3个服务器或者自己有3台电脑都是有点浪费的。

3. container 命令

container命令是用来限制其它apache指令范围的命令。你可以在一个container里添加其他的命令,但是这些命令仅仅在container的范围内生效。
最常用的container命令是Directory和VirtualHost,下面分别展开叙述。

3.1 Directory

设置了服务器如何提供文件。(具体的实战练习将安排在下一个教程)
举例

<Directory "/etc/apache/document_root/test">    Options Indexes FollowSymLinks    AllowOverride None    Order allow,deny    Allow from all</Directory>

3.2 VirtualHost

(具体的实战联系安排在下一个教程)
当你在同一台服务器托管多个网站的时候VirtualHost很有用。使用VirtualHost你可以根据IP(IP based virtual host)或者主机名(name based virtual host)对不同的网站分别提供各自的服务。
IP based virtual host根据IP的不同来采取决策。name based virtual host根据客户端(比如浏览器)提供的主机名和端口号来决策,使用name based virtual host你可以在一个IP上托管很多服务器地址相同的网站。
举例

<VirtualHost *:80>    # This first-listed virtual host is also    # the default for *:80    ServerName www.example.com    ServerAlias example.com    DocumentRoot /www/domain</VirtualHost><VirtualHost *:80>    ServerName other.example.com    DocumentRoot /www/otherdomain</VirtualHost>

这个例子是说我们有两个网站分别是“www.example.com”和”other.example.com”,它们都通过80端口提供服务,但是每个网站都有各自的ServerName和DocumentRoot等。

4. UserDir

在一个多用户的系统上,每个用户都可以在自己的用户home目录下建立一个自己的网站,访问者访问
“http://example.com/~username/“就会访问到对应用户的网页。
默认这个功能是没有放在httpd.conf文件里的,你需要首先去掉httpd.conf文件里的这个注释:
这里写图片描述
同时,你需要去掉httpd.conf文件里mod_userdir前面的注释。
之后修改/etc/apache2/server_root/conf/extr/httpd-userdir.conf文件,在这个文件中常用的命令有:

  • UserDir
    默认情况下是:
    UserDir public_html
    这表示直接相对于用户home目录寻址,比如http://example.com/~bob/fiel.html 就会直接得到/home/bob/public_html/file.html文件。如果指定了绝对路径比如”UserDir /var/www/”那么网址”http://example.com/~bob/file.html“就会直接服务/var/www/bob/file.html文件。

5. 小结

本文主要介绍了一给Apache的基本配置。下一个教程中,我们将会跟随一个实际的例子来体会一下实际的用法。

原创粉丝点击