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规则过滤等待
1.2 安装apache
1.2.1 系统环境
[root@apache ~]# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
[root@apache ~]# uname -a
Linux apache 3.10.0-693.2.2.el7.x86_64 #1 SMP Tue Sep 12 22:26:13 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
[root@apache ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)
[root@apache ~]# getenforce
Disabled
[root@apache ~]# rpm -qa|grep httpd #检查是否安装apache
1.2.2 安装apache
1.2.2.1 yum安装
yum install httpd
systemctl enable httpd
systemctl start httpd
1.2.2.2 编译安装
安装依赖
[root@apache ~]# yum -y install gcc gcc-c++ apr-devel apr-util-devel pcre pcre-devel openssl openssl-devel zlib-devel
[root@apache ~]# mkdir /server/tools -p
[root@apache ~]# cd /server/tools
[root@apache tools]# wget http://archive.apache.org/dist/httpd/httpd-2.4.6.tar.gz
[root@apache tools]# tar xf httpd-2.4.6.tar.gz
[root@apache tools]# cd httpd-2.4.6/
[root@apache httpd-2.4.6]#
./configure
--prefix=/application/apache2.4.6 #安装目录
--enable-deflate #压缩
--enable-expires #浏览器缓存
--enable-headers #http头部
--enable-modules=most #激活大多数模块
--enable-so
--with-mpm=worker #进程模式,并发大一点
--enable-rewrite #伪静态
[root@apache httpd-2.4.6]# make
[root@apache httpd-2.4.6]# make install
[root@apache httpd-2.4.6]# echo $?
0 返回值为0说明成功
[root@apache httpd-2.4.6]# ln -s /application/apache2.4.6/ /application/apache #创建软连接
[root@apache httpd-2.4.6]# /application/apache/bin/apachectl start #启动apache
[root@apache httpd-2.4.6]# netstat -lntup|grep 80 #查看端口是否启动
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 8930/httpd
浏览器访问ip地址就行:
能够看到It works!说明安装完成!恭喜你,赶紧使用apache吧
1.3 apache目录结构
命令 | 作用 |
---|---|
apache | 服务安装成功后,主要的目录结构如下 |
bin | 程序命令目录[apache执行文件的目录如apachectl,htpassed |
build | |
cgi-bin | 预设给一些CGI网页程序存放的目录 |
conf | 配置文件目录 |
error | 默认错误应答目录 |
htdocs | 编译安装时站点目录,web根目录 |
icons | 提供apache预设给予的图标 |
include | |
lib | |
logs | 默认日志文件 |
man | 帮助手册所在目录 |
manua | |
modules | 动态加载模块目录。例如phpmemcache编译后的模块在这里面 |
左对齐 | 居中 | 右对齐 |
---|---|---|
col 3 is | some wordy text | $1600 |
col 2 is | centered | $12 |
zebra stripes | are neat | $1 |