1.1 apache简介
apache当前全世界排名点击这里
1.1.1 当前互联网主流web服务说明
静态服务
apache —>中小型静态web服务的主流,web服务器中的老大哥
nginx —>大型新兴网站静态web服务主流,web服务器中的出生牛犊
lighttpd —>静态web服务不温不火,逐渐被淘汰的意味,社区不活跃,静态效率很高
动态服务
IIS —>微软的web服务器(asp,aspx)
tomcat —>中小型企业动态web服务主流,互联网java容器主流(jsp,do)
resin —>大型动态web服务器主流,互联网java容器主流(jsp,do)
php(fcgi) —>大中小网站,php程序的解析容器
配合apache,php不是守护进程,而是mod_php5.so(module)
配合nginx,lighttpd,php守护进程模式,FCGI模式
1.1.2 apache介绍
- Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,是目前世界上使用最广泛的一种web server,它以跨平台,高效和稳定而闻名,可以运行在几乎所有广泛使用的计算机平台上。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。
- Apache是用C语言开发的基于模块化设计的web应用,总体上看起来代码的可读性高于php代码,它的核心代码并不多,大多数的功能都被分割到各种模块中,各个模块在系统启动时按需载入。
- 支持SSL技术,支持多个虚拟主机。Apache是以进程的Prefork模式(还有基于线程的Worker模式)为基础的结构,进程要比线程消耗更多的系统开支,不太适合于多处理器环境,因此,在一个Apache Web站点扩容时,通常是增加服务器或扩充群集节点而不是增加处理器
1.1.3 apahce的特点及应用场合
1.1.3.1 apahce的特点
- 功能强大,
- 配置简单,
- 速度快,
- 应用广泛,
- 性能稳定可靠,
- 并可做代理服务器或负载均衡来使用
1.1.3.2 apache的应用场合
- 使用apache运行静态html网页,图片(处理静态小文件能力不及nginx)
- 使用apache结合php引擎运行php,perl等程序,LAMP被称为经典组合
- 使用apache结合tomcat/redis运行jsp,java等程序,成为中小企业的首选
- 使用apache做代理,负载均衡,rewrite规则过滤等待
环境:
系统环境: | CentOS Linux release 7.7.1908 |
---|---|
apahce版本 | httpd-2.2.9.tar.gz |
部署安装
1.查看
rpm -qa | grep httpd
#如果有卸载
rpm -e httpd --nodeps
2.安装依赖包
yum -y install gcc gcc-c++ apr apr-util pcre-devel
3.源码安装
1.解压
tar zxf httpd-2.2.9.tar.gz
2.进入解压后的文件
cd httpd-2.2.9/
3.配置
根据服务器的实际需要,可以灵活设置不同的定制选项,如指定路径等
./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-cgi --enable-charset-lite
选项 | 作用 |
---|---|
–prefix | 指定将httpd服务程序安装到哪个目录中 |
–enable-so | 启用动态加载模块支持。使httpd具有进一步扩展的功能 |
–enable-rewrite: | 启用网页地址重写功能,用于网站优化以及目录迁移维护。 |
–enable-charsset-lite: | 启用字符集支持。以便支持使用各种字符集编码的网页。 |
–enable-cgi: | 启用cgi脚本程序支持,便于扩展网站的应用访问能力。 |
4.编译
make
5.编译安装
make install
6.确认安装结果
ls /usr/local/httpd/
bin build cgi-bin conf error htdocs icons include lib logs man manual modules
目录 | 解释 |
---|---|
bin: | 存放httpd服务的各种执行文件,如服务控制工具apachectl等; |
conf: | 存放httpd服务的各种配置文件,如主配置文件httpd.conf; |
htdocs: | 存放网页文档,如首页index.html; |
logs: | 存放httpd服务的日志文件; |
modules: | 存放httpd服务的各种模块文件。 |
7.优化执行路径
ln -s /usr/local/httpd/bin/* /usr/local/bin/
8.查看httpd的安装版本信息
httpd -v
9.添加httpd系统服务
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
vim /etc/init.d/httpd
#!/bin/sh
#添加两行
#chkconfig: 35 85 21
#description:apache is good
#chkconfig: 35 85 21 //服务识别参数,在级别3,5中启动;启动和关闭优先级分别为85和21。
10.添加为开机启动
systemctl enable httpd
11.启动apache
systemctl start httpd
12.查看是否成功启动
netstat -ntlp | grep 80