ApacheWeb服务器

一、Apache Web服务器入门简介Apache HTTP Server是一个多模块化的服务器,经过多次修改,成为目前世界使用排名第一的Web服务器软件。可以运行在几乎所有广泛使用的计算机平台上。Apache服务器的特点是使用简单,速度快,性能稳定,可以作为负载均衡及代理服务器来使用。1. Prefork MPM 工作原理Apache Web服务器又三种处理模块:Prefork MPM、Worker MPM、Event MPM。使用多个进程,每个进程只有一个线程,每个进程在某个确定的时间只能维持一个连接,优点是稳定,但内存开销较高。2. Worker MPM 工作原理使用多个进程,每个进程包含多个线程,每个线程在某个确定的时间只能维持一个连接,内存占用量比较小,适合大并发,高流量的Web服务器。Worker MPM缺点是一个线程崩溃,整个进程就会连同其任何线程一起挂掉。3.Apache Web服务器安装从Apache官方站点下载目前稳定版本httpd-2.2.24版本 http://archive.apache.org/dist/httpd/httpd-2.2.24.tar.bz2Apache Web服务器安装步骤详解  修改apache监听IP,启动Apache服务,关闭selinux,firewalld防火墙 查看apache服务进程,通过客户端浏览器访问http://192.168.0.126/  5.Apache虚拟主机企业应用企业真实环境中,一台Web服务器发布单个网站非常浪费资源,所以一台Web服务器上会发布多个网站,少则3~5个,多则2~30个网站。在一台服务器上发布多网站,也称之为部署多个虚拟主机,Web虚拟主机配置方法有以下三种基于单IP多个端口基于多IP地址一个端口基于单IP一个端口不同域名其中基于同一端口不同域名的方式在企业中得到广泛应用,以下为基于一个端口不同域名,在一台Apache Web服务器上部署多个网站。(1)创建虚拟主机配置文件httpd-vhosts.conf,该文件默认已存在,需去掉httpd.conf配置文件中的#号即可 (2)修改配置文件/usr/local/apache2/conf/extra/httpd-vhosts.conf中代码 http-vhosts.conf参数详解

NameVirtualHost *:80:开启虚拟主机,并且监听本地所有网卡接口的80端口

<VirtualHost *:80>:虚拟主机配置起始

ServerAdmin [email protected]:管理员邮箱

DocumentRoot “/usr/local/apache2/htdocs/linuxli1”:虚拟主机发布目录

ServerName www.linuxli1.com:虚拟主机完整域名

ErrorLog “logs/www.linuxli1.com-error_log”:错误日志路径及文件名

CustomLog “logs/www.linuxli1.com-access_log” common:访问日志路径及文件名

</VirtualHost>:虚拟主机配置结束

(3)创建www.linuxli1.com及

[url=]www.linuxli2.com[/url]发布目录,重启Apache服务,并分别创建index.html页面 (4) windows 客户端设置hosts映射,将www.linuxli1.com、www.linuxli2.com与192.168.0.126IP进行映射绑定,绑定方法是在“C:\Windows\System32\drivers\etc”文件夹中,使用记事本编辑hosts文件,加入以下代码 (5)浏览器访问www.linuxli1.com、www.linuxli2.com  至此Apache基于多域名虚拟主机配置完毕,如果还需添加虚拟主机,直接复制其中一个虚拟主机配置、修改Web发布目录即可6.Apache常用目录学习apache可以基于源码安装,YUM安装,不同的安装方法,所属的路径不同,以下为Apache常用路径的功能用途

/usr/lib64/httpd/modules:Apache模块存放位置

/var/www/html/:YUM安装Apache网站发布目录

/var/www/error/:服务器设置错误信息,浏览器显示

/var/www/icons/:Apache小图标文件存放目录

/var/www/cgi-bin/:可执行的CGI程序存放目录

/var/log/httpd/:Apache日志目录

/usr/sbin/apachectl:Apache启动脚本

/usr/sbin/httpd:Apache二进制执行文件

/usr/bin/htpasswd:设置Apache目录密码访问

/usr/local/apache2/bin/:Apahce命令目录

/usr/local/apahce2/build/:Apahce构建编译目录

/usr/local/apache2/htdocs/:源码安装Apache网站发布目录

/usr/local/apache2/cgi-bin/:可执行的CGI程序存放目录

/usr/local/apache2/include:Apahce 引用配置文件目录

/usr/local/apache2/logs/:Apache日志目录

/usr/local/apache2/man:Apacheb帮助文档目录

/usr/local/apache2/manual:Apache手册

/usr/local/apache2/modules:Apache模块路径 

7、Apache配置文件详解Apache的配置文件是/usr/local/apache2/conf/httpd.conf

ServerTokens OS:显示服务器的版本和操作系统内核版本

ServerRoot “/usr/local/apache2/”:Apache主配置目录

PidFile run /http.pid : PidFile进程文件

Timeout 60:不论接收或发送,当持续连接等待超过 60秒则该次连接就中断

KeepAlive Off:关闭持续性的连接

MaxKeepAliveRequests 100:当KeepAlive设置为On的时候,该数值可以决定此次连接能够传输的最大传输数量

KeepAliveTimeout 65:当KeepAlive设置为On的时候,该连接在最后一次传输后等待延迟的秒数

< IfModule prefork.c > : PreforkMPM引擎配置段

StartServer 8:默认启动Apache工作进程数

MinSpareServers 5:最小空闲进程数

MaxSpareServers 20:最大空闲进程数

ServerLimit 4096:Apache服务器最多进程数

MaxClients 4096:每秒支持的最大客户端并发

MaxRequestsPerChild 4000:每个进程能处理的最大请求数

</IfModule>:定义模块,模块标签

< IfModule worker.c > :Worker MPM引擎配置段.

StartServer 8:默认启动Apache工作进程数

MaxClients 4000:每秒支持的最大客户端并发

MinSpareThreads 25:最小空闲线程数

MaxSpareThreads 75:最大空闲线程数

ThreadsPerChild 75:每个进程启动的线程数

MaxRequestsPerChild 0:每个进程能处理的最大请求数,0表示无限制。

</IfModule>:定义模块,模块标签

LoadModule mod_version.so:静态加载Apache相关模块

ServerAdmin [email protected]:管理员邮箱,网站异常,错误信息会发送至该邮箱

DocumentRoot “/usr/local/apache2//htdocs”Apache网站默认发布目录

<Directory “/data/webapps/www1”>:设置/data/webapps/www1目录权限

AllowOverride All:加载发布目录中的.htaccess文件

Options-Indexes FollowSymLinks:禁止发布目录以目录方式被浏览

Order allow,deny:访问顺序,先检查允许设置,没有允许的设置则全部拒绝

Allow from all:允许所有客户端访问

</Directory>:定义目录,目录标签

AllowOverride:设置为None时,目录中.htaccess文件被完全忽略,当指令设置为All时,.htaccess文件生效

Options-Indexes FollowSymLinks:禁止浏览目录,去掉“-”,表示浏览目录,常用于下载站点

Order allow,deny:默认情况下禁止所有客户机访问

Order deny,allow:默认情况下允许所有客户机访问

Allow from all:允许所有客户机访问

你可能喜欢

Apache日志实时分析工具:ARTLAS

apache多路径虚拟主机

Apache Struts2 S2-057漏洞