实现http协议的程序有很多,比较有名的有:IIS目前市面上使用最多的,nginx使用的人数正在快速正加,apache古老的。apache虽然正在被…但是我们也要学习一下,它的市场份额还是有一些的,而且它的实现方式更加经典。
以上只是在http协议上实现静态数据传输,还有动态数据部分,动态数据就是可以变化的数据,这个变化就是根据浏览者的不同网页显示不同的数据。动态网页的实现语言有:php实现它的服务也叫php;asp.net实现它的是IIS,IIS不仅是静态服务器也是动态服务器;javascript实现它的就有很多了最著名的是tomcat,它也可以提供静态页面。
一http的静态数据实现apache
1工作流程
上图就是一个Apache处理一次请求的流程
2配置文件分布
Apache2.4的配置文件被分散多个文件里,主配置文件在/etc/httpd/conf目录下,模块的配置文件在/etc/httpd/conf.modules.d目录中,其它配置文件在/etc/httpd/conf.d目录下。
3主配置文件
主配置文件中一些重要的基本配置,Apache的特性设置我分开说
ServerRoot "/etc/httpd" #日志的存放目录
Listen 80 #监听的端口
User apache #用户
Group apache #组
ErrorLog "logs/error_log" #错误日志日志
LogLevel warn #错误日志级别,其它的级别debug, info, notice, warn, error, crit,alert, emerg.
这两之间定义的是访问日志的个格式和级别
以下四行是错误从定性的定义,定义是根据响应状态码定义的,当然我们还可以根据状态码定义更多
#ErrorDocument 500 "The server made aboo boo."
#ErrorDocument 404 /missing.html
#ErrorDocument 404"/cgi-bin/missing_handler.pl"
#ErrorDocument 402http://www.example.com/subscription_info.html EnableSendfile on #这个内容特别重要启用这个功能后,处理静态数据的流程变成下图,可以和之前的图片对比一下,这样可以减少数据拷贝次数。出现这种情况主要是因为,静态数据不需要加工,在磁盘读取后的内容就是我们想返回给用户的内容。
4提供内容的路径和路径特性定义
DocumentRoot "/var/www/html" #默认提供网页页面的路径
Options IndexesFollowSymLinks # Indexes显示目录下的文件;FollowSymLinks 显示链接文件的原文件内容;SymLinksifOwnerMatch 当链接文件和原文件为相同属主时显示文件内容,ExecCGI允许运行脚本
#AllowOverride controls what directives may be placed in files.
#It can be "", "None", or any combination of the keywords:
AllowOverride None #不允许路径重写,All允许重写,重写方法可以写在这当前文件中写也可以写在目标重写目录的.htaccess文件中
Require all granted #允许任何人访问,也可以定义使用哪些用户登录,基本上没有人使用。
5持久连接
KeepAlive On
KeepAliveTimeout 30ms
MaxKeepAliveRequests 206模式
StartServers 8 #服务启动时启动的子进程数
MinSpareServers 5 #最少空闲子进程数
MaxSpareServers 20
ServerLimit 256 #同时启动的子进程数上限
MaxClients 256 #同时服务的客户端数上限(支持的并发数上限)
MaxRequestsPerChild 4000 #每个子进程在其生命周期内处理的请求数上限
StartServers 4 #服务启动时启动的子进程数
MaxClients 300
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25 #每个子进程可启动的线程数
MaxRequestsPerChild 0 #每个子进程可处理的请求数,0表示无限制
7压缩
这个内容定义在
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com