Apache
apache是众多web服务器中的一员,其它web服务器还有什么nginx、Sun、Microsoft等等。
接下来我们主要讲解一下Apache
网站分为两类:
1.静态网站
2.动态网站
(关于静态网站和动态网站的解析:
程序是否在服务器端运行,这个是判断网页属不属于动态网页的重要标志。
在服务器端运行的程序、网页、组件,属于动态网页,它们会随不同客户、不同时间,返回不同的网页,例如ASP、PHP、JSP、ASP.net、CGI等。
运行于客户端的程序、网页、插件、组件,属于静态网页,例如html页、Flash、JavaScript、VBScript等等,它们是永远不变的。
在网站设计中,纯粹HTML格式的网页通常被称为“静态网页”,早期的网站一般都是由静态网页制作的。静态网页的网址形式通常为:www.example.com/eg/eg.htm,也就是以.htm、.html等为后后缀的。在HTML格式的网页上,也可以出现各种动态的效果,如.GIF格式的动画、FLASH、滚动字母等,这些“动态效果”只是视觉上的,与我说常说的动态网页是不同的概念。静态网页是实实在在保存在服务器上的文件,每个网页都是一个独立的文件等。
动态网页,与网页上的各种动画、滚动字幕等视觉上的“动态效果”没有直接关系,动态网页也可以是纯文字内容的,也可以是包含各种动画的内容,这些只是网页具体内容的表现形式,无论网页是否具有动态效果,采用动态网站技术生成的网页都称为动态网页
动态的是需要服务器解释的。
静态的放到什么地方都能运行的。
你静态的拷贝的别的地方 也能看到。
动态的就不行。)
安装:
# yum install httpd* -y
检查是否安装好:
# rpm -qa |grep httpd
httpd-2.2.15-47.el6.centos.4.x86_64
httpd-devel-2.2.15-47.el6.centos.4.x86_64
httpd-manual-2.2.15-47.el6.centos.4.noarch
httpd-tools-2.2.15-47.el6.centos.4.x86_64
启动:
# service httpd restart
设置开机自启动:
# chkconfig httpd on
文件内容解析:
http://192.168.1.1/manual/ --本地manual手册
http://apache.chinahtml.com/ --apache中文手册
http://192.168.1.1 --默认页面
# ls /etc/httpd/conf.d/welcome.conf --默认页面的配置文件
主配置文件:
/etc/httpd/conf/httpd.conf
主配置文件分成三个部分:
Section 1: Global Environment --全局环境
Section 2: ‘Main‘ server configuration --主配置
Section 3: Virtual Hosts --虚拟主机
serverRoot "/etc/httpd" --存放配置文件一主目录
PidFile run/httpd.pid --pid文件
Timeout 60 --连接超时时间
KeepAlive Off --一般是短时间下载文件比较多的网站 在ON的时候 一次连接多次请求(连接这里指的是TCP/ip的连接,请求指的是http协议的请求
#这里可以做个小测试,找个浏览器访问一下,然后使用以下命令查看有几个连接
1.off 的情况, 别人刷新你的一个页面,可以看到一个IP有多次连接
#netstat -nt |grep :80
#netstat -nt |grep :80 |awk -F: ‘{print $8}‘ |sort |uniq -c
2.on的情况, 别人刷新页面,可以看到一个IP只有一次连接(15秒后再刷新会产生新连接)
# netstat -nt |grep :80
MaxKeepAliveRequests 100
KeepAliveTimeout 15
<IfModule prefork.c> --预派生模式 ,lamp一般用这种
StartServers 8 --启动时产生的进程数
MinSpareServers 5 --最小的启动子进程数
MaxSpareServers 20 --最大的启动子进程数
ServerLimit 256 --最大进程总数
MaxClients 256 --最大并发数
MaxRequestsPerChild 4000 --每个子进程处理的最多请求数
</IfModule>
Listen 80 --监听端口
Listen 8000 --监听端口可以同时绑定多个
地址+端口:
Listen 192.168.1.1:80 --只有192.168.1.1能访问apache
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule auth_digest_module modules/mod_auth_digest.so
LoadModule 。。。 --模块,一个DSO就是一个小功能,这些模块都是可插拔的
Include conf.d/*.conf --表示conf.d/下的*.conf配置文件生效
User apache
Group apache --以什么身份运行
ServerAdmin root@localhost --管理邮箱
DocumentRoot "/var/www/html" --网站根目录
<Directory "var/www/html"> #对网站根目录做配置
</Diectory> #结束
----Options----
Options定义"<Directory "/var/www/html">"下的所有文件的属性
Indexes #索引,就是目录 把网站根目录下的所有文件列出来,实际情况下不能允许,在你把网站当做一个下载网站的时候可以启用
None #不支持任何选项
FollowSymLinks #允许访问连接文件 要关掉
Includes:允许执行服务端包含(SSI)
ExecCGI:允许允许CGI脚本
All:启用所有选项
---AllowOverride----
AllowOverride None
Order:用于定义基于主机的访问功能的,IP,网络地址或主机定义访问控制机制
Order allow,deny #先允许后禁止
allow from 1.1.1.0/24 #允许1.1.1.0/24 其他全部拒绝
Order deny,allow #先禁止后允许
deny from 1.1.1.0/24 #拒绝1.1.1.0/24 其他全部允许
DirectoryIndex index.html index.html.var --定义主页文件支持的格式,有php可以加上index.php
AccessFileName .htaccess --网页加密
ErrorLog logs/error_log --错误日志
LogLevel warn --日志等级
--下面为日志的格式
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
#这就是大概的基本属性,具体如何使用看我们接下来的实战!