apache网站服务基础
apache服务器可以运行在linux,unix,windows等多种操作系统平台上。意思基于原有web服务程序的代码进行修改后形成的服务器程序。apache服务器在功能,性能和安全性等方面的表现都是比较突出的,主要有开放源代码,跨平台应用,支持各种web编程语音,模块化设计,运行稳定,良好的安全性。
新版本的httpd-2.4新增特性:
新增模块:
mod_proxy_fcgi 提供fcgi代理
mod_ratelimit 限制用户带宽
mod_request 请求做过滤
mod_remoteip 匹配客户端的ip地址
基于ip的访问控制做了修改,不再支持allow,dengy,order机制,统一使用require进行
新增几条特性
mpm支持运行是装载;前提是需要开启这种特性,也就是编译安装要启用--enable-mpms-shared=all --with-mpm=event
支持event
支持异步读写
在每个模块及每个目录上指定日志级别
增强版的表达式分析器
毫秒级别的keeaplive timeout
基于FQDN的虚拟主机不再需要name virtualhost指令
支持使用自定义变量
安装环境:操作系统:centos7.2,关闭selinux。httpd包如果安全需卸载
下载源码包httpd-2.4.23.tar.gz,apr-1.5.2.tar.gz,apr-util-1.5.4.tar.gz,zlib-1.2.8.tar.gz,pcre-8.39.tar.gz注:apr apache可移植运行库,是一个对操作系统调用的抽象库,用来实现apache内部组件对操作系统的使用,提高系统的可移植性。
#tar zxf apr-1.5.2.tar.gz
#cd apr-1.5.2/
#./configure --prefix=/usr/local/apr
#make && make install
#tar zxf apr-util-1.5.4.tar.gz
#cd apr-util-1.5.4/
#./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
#make && make install
#tar zxf lib-1.2.8.tar.gz
#cd zlib-1.2.8/
#./configure --prefix=/usr/local/zlib
#make && make install
#tar zxf pcre-8.39.tar.gz
#cd pcre-8.39/
#./configure --prefix=/usr/local/pcre
#make && make install
下载openssl,centos7自带版本openssl-1.0.1e
#wget https://www.openssl.org/source/openssl-1.0.1u.tar.gz
#tar zxf openssl-1.0.1u.tar.gz
#cd openssl-1.0.1u
#./config -fPIC --prefix=/usr/local/openssl enable-shared
#make && make instal
#mv /usr/bin/openssl/usr/bin/openssl.1.0.1e
#ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
接下来正式安装apache2.4.23
#tar zxf httpd-2.4.23.tar.gz
#cd httpd-2.4.23
#./configure --prefix=/usr/local/http-2.4.23 --enable-so --enable-cgi --enable-cgid --enable-ssl --with-ssl=/usr/local/openssl --enable-rewrite --with-pcre=/usr/local/pcre --with-z=/usr/local/zlib --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most --enable-mods-shared=most --enable-mpms-shared=all --with-mpm=event-enable-proxy --enable-proxy-fcgi --enable-expires --enable-deflate
相关参数:
--enable-so:支持动态共享模块(即打开DSO支持)
--enable-rewrite:支持url重写
--enable-sll:支持ssl
--with-ssl=/usr/local/openssl:指定ssl安装位置
--enable-cgi:启用cgi
--enable-cgid:MPM使用的是event或worker要启用cgid
--enable-modules=most:明确指明要静态编译到httpd二进制文件的模块,<MODULE-LIST>为空格分隔的模块名列表,all或者most,all表示包含所有模块,most表示包含大部分常用模块
--enable-mpms-shared=all:明确指明要以DSO方式编译的模块,<MODULE-LIST>为空格分隔的模块名列表,all表或者most,al表示包含所有模块,most表示包含大部分模块。
--enable-mpms-shared=all:启用MPM所支持的模式,这样event,worker,prefork就会以模块化的方式安装。
--with-mpm=event:指定启用的mpm模式,默认使用enent莫斯和,早期版本2.0默认prefork2.2版本是worker,2.4版本是event。
--with-pcre=/usr/local/pcre:支持pcre
--with-z=/usr/local/zlib:使用zlib压缩库
--with-apr=/usr/local/apr:指定apr的安装路径
--with-apr-util=/usr/local/apr-util:指定apr-util的安装路径
--enable-expires:激活或通过配置文件控制http的“expires:”和“Cache-Control:”头内容,即对网站图片,js,css等内容,提供客户端浏览器缓存的设置。
--enable-deflate:提供对内容的压缩传输编译码支持,一般是html,js,css等内容的站点。