Apache

//////////2017-1-10 ~ 2017-1-15///////////

int study_data(){

Apache(开源软件基金会)

Apache:

    1.web服务器
    2.跨平台,针对不同平台有不同的编译版本
    3.快速,可靠
    4.分模块,可扩充

apache目录:
    1.bin - 一些可运行的binary程序
    2.conf - 一些配置文件
    3.htdocs - 一些默认的网站文件
    4.logs - 存储日志
    5.modules - 其他的一些模块

Apache配置:

    ServerRoot:apache软件的安装位置。其它指定的目录如果没有指定绝对路径,则目录是相对于该目录。
    PidFile:第一个httpd进程(所有其他进程的父进程)的进程号文件位置。
    Listen:服务器监听的端口号。
    ServerName:主站点名称(网站的主机名)。
    ServerAdmin:管理员的邮件地址。
    DocumentRoot:主站点的网页存储位置。

对主站点的目录进行访问控制:

   
        Options FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all
   

主要配置

Options:

    配置在特定目录使用哪些特性,常用的值和基本含义如下:
    ExecCGI: 在该目录下允许执行CGI脚本。
    FollowSymLinks: 在该目录下允许文件系统使用符号连接。
    Indexes: 当用户访问该目录时,如果用户找不到DirectoryIndex指定的主页文件(例如index.html), 则返回该目录下的文件列表给用户。
    SymLinksIfOwnerMatch: 当使用符号连接时,只有当符号连接的文件拥有者与实际文件的拥有者相同时才可以访问。

AllowOverride:

    允许存在于.htaccess文件中的指令类型(.htaccess文件名是可以改变的,其文件名由    AccessFileName指令决定):
    None: 当AllowOverride被设置为None时。不搜索该目录下的.htaccess文件(可以减小服务器开销)。
    All: 在.htaccess文件中可以使用所有的指令。

Order:

    控制在访问时Allow和Deny两个访问规则哪个优先:
    Allow:允许访问的主机列表(可用域名或子网,例如:Allow from 192.168.0.0/16)。
    Deny:拒绝访问的主机列表。

虚拟主机的配置 

1.基于IP地址的虚拟主机配置 

    Listen 80

   
        DocumentRoot /www/example1
        ServerName www.example1.com
   

   
        DocumentRoot /www/example2
        ServerName www.example2.org
   

2.基于IP和多端口的虚拟主机配置 

    Listen 172.20.30.40:80
    Listen 172.20.30.40:8080
    Listen 172.20.30.50:80
    Listen 172.20.30.50:8080

   
        DocumentRoot /www/example1-80
        ServerName www.example1.com
   

   
        DocumentRoot /www/example1-8080
        ServerName www.example1.com
   

   
        DocumentRoot /www/example2-80
        ServerName www.example1.org
   

   
        DocumentRoot /www/example2-8080
        ServerName www.example2.org
   

3.单个IP地址的服务器上基于域名的虚拟主机配置:

     # Ensure that Apache listens on port 80
    Listen 80 

    # Listen for virtual host requests on all IP addresses
    NameVirtualHost *:80

   
        DocumentRoot /www/example1
        ServerName www.example1.com
        ServerAlias example1.com. *.example1.com
        # Other directives here
   

   
        DocumentRoot /www/example2
        ServerName www.example2.org
        # Other directives here
   

4.在多个IP地址的服务器上配置基于域名的虚拟主机: 

    Listen 80 

    # This is the "main" server running on 172.20.30.40
    ServerName server.domain.com
    DocumentRoot /www/mainserver 

    # This is the other address
    NameVirtualHost 172.20.30.50

   
        DocumentRoot /www/example1
        ServerName www.example1.com
        # Other directives here ...
   

   
        DocumentRoot /www/example2
        ServerName www.example2.org
        # Other directives here ...
   

5.在不同的端口上运行不同的站点(基于多端口的服务器上配置基于域名的虚拟主机): 

    Listen 80
    Listen 8080 

    NameVirtualHost 172.20.30.40:80
    NameVirtualHost 172.20.30.40:8080

   
        ServerName www.example1.com
        DocumentRoot /www/domain-80
   

   
        ServerName www.example1.com
        DocumentRoot /www/domain-8080
   

   
        ServerName www.example2.org
        DocumentRoot /www/otherdomain-80
   

   
        ServerName www.example2.org
        DocumentRoot /www/otherdomain-8080
   

6.基于域名和基于IP的混合虚拟主机的配置: 

    Listen 80 

    NameVirtualHost 172.20.30.40

   
        DocumentRoot /www/example1
        ServerName www.example1.com
   

   
        DocumentRoot /www/example2
        ServerName www.example2.org
   

   
        DocumentRoot /www/example3
        ServerName www.example3.net
   

你可能感兴趣的:(Apache)