LAMP架构应用实战—Apache服务介绍与安装01
一:Apache是什么
Apache是Apache基金会开发的一个高性能、功能强大、安全可靠、灵活的开放源码的WEB服务软件
二:Apache的特点与应用场景
1、特点
功能强大、配置简单、速度快、应用广泛、性能稳定可靠,同时还可以做代理服务器或负载均衡
2、应用场景
ü 运行静态页面、图片(据说处理静态小文件能力不如nginx)
ü 结合PHP引擎运行PHP等程序,LAMP组合
ü 结合tomcat、resin运行jsp、java等程序
ü 作代理、负载均衡,rewrite规则过滤等
三:Apache的安装
一般系统默认自带安装的Apache版本相对较低,安装之前先查看下是否自带Apache服务
1、检查系统是否安装Apache服务
代码语言:javascript复制[root@Centos~]# rpm -qa httpd*
httpd-2.2.15-54.el6.centos.x86_64
httpd-tools-2.2.15-54.el6.centos.x86_64
2、如果没有自带Apache服务软件,可以不需要进行下面的卸载
代码语言:javascript复制[root@Centos~]# rpm -e --nodeps httpd-2.2.15-54.el6.centos.x86_64
warning:/etc/httpd/conf/httpd.conf saved as /etc/httpd/conf/httpd.conf.rpmsave
[root@Centos~]# rpm -e --nodeps httpd-tools-2.2.15-54.el6.centos.x86_64
3、卸载完成后检查下卸载是否成功
代码语言:javascript复制[root@Centos ~]# rpm -qa|grep httpd
4、创建用于存放下载的软件工具目录
代码语言:javascript复制[root@Centos ~]# mkdir -p /Downloads/tools
[root@Centos ~]# cd /Downloads/tools
[root@Centos tools]# ls
5、进入官方网站下载apache软件到当前目录
代码语言:javascript复制[root@Centos tools]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/httpd/httpd-2.4.23.tar.gz
--2016-09-11 23:44:41-- https://mirrors.tuna.tsinghua.edu.cn/apache/httpd/httpd-2.4.23.tar.gz
Resolving mirrors.tuna.tsinghua.edu.cn... 166.111.206.63, 2402:f000:1:416:166:111:206:63
Connecting to mirrors.tuna.tsinghua.edu.cn|166.111.206.63|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 8406575 (8.0M) [application/octet-stream]
Saving to: “httpd-2.4.23.tar.gz”
100%[=============================>] 8,406,575 1.19M/s in 6.9s
2016-09-11 23:44:49 (1.17 MB/s) - “httpd-2.4.23.tar.gz” saved [8406575/8406575]
6、查看下载的文件并解压
代码语言:javascript复制[root@Centos tools]# ls
httpd-2.4.23.tar.gz
代码语言:javascript复制[root@Centos tools]# tar zxvf httpd-2.4.23.tar.gz
.................................................................................................具体解压过程此处省略
切换到软件目录下,查看具体内容
代码语言:javascript复制[root@Centos tools]# cd httpd-2.4.23
[root@Centos httpd-2.4.23]# ls -ll
total 2000
-rw-r--r--.1 yumw games 13496 Apr 16 2015 ABOUT_APACHE
-rw-r--r--.1 yumw games 24689 Jun 30 01:30 acinclude.m4
-rw-r--r--.1 yumw games 65340 Jun 14 23:15 Apache-apr2.dsw
-rw-r--r--.1 yumw games 79911 Jun 14 23:15 Apache.dsw
-rw-r--r--.1 yumw games 9907 Dec 18 2009 apache_probes.d
-rw-r--r--.1 yumw games 2512 Dec 22 2008 ap.d
drwxr-xr-x.6 yumw games 4096 Sep 12 00:01 build
-rw-r--r--.1 yumw games 2644 Aug 24 2007 BuildAll.dsp
-rw-r--r--.1 yumw games 2748 Sep 28 2015 BuildBin.dsp
-rwxr-xr-x. 1 yumw games 6800 Sep 19 2012 buildconf
-rw-r--r--.1 yumw games 214576 Jun 30 22:42 CHANGES
-rw-r--r--.1 yumw games 43781 Jun 14 16:51 CMakeLists.txt
-rw-r--r--.1 yumw games 12567 Apr 17 2012 config.layout
-rwxr-xr-x. 1 yumw games 1097227 Jul 1 01:15 configure
-rw-r--r--.1 yumw games 28491 Sep 6 2015 configure.in
drwxr-xr-x.9 yumw games 4096 Sep 12 00:01 docs
-rw-r--r--.1 yumw games 403 Nov 22 2004 emacs-style
-rw-r--r--.1 yumw games 2218 Mar 23 11:53 httpd.dep
-rw-r--r--.1 yumw games 4124 Jun 12 2008 httpd.dsp
-rw-r--r--.1 yumw games 8994 Mar 23 11:53 httpd.mak
-rw-r--r--.1 yumw games 17678 Jul 1 01:15 httpd.spec
drwxr-xr-x.2 yumw games 4096 Sep 12 00:01 include
-rw-r--r--.1 yumw games 3782 May 18 01:59 INSTALL
-rw-r--r--.1 yumw games 2909 Nov 15 2011 InstallBin.dsp
-rw-r--r--.1 yumw games 4097 Nov 16 2013 LAYOUT
-rw-r--r--.1 yumw games 79070 Mar 23 11:53 libhttpd.dep
-rw-r--r--.1 yumw games 20737 Oct 3 2013 libhttpd.dsp
-rw-r--r--.1 yumw games 37816 Mar 23 11:53 libhttpd.mak
-rw-r--r--.1 yumw games 25853 Oct 2 2013 LICENSE
-rw-r--r--.1 yumw games 10452 Mar 20 23:51 Makefile.in
-rw-r--r--.1 yumw games 49943 Jun 14 23:15 Makefile.win
drwxr-xr-x.27 yumw games 4096 Sep 12 00:01 modules
-rw-r--r--.1 yumw games 550 Jan 2 2016 NOTICE
-rw-r--r--.1 yumw games 13884 Mar 20 23:51 NWGNUmakefile
drwxr-xr-x.7 yumw games 4096 Sep 12 00:01 os
-rw-r--r--.1 yumw games 4642 Jan 24 2014 README
-rw-r--r--. 1 yumw games 13317 Mar 23 11:45 README.cmake
-rw-r--r--.1 yumw games 4418 Aug 28 2014 README.platforms
-rw-r--r--.1 yumw games 10184 Oct 31 2010 ROADMAP
drwxr-xr-x.3 yumw games 4096 Sep 12 00:01 server
drwxr-xr-x.2 yumw games 4096 Sep 12 00:01 srclib
drwxr-xr-x.4 yumw games 4096 Sep 12 00:01 support
drwxr-xr-x.2 yumw games 4096 Sep 12 00:01 test
-rw-r--r--.1 yumw games 8183 Mar 1 2007 VERSIONING
查看apache介绍
代码语言:javascript复制[root@Centos httpd-2.4.23]# cat README
Apache HTTP Server
What is it?
-----------
The Apache HTTP Server is a powerful and flexible HTTP/1.1 compliant
web server. Originally designed as a replacement for the NCSA HTTP
Server, it has grown to be the most popular web server on the
Internet. As a project of the Apache Software Foundation, the
developers aim to collaboratively develop and maintain a robust,
commercial-grade, standards-based server with freely available
source code.
The Latest Version
------------------ 后面的内容此处省略
介绍如何安装apache服务
代码语言:javascript复制[root@Centos httpd-2.4.23]# cat INSTALL
APACHE INSTALLATION OVERVIEW
Quick Start - Unix
------------------
For complete installation documentation, see [ht]docs/manual/install.html or
http://httpd.apache.org/docs/2.4/install.html
$ ./configure --prefix=PREFIX
$ make
$ make install
$ PREFIX/bin/apachectl start
更多内容可自行查看文档介绍
7、编译安装
代码语言:javascript复制[root@Centoshttpd-2.4.23]# ./configure
>--prefix=/application/apache2.4.23
>--enable-deflate
>--enable-expires
>--enable-headers
>--enable-modules=most
>--enable-so
>--with-mpm=worker
>--enable-rewrite
参数说明如下:
>--prefix=/application/apache2.4.23
表示指定安装路径为/application/apache2.4.23 ,如果不指定,默认为/usr/local/apache2
>--enable-deflate
提供对内容的压缩传输编码支持,提高传输速度,提升访问体验,生产环境中这是重要调优参数之一
> --enable-expires
激活允许通过配置文件控制 HTTP的“Expires:”和“Cache-Control:”头内容,即对网站的图片等内容,提供在客户端浏览器缓存的设置,也是生产环境重要调优参数之一
>--enable-headers
提供允许对HTTP请求头的控制
>--enable-modules=most
编译安装模块 most表示包含大部分模块到httpd
>--enable-so
激活apache服务的DSO(动态共享对象)支持,即可在以后以DSO的方式编译安装共享模块
>--with-mpm=worker
选择apache mpm的模式为worker模式,此模式原理是更多的使用线程来处理请求,可以处理更多并发请求,也是apache调优的一个重要参数
>--enable-rewrite
提供基于URL规则的重写功能,根据已知URL地址,转换其它要访问的URL地址
代码语言:javascript复制checkingfor chosen layout... Apache
checkingfor working mkdir -p... yes
checkingfor grep that handles long lines and -e... /bin/grep
checkingfor egrep... /bin/grep -E
checkingbuild system type... x86_64-unknown-linux-gnu
checkinghost system type... x86_64-unknown-linux-gnu
checkingtarget system type... x86_64-unknown-linux-gnu
configure:
configure:Configuring Apache Portable Runtime library...
configure:
checkingfor APR... no
configure: error: APR not found. Please read thedocumentation.
出现错误提示:configure: error: APR not found
解决方法如下
下载APR并进行安装
代码语言:javascript复制[root@Centos tools]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/apr/apr-1.5.2.tar.gz
--2016-09-12 00:56:22-- https://mirrors.tuna.tsinghua.edu.cn/apache/apr/apr-1.5.2.tar.gz
Resolving mirrors.tuna.tsinghua.edu.cn... 166.111.206.63, 2402:f000:1:416:166:111:206:63
Connecting to mirrors.tuna.tsinghua.edu.cn|166.111.206.63|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1031613 (1007K) [application/octet-stream]
Saving to: “apr-1.5.2.tar.gz”
100%[=========================================================>] 1,031,613 1.70M/s in 0.6s
2016-09-12 00:56:28 (1.70 MB/s) - “apr-1.5.2.tar.gz” saved [1031613/1031613]
[root@Centos tools]# ls
apr-1.5.2.tar.gz httpd-2.4.23 httpd-2.4.23.tar.gz
[root@Centos tools]# tar zxvf apr-1.5.2.tar.gz
[root@Centos apr-1.5.2]# ./configure
--prefix=/usr/local/apr
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
Configuring APR library
Platform: x86_64-unknown-linux-gnu
checking for working mkdir -p... yes
APR Version: 1.5.2
checking for chosen layout... apr
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in `/Downloads/tools/apr-1.5.2':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details
由于文章篇幅限制,后续内容下一下章继续介绍