基础知识 1.守护进程 httpd,默认监听端口80号 service httpd start|restart|stop|status 2.配置文件 主配置文件在“/etc/httpd/conf/httpd.conf”,由它来控制Apache服务器的各种功能。 该文件由全局环境设置(Global Environment)、主要的服务设置(Main Server Configuration)、虚拟主机设置(Virtual Hosts)。 (1)全局环境设置 ServerType inetd|standalone 默认是用standalone,速度快、效率高、节省了启动进程的时间。 StartServers 指定Apache服务启动时运行的子进程数(注意:只有当ServerType设置为standalone时有效),默认是八个。 ServerRoot 指定Apache服务器相关文件,保罗配置文件、应用程序、日志文件等,的存放路径,指定的路径应该由根目录写起,默认值是“/etc/httpd/conf”。 MaxClients 指定Apache服务器可同时响应的来自客户的最大连接请求数,默认是150个。 (2)主要服务设置 Port 指定Apache的守护进程监听的端口号,默认端口是80. ServerAdmin 指定Web服务器管理员的E-mail地址,该E-mail地址出现在由Apache服务器自动生成的错误信息中。 ServerName 设置Apache服务器名,即客户端访问该Web服务器时使用的域名,也可以设置成IP地址。如果不设置该值,默认为主机名。 DocumentRoot 指定Web服务器上网页文件存放的位置,web服务器在响应客户端的连接请求时读取该目录下的文件,默认为“/var/www/html”。 DirectoryIndex 指定客户端访问Web服务器上某个目录下默认显示的文件,可以设置多个文件,Apache服务器显示第一个存在的文件,例如有以下设置: DirectoryIndex index.htm index.html /home/usr/index.html 服务器按以上顺序查找文件,如果没找到,返回客户端“HTTP 404 未找到”错误信息。 ErrorLog 指定Web服务器上产生的错误日志文件,默认是/var/log/http error_log文件。 (3)虚拟主机配置 虚拟主机是指在一台web服务器上同时存在多个web站点,他们可以有不同的IP地址或域名,Apache服务器支持的虚拟主机类型包括: (A)基于不同域名的虚拟主机,即服务器有一个IP地址,但是它对应有多个不同的CNAME记录,每个CNAME记录对应一个web站点。 (B)基于不同IP地址的虚拟主机,即服务器有多个IP地址,每个IP地址对应一个web站点。 基于域名和基于IP地址的虚拟机的配置是相同的,唯一不同的是对于基于域名的虚拟主机,NameVirtualHost语句指定该虚拟域名来自哪个IP地址,而基于不同IP地址的虚拟主机,在NameVirtualHost语句指定本web站点的IP地址。 虚拟主机由2条主要的配置语句,即“NameVirtualHost”和“VirtualHost”语句,其意义如下: (A)NameVirtualHost语句以IP地址或域名的方式,指定哪一台服务器用于响应客户端对虚拟主机的连接请求,推荐使用IP地址方式。虚拟主机的域名在DNS设置中都指向这个IP地址。 (B)<VirtualHost>和</VirtualHost>语句是虚拟主机设置语句的开始和结束的标志。VirtualHost语句后跟的IP地址和NameVirtualHost语句相同。 Apache配置实例: 要求: (1)设置监听端口为80。 (2)设置域名为www.21php.com,网络管理员的e-mail地址为root@21php.com,网页存放位置/var/www/html,其他设置默认。 (3)设置一个虚拟域名上图student.21php.com,网页存放位置为/var/www/student/html,网络管理员的e-mail地址为student@21php.com。 配置: (1)添加DNS记录。 再/var/named/21php.com中添加以下内容: student IN CNAME www.21php.com. teacher IN CNAME www.21php.com. 保存退出后:service named restart。 (2)打开/etc/httpd/conf/httpd.conf修改一下字段: ServerAdmin root@21php.com ServerName www.21php.com 监听端口默认为80 Listen 80 DocumentRoot /var/www/html (3)建立虚拟主机,在虚拟主机设置的节点添加以下内容(/etc/httpd/conf/httpd.conf) NameVirtualHost 192.168.1.150:80 <VirtualHost 192.168.1.150:80> ServerAdmin root@21php.com ServerName www.21php.com DocumentRoot /var/www/html </VirtualHost> NameVirtualHost 192.168.1.150:80 <VirtualHost 192.168.1.150:80> ServerAdmin student@21php.com ServerName student.21php.com DocumentRoot /var/www/student/html </VirtualHost> 注意:虽然www.21php.com不是虚拟服务器,但是必须添加这部分虚拟主机才能被访问。 ################################################# NameVirtualHost *:80 <VirtualHost *:80> ServerAdmin …… DocumentRoot …… ServerName …… ErrorLog …… CustomLog …… </VirtualHost> |
|