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 -aLinux 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 httpdsystemctl enable httpdsystemctl 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 |